metanorma-bipm 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -2211,6 +2211,9 @@
2211
2211
  <title-continued lang="en">(continued)</title-continued>
2212
2212
  <title-continued lang="fr">(continué)</title-continued>
2213
2213
 
2214
+ </xsl:variable><xsl:variable name="bibdata">
2215
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
2216
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
2214
2217
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
2215
2218
  <xsl:param name="name"/>
2216
2219
  <xsl:param name="lang"/>
@@ -2242,11 +2245,13 @@
2242
2245
 
2243
2246
  </xsl:attribute-set><xsl:attribute-set name="link-style">
2244
2247
 
2248
+
2245
2249
  <xsl:attribute name="color">blue</xsl:attribute>
2246
2250
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
2247
2251
 
2248
2252
 
2249
2253
 
2254
+
2250
2255
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2251
2256
  <xsl:attribute name="white-space">pre</xsl:attribute>
2252
2257
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -2313,6 +2318,7 @@
2313
2318
 
2314
2319
 
2315
2320
 
2321
+
2316
2322
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
2317
2323
 
2318
2324
 
@@ -2332,9 +2338,7 @@
2332
2338
 
2333
2339
 
2334
2340
 
2335
-
2336
-
2337
-
2341
+
2338
2342
 
2339
2343
 
2340
2344
 
@@ -2367,6 +2371,7 @@
2367
2371
 
2368
2372
  </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2369
2373
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
2374
+
2370
2375
 
2371
2376
 
2372
2377
 
@@ -2385,6 +2390,7 @@
2385
2390
 
2386
2391
 
2387
2392
 
2393
+
2388
2394
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2389
2395
 
2390
2396
  <xsl:attribute name="font-size">12pt</xsl:attribute>
@@ -2405,19 +2411,23 @@
2405
2411
  </xsl:attribute-set><xsl:attribute-set name="xref-style">
2406
2412
 
2407
2413
 
2414
+
2408
2415
  <xsl:attribute name="color">blue</xsl:attribute>
2409
2416
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
2410
2417
 
2411
2418
 
2419
+
2412
2420
  </xsl:attribute-set><xsl:attribute-set name="eref-style">
2413
2421
 
2414
2422
 
2415
2423
 
2416
2424
 
2425
+
2417
2426
  </xsl:attribute-set><xsl:attribute-set name="note-style">
2418
2427
 
2419
2428
 
2420
2429
 
2430
+
2421
2431
 
2422
2432
 
2423
2433
 
@@ -2441,6 +2451,7 @@
2441
2451
 
2442
2452
 
2443
2453
 
2454
+
2444
2455
  <xsl:attribute name="padding-right">6mm</xsl:attribute>
2445
2456
 
2446
2457
 
@@ -2470,6 +2481,7 @@
2470
2481
 
2471
2482
 
2472
2483
 
2484
+
2473
2485
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2474
2486
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
2475
2487
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
@@ -2478,6 +2490,7 @@
2478
2490
 
2479
2491
 
2480
2492
  </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2493
+
2481
2494
 
2482
2495
 
2483
2496
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
@@ -2506,18 +2519,22 @@
2506
2519
 
2507
2520
 
2508
2521
 
2522
+
2509
2523
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2510
2524
 
2525
+
2511
2526
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
2512
2527
 
2513
2528
 
2514
2529
 
2530
+
2515
2531
  </xsl:attribute-set><xsl:attribute-set name="term-style">
2516
2532
 
2517
2533
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2518
2534
 
2519
2535
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2520
2536
 
2537
+
2521
2538
 
2522
2539
 
2523
2540
 
@@ -2550,10 +2567,12 @@
2550
2567
 
2551
2568
 
2552
2569
 
2570
+
2553
2571
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2554
2572
 
2555
2573
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2556
2574
 
2575
+
2557
2576
  <xsl:attribute name="width">100%</xsl:attribute>
2558
2577
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
2559
2578
  <xsl:attribute name="scaling">uniform</xsl:attribute>
@@ -2582,13 +2601,16 @@
2582
2601
 
2583
2602
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2584
2603
 
2604
+
2585
2605
  </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2586
2606
 
2607
+
2587
2608
  </xsl:attribute-set><xsl:attribute-set name="definition-style">
2588
2609
 
2589
2610
 
2590
2611
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2591
2612
 
2613
+
2592
2614
  </xsl:attribute-set><xsl:variable name="color-added-text">
2593
2615
  <xsl:text>rgb(0, 255, 0)</xsl:text>
2594
2616
  </xsl:variable><xsl:attribute-set name="add-style">
@@ -2722,6 +2744,7 @@
2722
2744
 
2723
2745
  <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2724
2746
 
2747
+
2725
2748
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2726
2749
 
2727
2750
 
@@ -2733,6 +2756,7 @@
2733
2756
 
2734
2757
 
2735
2758
 
2759
+
2736
2760
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
2737
2761
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
2738
2762
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -2742,6 +2766,7 @@
2742
2766
 
2743
2767
 
2744
2768
 
2769
+
2745
2770
  <xsl:variable name="table_width">
2746
2771
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2747
2772
  100%
@@ -2755,6 +2780,7 @@
2755
2780
  <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2756
2781
  <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2757
2782
 
2783
+
2758
2784
  <attribute name="border">1.5pt solid black</attribute>
2759
2785
  <xsl:if test="*[local-name()='thead']">
2760
2786
  <attribute name="border-top">1pt solid black</attribute>
@@ -2909,13 +2935,26 @@
2909
2935
  </xsl:choose>
2910
2936
 
2911
2937
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2938
+ <xsl:param name="continued"/>
2912
2939
  <xsl:if test="normalize-space() != ''">
2913
2940
  <fo:block xsl:use-attribute-sets="table-name-style">
2914
2941
 
2915
2942
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2916
2943
 
2917
2944
 
2918
- <xsl:apply-templates/>
2945
+ <xsl:choose>
2946
+ <xsl:when test="$continued = 'true'">
2947
+ <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
2948
+
2949
+ <xsl:apply-templates/>
2950
+
2951
+ </xsl:when>
2952
+ <xsl:otherwise>
2953
+ <xsl:apply-templates/>
2954
+ </xsl:otherwise>
2955
+ </xsl:choose>
2956
+
2957
+
2919
2958
  </fo:block>
2920
2959
  </xsl:if>
2921
2960
  </xsl:template><xsl:template name="calculate-columns-numbers">
@@ -3059,18 +3098,23 @@
3059
3098
  <xsl:apply-templates/>
3060
3099
  </fo:table-header>
3061
3100
  </xsl:template><xsl:template name="table-header-title">
3062
- <xsl:param name="cols-count"/>
3101
+ <xsl:param name="cols-count"/>
3063
3102
  <!-- row for title -->
3064
3103
  <fo:table-row>
3065
3104
  <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
3066
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
3105
+
3106
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
3107
+ <xsl:with-param name="continued">true</xsl:with-param>
3108
+ </xsl:apply-templates>
3067
3109
  <xsl:for-each select="ancestor::*[local-name()='table'][1]">
3068
3110
  <xsl:call-template name="fn_name_display"/>
3069
- </xsl:for-each>
3070
- <fo:block text-align="right" font-style="italic">
3071
- <xsl:text> </xsl:text>
3072
- <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
3073
- </fo:block>
3111
+ </xsl:for-each>
3112
+
3113
+ <fo:block text-align="right" font-style="italic">
3114
+ <xsl:text> </xsl:text>
3115
+ <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
3116
+ </fo:block>
3117
+
3074
3118
  </fo:table-cell>
3075
3119
  </fo:table-row>
3076
3120
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3291,19 +3335,25 @@
3291
3335
  <xsl:call-template name="getTitle">
3292
3336
  <xsl:with-param name="name" select="'title-continued'"/>
3293
3337
  </xsl:call-template>
3294
- </xsl:variable>
3338
+ </xsl:variable>
3339
+
3340
+ <xsl:variable name="title_start" select="ancestor::*[local-name()='table'][1]/*[local-name()='name']/node()[1][self::text()]"/>
3341
+ <xsl:variable name="table_number" select="substring-before($title_start, '—')"/>
3342
+
3295
3343
  <fo:table-row height="0" keep-with-next.within-page="always">
3296
3344
  <fo:table-cell>
3297
- <fo:marker marker-class-name="table_continued"/>
3345
+
3346
+
3347
+ <fo:marker marker-class-name="table_continued"/>
3348
+
3298
3349
  <fo:block/>
3299
3350
  </fo:table-cell>
3300
3351
  </fo:table-row>
3301
3352
  <fo:table-row height="0" keep-with-next.within-page="always">
3302
3353
  <fo:table-cell>
3303
- <fo:marker marker-class-name="table_continued">
3304
- <!-- <fo:inline font-style="italic" font-weight="normal"> -->
3305
- <xsl:value-of select="$title_continued"/>
3306
- <!-- </fo:inline> -->
3354
+
3355
+ <fo:marker marker-class-name="table_continued">
3356
+ <xsl:value-of select="$title_continued"/>
3307
3357
  </fo:marker>
3308
3358
  <fo:block/>
3309
3359
  </fo:table-cell>
@@ -3341,6 +3391,7 @@
3341
3391
 
3342
3392
 
3343
3393
 
3394
+
3344
3395
  </xsl:if>
3345
3396
  <xsl:if test="$parent-name = 'tfoot'">
3346
3397
 
@@ -3372,6 +3423,7 @@
3372
3423
  </xsl:choose>
3373
3424
  </xsl:attribute>
3374
3425
 
3426
+
3375
3427
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
3376
3428
 
3377
3429
 
@@ -3384,6 +3436,7 @@
3384
3436
 
3385
3437
 
3386
3438
 
3439
+
3387
3440
  <xsl:if test="$lang = 'ar'">
3388
3441
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3389
3442
  </xsl:if>
@@ -3776,6 +3829,7 @@
3776
3829
 
3777
3830
 
3778
3831
 
3832
+
3779
3833
  <xsl:variable name="title-key">
3780
3834
 
3781
3835
  <xsl:call-template name="getLocalizedString">
@@ -4064,6 +4118,8 @@
4064
4118
 
4065
4119
  <xsl:apply-templates/>
4066
4120
  </fo:inline>
4121
+ </xsl:template><xsl:template match="*[local-name()='padding']">
4122
+ <fo:inline padding-right="{@value}"> </fo:inline>
4067
4123
  </xsl:template><xsl:template match="*[local-name()='sup']">
4068
4124
  <fo:inline font-size="80%" vertical-align="super">
4069
4125
  <xsl:apply-templates/>
@@ -4081,6 +4137,7 @@
4081
4137
 
4082
4138
 
4083
4139
 
4140
+
4084
4141
  10
4085
4142
 
4086
4143
 
@@ -4470,11 +4527,15 @@
4470
4527
  </xsl:apply-templates>
4471
4528
  </xsl:template><xsl:template name="getLang">
4472
4529
  <xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
4530
+ <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
4473
4531
  <xsl:variable name="language">
4474
4532
  <xsl:choose>
4475
4533
  <xsl:when test="$language_current != ''">
4476
4534
  <xsl:value-of select="$language_current"/>
4477
4535
  </xsl:when>
4536
+ <xsl:when test="$language_current_2 != ''">
4537
+ <xsl:value-of select="$language_current_2"/>
4538
+ </xsl:when>
4478
4539
  <xsl:otherwise>
4479
4540
  <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
4480
4541
  </xsl:otherwise>
@@ -4551,6 +4612,16 @@
4551
4612
  <mathml:mspace width="0.5ex"/>
4552
4613
  </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">
4553
4614
  <xsl:variable name="target">
4615
+ <xsl:choose>
4616
+ <xsl:when test="@updatetype = 'true'">
4617
+ <xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
4618
+ </xsl:when>
4619
+ <xsl:otherwise>
4620
+ <xsl:value-of select="normalize-space(@target)"/>
4621
+ </xsl:otherwise>
4622
+ </xsl:choose>
4623
+ </xsl:variable>
4624
+ <xsl:variable name="target_text">
4554
4625
  <xsl:choose>
4555
4626
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
4556
4627
  <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
@@ -4563,19 +4634,19 @@
4563
4634
  <fo:inline xsl:use-attribute-sets="link-style">
4564
4635
 
4565
4636
  <xsl:choose>
4566
- <xsl:when test="$target = ''">
4637
+ <xsl:when test="$target_text = ''">
4567
4638
  <xsl:apply-templates/>
4568
4639
  </xsl:when>
4569
4640
  <xsl:otherwise>
4570
- <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
4641
+ <fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
4571
4642
  <xsl:choose>
4572
4643
  <xsl:when test="normalize-space(.) = ''">
4573
- <!-- <xsl:value-of select="$target"/> -->
4574
4644
  <xsl:call-template name="add-zero-spaces-link-java">
4575
- <xsl:with-param name="text" select="$target"/>
4645
+ <xsl:with-param name="text" select="$target_text"/>
4576
4646
  </xsl:call-template>
4577
4647
  </xsl:when>
4578
4648
  <xsl:otherwise>
4649
+ <!-- output text from <link>text</link> -->
4579
4650
  <xsl:apply-templates/>
4580
4651
  </xsl:otherwise>
4581
4652
  </xsl:choose>
@@ -4687,6 +4758,7 @@
4687
4758
 
4688
4759
 
4689
4760
  <fo:inline xsl:use-attribute-sets="note-name-style">
4761
+
4690
4762
  <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4691
4763
  </fo:inline>
4692
4764
  <xsl:apply-templates/>
@@ -4713,6 +4785,7 @@
4713
4785
  </xsl:template><xsl:template match="*[local-name() = 'termnote']">
4714
4786
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
4715
4787
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
4788
+
4716
4789
  <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4717
4790
  </fo:inline>
4718
4791
  <xsl:apply-templates/>
@@ -4792,7 +4865,10 @@
4792
4865
  <xsl:for-each select="*[local-name() = 'note']">
4793
4866
  <xsl:call-template name="note"/>
4794
4867
  </xsl:for-each>
4795
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4868
+
4869
+
4870
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4871
+
4796
4872
  </fo:block-container>
4797
4873
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4798
4874
  <fo:block id="{@id}">
@@ -4911,15 +4987,15 @@
4911
4987
  </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">
4912
4988
  <xsl:apply-templates mode="bookmarks"/>
4913
4989
  <xsl:text> </xsl:text>
4914
- </xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="contents" priority="2">
4990
+ </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
4915
4991
  <xsl:value-of select="."/>
4916
- </xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
4992
+ </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
4917
4993
  <xsl:value-of select="."/>
4918
4994
  </xsl:template><xsl:template match="node()" mode="contents">
4919
4995
  <xsl:apply-templates mode="contents"/>
4920
4996
  </xsl:template><xsl:template match="node()" mode="bookmarks">
4921
4997
  <xsl:apply-templates mode="bookmarks"/>
4922
- </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
4998
+ </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
4923
4999
  <xsl:apply-templates select="."/>
4924
5000
  </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4925
5001
  <xsl:apply-templates mode="bookmarks"/>
@@ -5118,6 +5194,8 @@
5118
5194
  </fo:list-item-body>
5119
5195
  </fo:list-item>
5120
5196
  </fo:list-block>
5197
+ </xsl:template><xsl:template name="extractSection">
5198
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5121
5199
  </xsl:template><xsl:template name="extractTitle">
5122
5200
  <xsl:choose>
5123
5201
  <xsl:when test="*[local-name() = 'tab']">
@@ -5144,6 +5222,7 @@
5144
5222
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5145
5223
 
5146
5224
  <fo:block-container margin-left="0mm">
5225
+ <xsl:copy-of select="@id"/>
5147
5226
  <xsl:if test="parent::*[local-name() = 'note']">
5148
5227
  <xsl:attribute name="margin-left">
5149
5228
  <xsl:choose>
@@ -5163,6 +5242,7 @@
5163
5242
 
5164
5243
 
5165
5244
 
5245
+
5166
5246
  9
5167
5247
 
5168
5248
 
@@ -5420,6 +5500,7 @@
5420
5500
  </xsl:template><xsl:template match="*[local-name() = 'example']">
5421
5501
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
5422
5502
 
5503
+
5423
5504
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5424
5505
 
5425
5506
  <xsl:variable name="element">
@@ -5492,7 +5573,7 @@
5492
5573
  </fo:inline>
5493
5574
  </xsl:otherwise>
5494
5575
  </xsl:choose>
5495
- </xsl:template><xsl:template match="*[local-name() = 'termsource']">
5576
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5496
5577
  <fo:block xsl:use-attribute-sets="termsource-style">
5497
5578
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5498
5579
  <xsl:variable name="termsource_text">
@@ -5501,13 +5582,15 @@
5501
5582
 
5502
5583
  <xsl:choose>
5503
5584
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
5504
- <xsl:apply-templates/>
5585
+ <!-- <xsl:apply-templates /> -->
5586
+ <xsl:copy-of select="$termsource_text"/>
5505
5587
  </xsl:when>
5506
5588
  <xsl:otherwise>
5507
5589
 
5508
5590
  <xsl:text>[</xsl:text>
5509
5591
 
5510
- <xsl:apply-templates/>
5592
+ <!-- <xsl:apply-templates /> -->
5593
+ <xsl:copy-of select="$termsource_text"/>
5511
5594
 
5512
5595
  <xsl:text>]</xsl:text>
5513
5596
 
@@ -5518,20 +5601,25 @@
5518
5601
  <xsl:if test="normalize-space() != ''">
5519
5602
  <xsl:value-of select="."/>
5520
5603
  </xsl:if>
5521
- </xsl:template><xsl:template match="*[local-name() = 'origin']">
5604
+ </xsl:template><xsl:variable name="localized.source">
5605
+ <xsl:call-template name="getLocalizedString">
5606
+ <xsl:with-param name="key">source</xsl:with-param>
5607
+ </xsl:call-template>
5608
+ </xsl:variable><xsl:template match="*[local-name() = 'origin']">
5522
5609
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5610
+ <xsl:if test="normalize-space(@citeas) = ''">
5611
+ <xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
5612
+ </xsl:if>
5523
5613
 
5524
5614
  <fo:inline>
5525
5615
 
5526
5616
 
5527
5617
 
5528
- <xsl:call-template name="getLocalizedString">
5529
- <xsl:with-param name="key">source</xsl:with-param>
5530
- </xsl:call-template>
5618
+ <xsl:value-of select="$localized.source"/>
5619
+ <xsl:text> </xsl:text>
5531
5620
 
5532
5621
 
5533
5622
 
5534
- <xsl:text>: </xsl:text>
5535
5623
  </fo:inline>
5536
5624
 
5537
5625
  <fo:inline xsl:use-attribute-sets="origin-style">
@@ -5647,6 +5735,7 @@
5647
5735
 
5648
5736
 
5649
5737
 
5738
+
5650
5739
  <xsl:choose>
5651
5740
  <xsl:when test="$depth = 2">3</xsl:when>
5652
5741
  <xsl:otherwise>4</xsl:otherwise>
@@ -5749,7 +5838,6 @@
5749
5838
 
5750
5839
 
5751
5840
 
5752
-
5753
5841
  <xsl:apply-templates/>
5754
5842
  </fo:block>
5755
5843
 
@@ -5796,7 +5884,7 @@
5796
5884
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
5797
5885
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5798
5886
  <xsl:choose>
5799
- <xsl:when test="parent::*[local-name() = 'note']">
5887
+ <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
5800
5888
  <fo:block-container>
5801
5889
  <xsl:attribute name="margin-left">
5802
5890
  <xsl:choose>
@@ -5806,6 +5894,7 @@
5806
5894
  </xsl:attribute>
5807
5895
 
5808
5896
 
5897
+
5809
5898
  <fo:block-container margin-left="0mm">
5810
5899
  <fo:block>
5811
5900
  <xsl:apply-templates select="." mode="ul_ol"/>
@@ -6007,6 +6096,10 @@
6007
6096
 
6008
6097
 
6009
6098
 
6099
+
6100
+
6101
+
6102
+
6010
6103
  </xsl:template><xsl:template name="processBibitemDocId">
6011
6104
  <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
6012
6105
  <xsl:choose>
@@ -6331,6 +6424,9 @@
6331
6424
  <xsl:when test="parent::*[local-name() = 'preface']">
6332
6425
  <xsl:value-of select="$level_total - 1"/>
6333
6426
  </xsl:when>
6427
+ <xsl:when test="ancestor::*[local-name() = 'preface'] and not(ancestor::*[local-name() = 'foreword']) and not(ancestor::*[local-name() = 'introduction'])"> <!-- for preface/clause -->
6428
+ <xsl:value-of select="$level_total - 1"/>
6429
+ </xsl:when>
6334
6430
  <xsl:when test="ancestor::*[local-name() = 'preface']">
6335
6431
  <xsl:value-of select="$level_total - 2"/>
6336
6432
  </xsl:when>
@@ -6395,6 +6491,7 @@
6395
6491
 
6396
6492
 
6397
6493
 
6494
+
6398
6495
 
6399
6496
 
6400
6497
 
@@ -6455,17 +6552,29 @@
6455
6552
  </xsl:call-template>
6456
6553
  </xsl:if>
6457
6554
  </xsl:template><xsl:template name="getLocalizedString">
6458
- <xsl:param name="key"/>
6555
+ <xsl:param name="key"/>
6459
6556
 
6460
6557
  <xsl:variable name="curr_lang">
6461
6558
  <xsl:call-template name="getLang"/>
6462
6559
  </xsl:variable>
6463
6560
 
6561
+ <xsl:variable name="data_value" select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
6562
+
6464
6563
  <xsl:choose>
6564
+ <xsl:when test="$data_value != ''">
6565
+ <xsl:value-of select="$data_value"/>
6566
+ </xsl:when>
6465
6567
  <xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
6466
6568
  <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
6467
6569
  </xsl:when>
6468
- <xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
6570
+ <xsl:otherwise>
6571
+ <xsl:variable name="key_">
6572
+ <xsl:call-template name="capitalize">
6573
+ <xsl:with-param name="str" select="translate($key, '_', ' ')"/>
6574
+ </xsl:call-template>
6575
+ </xsl:variable>
6576
+ <xsl:value-of select="$key_"/>
6577
+ </xsl:otherwise>
6469
6578
  </xsl:choose>
6470
6579
 
6471
6580
  </xsl:template><xsl:template name="setTrackChangesStyles">