metanorma-bipm 2.2.9 → 2.2.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -176,7 +176,7 @@
176
176
  <xsl:template name="generateContents">
177
177
  <contents>
178
178
 
179
- <xsl:apply-templates select="/*/bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][position() &gt; 1]" mode="contents"/>
179
+ <xsl:apply-templates select="/*/bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition' or (local-name() = 'clause' and @type = 'toc'))][position() &gt; 1]" mode="contents"/>
180
180
 
181
181
  <xsl:apply-templates select="/*/bipm:sections/*" mode="contents"/>
182
182
  <xsl:apply-templates select="/*/bipm:bibliography/bipm:references[@normative='true']" mode="contents"/>
@@ -535,10 +535,14 @@
535
535
  </xsl:copy>
536
536
  </xsl:template>
537
537
 
538
+ <xsl:template match="bipm:semantic__bipm-standard" mode="flatxml" priority="2"/>
539
+
538
540
  <xsl:template match="mathml:math" mode="flatxml" priority="2">
539
541
  <xsl:copy-of select="."/>
540
542
  </xsl:template>
541
543
 
544
+ <xsl:template match="bipm:preface/bipm:clause[@type = 'toc']" mode="flatxml" priority="2"/>
545
+
542
546
  <!-- enclosing starting elements annex/... in clause -->
543
547
  <xsl:template match="bipm:annex" mode="flatxml">
544
548
  <xsl:copy>
@@ -727,7 +731,7 @@
727
731
  <xsl:value-of select="concat($lang, '_footnote_', @reference, '_', $number, '_', $gen_id)"/>
728
732
  </xsl:template>
729
733
 
730
- <xsl:template match="bipm:preface/bipm:clause[position() &gt; 1]" mode="flatxml">
734
+ <xsl:template match="bipm:preface/bipm:clause[not(@type = 'toc')][position() &gt; 1]" mode="flatxml">
731
735
  <xsl:copy-of select="."/>
732
736
  </xsl:template>
733
737
 
@@ -4283,6 +4287,10 @@
4283
4287
 
4284
4288
  </xsl:attribute-set>
4285
4289
 
4290
+ <xsl:template name="refine_link-style">
4291
+
4292
+ </xsl:template> <!-- refine_link-style -->
4293
+
4286
4294
  <xsl:attribute-set name="sourcecode-container-style">
4287
4295
 
4288
4296
  </xsl:attribute-set>
@@ -4294,6 +4302,10 @@
4294
4302
 
4295
4303
  </xsl:attribute-set>
4296
4304
 
4305
+ <xsl:template name="refine_sourcecode-style">
4306
+
4307
+ </xsl:template> <!-- refine_sourcecode-style -->
4308
+
4297
4309
  <xsl:attribute-set name="pre-style">
4298
4310
  <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
4299
4311
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -4372,6 +4384,10 @@
4372
4384
 
4373
4385
  </xsl:attribute-set> <!-- example-style -->
4374
4386
 
4387
+ <xsl:template name="refine_example-style">
4388
+
4389
+ </xsl:template> <!-- refine_example-style -->
4390
+
4375
4391
  <xsl:attribute-set name="example-body-style">
4376
4392
 
4377
4393
  </xsl:attribute-set> <!-- example-body-style -->
@@ -4386,6 +4402,10 @@
4386
4402
 
4387
4403
  </xsl:attribute-set> <!-- example-p-style -->
4388
4404
 
4405
+ <xsl:template name="refine_example-p-style">
4406
+
4407
+ </xsl:template> <!-- refine_example-p-style -->
4408
+
4389
4409
  <xsl:attribute-set name="termexample-name-style">
4390
4410
 
4391
4411
  <xsl:attribute name="font-style">italic</xsl:attribute>
@@ -4414,12 +4434,38 @@
4414
4434
 
4415
4435
  </xsl:attribute-set> <!-- table-container-style -->
4416
4436
 
4437
+ <xsl:template name="refine_table-container-style">
4438
+ <xsl:param name="margin-side"/>
4439
+
4440
+ <xsl:if test="not(ancestor::*[local-name()='note_side'])">
4441
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
4442
+ </xsl:if>
4443
+ <xsl:if test="ancestor-or-self::*[@parent-type = 'quote']">
4444
+ <xsl:attribute name="font-family">Arial</xsl:attribute>
4445
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
4446
+ </xsl:if>
4447
+
4448
+ <!-- end table block-container attributes -->
4449
+ </xsl:template> <!-- refine_table-container-style -->
4450
+
4417
4451
  <xsl:attribute-set name="table-style">
4418
4452
  <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
4419
4453
  <xsl:attribute name="table-layout">fixed</xsl:attribute>
4420
4454
 
4421
4455
  </xsl:attribute-set><!-- table-style -->
4422
4456
 
4457
+ <xsl:template name="refine_table-style">
4458
+ <xsl:param name="margin-side"/>
4459
+
4460
+ <xsl:if test="not(ancestor::*[local-name()='preface']) and not(ancestor::*[local-name()='note_side']) and not(ancestor::*[local-name() = 'annex'] and .//*[local-name() = 'xref'][@pagenumber]) and not(ancestor::*[local-name() = 'doccontrol'])">
4461
+ <xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
4462
+ <xsl:attribute name="border-bottom">0.5pt solid black</xsl:attribute>
4463
+ </xsl:if>
4464
+
4465
+ <xsl:call-template name="setBordersTableArray"/>
4466
+
4467
+ </xsl:template> <!-- refine_table-style -->
4468
+
4423
4469
  <xsl:attribute-set name="table-name-style">
4424
4470
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
4425
4471
 
@@ -4432,6 +4478,11 @@
4432
4478
 
4433
4479
  </xsl:attribute-set> <!-- table-name-style -->
4434
4480
 
4481
+ <xsl:template name="refine_table-name-style">
4482
+ <xsl:param name="continued"/>
4483
+
4484
+ </xsl:template> <!-- refine_table-name-style -->
4485
+
4435
4486
  <xsl:attribute-set name="table-row-style">
4436
4487
  <xsl:attribute name="min-height">4mm</xsl:attribute>
4437
4488
 
@@ -4442,14 +4493,30 @@
4442
4493
 
4443
4494
  </xsl:attribute-set>
4444
4495
 
4496
+ <xsl:template name="refine_table-header-row-style">
4497
+
4498
+ <xsl:call-template name="setBordersTableArray"/>
4499
+
4500
+ </xsl:template> <!-- refine_table-header-row-style -->
4501
+
4445
4502
  <xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
4446
4503
 
4447
4504
  </xsl:attribute-set>
4448
4505
 
4506
+ <xsl:template name="refine_table-footer-row-style">
4507
+
4508
+ </xsl:template> <!-- refine_table-footer-row-style -->
4509
+
4449
4510
  <xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
4450
4511
 
4451
4512
  </xsl:attribute-set>
4452
4513
 
4514
+ <xsl:template name="refine_table-body-row-style">
4515
+
4516
+ <xsl:call-template name="setBordersTableArray"/>
4517
+
4518
+ </xsl:template> <!-- refine_table-body-row-style -->
4519
+
4453
4520
  <xsl:attribute-set name="table-header-cell-style">
4454
4521
  <xsl:attribute name="font-weight">bold</xsl:attribute>
4455
4522
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -4464,6 +4531,29 @@
4464
4531
 
4465
4532
  </xsl:attribute-set> <!-- table-header-cell-style -->
4466
4533
 
4534
+ <xsl:template name="refine_table-header-cell-style">
4535
+
4536
+ <xsl:if test="(ancestor::*[local-name() = 'annex'] and ancestor::*[local-name() = 'table']//*[local-name() = 'xref'][@pagenumber]) or ancestor::*[local-name() = 'doccontrol']"><!-- for Annex ToC -->
4537
+ <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
4538
+ <xsl:attribute name="border-bottom">solid black 0pt</xsl:attribute>
4539
+ </xsl:if>
4540
+ <xsl:if test="ancestor::*[local-name() = 'doccontrol']">
4541
+ <xsl:call-template name="setTextAlignment">
4542
+ <xsl:with-param name="default">left</xsl:with-param>
4543
+ </xsl:call-template>
4544
+ <xsl:attribute name="display-align">before</xsl:attribute>
4545
+ </xsl:if>
4546
+
4547
+ <xsl:call-template name="setBordersTableArray"/>
4548
+
4549
+ <xsl:if test="$lang = 'ar'">
4550
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
4551
+ </xsl:if>
4552
+
4553
+ <xsl:call-template name="setTableCellAttributes"/>
4554
+
4555
+ </xsl:template> <!-- refine_table-header-cell-style -->
4556
+
4467
4557
  <xsl:attribute-set name="table-cell-style">
4468
4558
  <xsl:attribute name="display-align">center</xsl:attribute>
4469
4559
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -4473,6 +4563,29 @@
4473
4563
 
4474
4564
  </xsl:attribute-set> <!-- table-cell-style -->
4475
4565
 
4566
+ <xsl:template name="refine_table-cell-style">
4567
+
4568
+ <xsl:if test="$lang = 'ar'">
4569
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
4570
+ </xsl:if>
4571
+
4572
+ <xsl:variable name="rownum"><xsl:number count="*[local-name()='tr']"/></xsl:variable>
4573
+ <xsl:if test="$rownum = 1">
4574
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
4575
+ </xsl:if>
4576
+ <xsl:if test="not(ancestor::*[local-name()='tr']/following-sibling::*[local-name()='tr'])"> <!-- last row -->
4577
+ <xsl:attribute name="padding-bottom">2mm</xsl:attribute>
4578
+ </xsl:if>
4579
+ <xsl:if test="ancestor::*[local-name() = 'doccontrol']">
4580
+ <xsl:attribute name="display-align">before</xsl:attribute>
4581
+ </xsl:if>
4582
+
4583
+ <!-- bsi -->
4584
+
4585
+ <xsl:call-template name="setBordersTableArray"/>
4586
+
4587
+ </xsl:template> <!-- refine_table-cell-style -->
4588
+
4476
4589
  <xsl:attribute-set name="table-footer-cell-style">
4477
4590
  <xsl:attribute name="border">solid black 1pt</xsl:attribute>
4478
4591
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -4483,6 +4596,10 @@
4483
4596
 
4484
4597
  </xsl:attribute-set> <!-- table-footer-cell-style -->
4485
4598
 
4599
+ <xsl:template name="refine_table-footer-cell-style">
4600
+
4601
+ </xsl:template> <!-- refine_table-footer-cell-style -->
4602
+
4486
4603
  <xsl:attribute-set name="table-note-style">
4487
4604
  <xsl:attribute name="font-size">10pt</xsl:attribute>
4488
4605
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -4492,6 +4609,15 @@
4492
4609
 
4493
4610
  </xsl:attribute-set><!-- table-note-style -->
4494
4611
 
4612
+ <xsl:template name="refine_table-note-style">
4613
+
4614
+ <xsl:if test="ancestor::bipm:preface">
4615
+ <xsl:attribute name="margin-top">18pt</xsl:attribute>
4616
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
4617
+ </xsl:if>
4618
+
4619
+ </xsl:template> <!-- refine_table-note-style -->
4620
+
4495
4621
  <xsl:attribute-set name="table-fn-style">
4496
4622
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
4497
4623
 
@@ -4553,6 +4679,10 @@
4553
4679
 
4554
4680
  </xsl:attribute-set>
4555
4681
 
4682
+ <xsl:template name="refine_dt-cell-style">
4683
+
4684
+ </xsl:template> <!-- refine_dt-cell-style -->
4685
+
4556
4686
  <xsl:attribute-set name="dt-block-style">
4557
4687
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
4558
4688
 
@@ -4560,6 +4690,10 @@
4560
4690
 
4561
4691
  </xsl:attribute-set>
4562
4692
 
4693
+ <xsl:template name="refine_dt-block-style">
4694
+
4695
+ </xsl:template> <!-- refine_dt-block-style -->
4696
+
4563
4697
  <xsl:attribute-set name="dl-name-style">
4564
4698
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
4565
4699
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -4573,6 +4707,10 @@
4573
4707
 
4574
4708
  </xsl:attribute-set>
4575
4709
 
4710
+ <xsl:template name="refine_dd-cell-style">
4711
+
4712
+ </xsl:template> <!-- refine_dd-cell-style -->
4713
+
4576
4714
  <!-- ========================== -->
4577
4715
  <!-- END Definition's list styles -->
4578
4716
  <!-- ========================== -->
@@ -4586,7 +4724,6 @@
4586
4724
  </xsl:attribute-set>
4587
4725
 
4588
4726
  <xsl:attribute-set name="xref-style">
4589
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4590
4727
 
4591
4728
  </xsl:attribute-set>
4592
4729
 
@@ -4594,6 +4731,12 @@
4594
4731
 
4595
4732
  </xsl:attribute-set>
4596
4733
 
4734
+ <xsl:template name="refine_eref-style">
4735
+ <xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
4736
+ <xsl:variable name="text" select="normalize-space()"/>
4737
+
4738
+ </xsl:template> <!-- refine_eref-style -->
4739
+
4597
4740
  <xsl:attribute-set name="note-style">
4598
4741
 
4599
4742
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -4601,6 +4744,15 @@
4601
4744
 
4602
4745
  </xsl:attribute-set>
4603
4746
 
4747
+ <xsl:template name="refine_note-style">
4748
+
4749
+ <xsl:if test="parent::*[local-name() = 'li']">
4750
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
4751
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
4752
+ </xsl:if>
4753
+
4754
+ </xsl:template>
4755
+
4604
4756
  <xsl:variable name="note-body-indent">10mm</xsl:variable>
4605
4757
  <xsl:variable name="note-body-indent-table">5mm</xsl:variable>
4606
4758
 
@@ -4608,6 +4760,10 @@
4608
4760
 
4609
4761
  </xsl:attribute-set>
4610
4762
 
4763
+ <xsl:template name="refine_note-name-style">
4764
+
4765
+ </xsl:template> <!-- refine_note-name-style -->
4766
+
4611
4767
  <xsl:attribute-set name="table-note-name-style">
4612
4768
  <xsl:attribute name="padding-right">2mm</xsl:attribute>
4613
4769
 
@@ -4615,6 +4771,14 @@
4615
4771
 
4616
4772
  </xsl:attribute-set>
4617
4773
 
4774
+ <xsl:template name="refine_table-note-name-style">
4775
+
4776
+ <xsl:if test="ancestor::bipm:preface">
4777
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
4778
+ </xsl:if>
4779
+
4780
+ </xsl:template> <!-- refine_table-note-name-style -->
4781
+
4618
4782
  <xsl:attribute-set name="note-p-style">
4619
4783
 
4620
4784
  <xsl:attribute name="text-align">justify</xsl:attribute>
@@ -4628,12 +4792,20 @@
4628
4792
 
4629
4793
  </xsl:attribute-set>
4630
4794
 
4795
+ <xsl:template name="refine_termnote-style">
4796
+
4797
+ </xsl:template> <!-- refine_termnote-style -->
4798
+
4631
4799
  <xsl:attribute-set name="termnote-name-style">
4632
4800
 
4633
4801
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
4634
4802
 
4635
4803
  </xsl:attribute-set>
4636
4804
 
4805
+ <xsl:template name="refine_termnote-name-style">
4806
+
4807
+ </xsl:template>
4808
+
4637
4809
  <xsl:attribute-set name="termnote-p-style">
4638
4810
 
4639
4811
  <xsl:attribute name="text-align">justify</xsl:attribute>
@@ -4646,6 +4818,10 @@
4646
4818
 
4647
4819
  </xsl:attribute-set>
4648
4820
 
4821
+ <xsl:template name="refine_quote-style">
4822
+
4823
+ </xsl:template>
4824
+
4649
4825
  <xsl:attribute-set name="quote-source-style">
4650
4826
  <xsl:attribute name="text-align">right</xsl:attribute>
4651
4827
 
@@ -4655,6 +4831,10 @@
4655
4831
 
4656
4832
  </xsl:attribute-set>
4657
4833
 
4834
+ <xsl:template name="refine_termsource-style">
4835
+
4836
+ </xsl:template> <!-- refine_termsource-style -->
4837
+
4658
4838
  <xsl:attribute-set name="termsource-text-style">
4659
4839
 
4660
4840
  </xsl:attribute-set>
@@ -4691,6 +4871,10 @@
4691
4871
 
4692
4872
  </xsl:attribute-set>
4693
4873
 
4874
+ <xsl:template name="refine_figure-name-style">
4875
+
4876
+ </xsl:template> <!-- refine_figure-name-style -->
4877
+
4694
4878
  <xsl:attribute-set name="figure-source-style">
4695
4879
 
4696
4880
  </xsl:attribute-set>
@@ -4709,6 +4893,10 @@
4709
4893
 
4710
4894
  </xsl:attribute-set> <!-- formula-stem-block-style -->
4711
4895
 
4896
+ <xsl:template name="refine_formula-stem-block-style">
4897
+
4898
+ </xsl:template> <!-- refine_formula-stem-block-style -->
4899
+
4712
4900
  <xsl:attribute-set name="formula-stem-number-style">
4713
4901
  <xsl:attribute name="text-align">right</xsl:attribute>
4714
4902
 
@@ -4720,6 +4908,10 @@
4720
4908
 
4721
4909
  </xsl:attribute-set>
4722
4910
 
4911
+ <xsl:template name="refine_image-style">
4912
+
4913
+ </xsl:template>
4914
+
4723
4915
  <xsl:attribute-set name="figure-pseudocode-p-style">
4724
4916
 
4725
4917
  </xsl:attribute-set>
@@ -4806,10 +4998,22 @@
4806
4998
 
4807
4999
  </xsl:attribute-set>
4808
5000
 
5001
+ <xsl:template name="refine_mathml-style">
5002
+
5003
+ <xsl:if test="ancestor::*[local-name()='table']">
5004
+ <xsl:attribute name="font-size">95%</xsl:attribute> <!-- base font in table is 10pt -->
5005
+ </xsl:if>
5006
+
5007
+ </xsl:template>
5008
+
4809
5009
  <xsl:attribute-set name="list-style">
4810
5010
 
4811
5011
  </xsl:attribute-set> <!-- list-style -->
4812
5012
 
5013
+ <xsl:template name="refine_list-style">
5014
+
5015
+ </xsl:template> <!-- refine_list-style -->
5016
+
4813
5017
  <xsl:attribute-set name="list-name-style">
4814
5018
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
4815
5019
 
@@ -4821,14 +5025,26 @@
4821
5025
 
4822
5026
  </xsl:attribute-set>
4823
5027
 
5028
+ <xsl:template name="refine_list-item-style">
5029
+
5030
+ </xsl:template> <!-- refine_list-item-style -->
5031
+
4824
5032
  <xsl:attribute-set name="list-item-label-style">
4825
5033
 
4826
5034
  </xsl:attribute-set>
4827
5035
 
5036
+ <xsl:template name="refine_list-item-label-style">
5037
+
5038
+ </xsl:template> <!-- refine_list-item-label-style -->
5039
+
4828
5040
  <xsl:attribute-set name="list-item-body-style">
4829
5041
 
4830
5042
  </xsl:attribute-set>
4831
5043
 
5044
+ <xsl:template name="refine_list-item-body-style">
5045
+
5046
+ </xsl:template> <!-- refine_list-item-body-style -->
5047
+
4832
5048
  <xsl:attribute-set name="toc-style">
4833
5049
  <xsl:attribute name="line-height">135%</xsl:attribute>
4834
5050
  </xsl:attribute-set>
@@ -4843,6 +5059,10 @@
4843
5059
 
4844
5060
  </xsl:attribute-set>
4845
5061
 
5062
+ <xsl:template name="refine_fn-reference-style">
5063
+
5064
+ </xsl:template> <!-- refine_fn-reference-style -->
5065
+
4846
5066
  <xsl:attribute-set name="fn-style">
4847
5067
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4848
5068
  </xsl:attribute-set>
@@ -4868,6 +5088,10 @@
4868
5088
 
4869
5089
  </xsl:attribute-set>
4870
5090
 
5091
+ <xsl:template name="refine_fn-body-style">
5092
+
5093
+ </xsl:template> <!-- refine_fn-body-style -->
5094
+
4871
5095
  <xsl:attribute-set name="fn-body-num-style">
4872
5096
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
4873
5097
 
@@ -4877,6 +5101,10 @@
4877
5101
 
4878
5102
  </xsl:attribute-set> <!-- fn-body-num-style -->
4879
5103
 
5104
+ <xsl:template name="refine_fn-body-num-style">
5105
+
5106
+ </xsl:template> <!-- refine_fn-body-num-style -->
5107
+
4880
5108
  <!-- admonition -->
4881
5109
  <xsl:attribute-set name="admonition-style">
4882
5110
 
@@ -5548,15 +5776,9 @@
5548
5776
 
5549
5777
  <fo:block-container xsl:use-attribute-sets="table-container-style">
5550
5778
 
5551
- <xsl:if test="not(ancestor::*[local-name()='note_side'])">
5552
- <xsl:attribute name="font-size">10pt</xsl:attribute>
5553
- </xsl:if>
5554
- <xsl:if test="@parent-type = 'quote'">
5555
- <xsl:attribute name="font-family">Arial</xsl:attribute>
5556
- <xsl:attribute name="font-size">9pt</xsl:attribute>
5557
- </xsl:if>
5558
-
5559
- <!-- end table block-container attributes -->
5779
+ <xsl:call-template name="refine_table-container-style">
5780
+ <xsl:with-param name="margin-side" select="$margin-side"/>
5781
+ </xsl:call-template>
5560
5782
 
5561
5783
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
5562
5784
 
@@ -5583,12 +5805,9 @@
5583
5805
 
5584
5806
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
5585
5807
 
5586
- <xsl:if test="not(ancestor::*[local-name()='preface']) and not(ancestor::*[local-name()='note_side']) and not(ancestor::*[local-name() = 'annex'] and .//*[local-name() = 'xref'][@pagenumber]) and not(ancestor::*[local-name() = 'doccontrol'])">
5587
- <xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
5588
- <xsl:attribute name="border-bottom">0.5pt solid black</xsl:attribute>
5589
- </xsl:if>
5590
-
5591
- <xsl:call-template name="setBordersTableArray"/>
5808
+ <xsl:call-template name="refine_table-style">
5809
+ <xsl:with-param name="margin-side" select="$margin-side"/>
5810
+ </xsl:call-template>
5592
5811
 
5593
5812
  </xsl:element>
5594
5813
  </xsl:variable>
@@ -5654,7 +5873,7 @@
5654
5873
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
5655
5874
  </xsl:when>
5656
5875
  <xsl:otherwise>
5657
- <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 -->
5876
+ <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() = 'p') 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 -->
5658
5877
  </xsl:otherwise>
5659
5878
  </xsl:choose>
5660
5879
 
@@ -6143,6 +6362,8 @@
6143
6362
  <fo:table-row>
6144
6363
  <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">
6145
6364
 
6365
+ <xsl:call-template name="refine_table-header-title-style"/>
6366
+
6146
6367
  <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
6147
6368
  <xsl:with-param name="continued">true</xsl:with-param>
6148
6369
  </xsl:apply-templates>
@@ -6155,6 +6376,10 @@
6155
6376
  </fo:table-row>
6156
6377
  </xsl:template> <!-- table-header-title -->
6157
6378
 
6379
+ <xsl:template name="refine_table-header-title-style">
6380
+
6381
+ </xsl:template> <!-- refine_table-header-title-style -->
6382
+
6158
6383
  <xsl:template match="*[local-name()='thead']" mode="process_tbody">
6159
6384
  <fo:table-body>
6160
6385
  <xsl:apply-templates/>
@@ -6179,7 +6404,7 @@
6179
6404
  <xsl:param name="colwidths"/>
6180
6405
  <xsl:param name="colgroup"/>
6181
6406
 
6182
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source']"/>
6407
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
6183
6408
 
6184
6409
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
6185
6410
 
@@ -6239,6 +6464,8 @@
6239
6464
  <fo:table-row>
6240
6465
  <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
6241
6466
 
6467
+ <xsl:call-template name="refine_table-footer-cell-style"/>
6468
+
6242
6469
  <xsl:call-template name="setBordersTableArray"/>
6243
6470
 
6244
6471
  <!-- fn will be processed inside 'note' processing -->
@@ -6257,6 +6484,7 @@
6257
6484
 
6258
6485
  <!-- except gb and bsi -->
6259
6486
 
6487
+ <xsl:apply-templates select="../*[local-name()='p']"/>
6260
6488
  <xsl:apply-templates select="../*[local-name()='dl']"/>
6261
6489
  <xsl:apply-templates select="../*[local-name()='note']"/>
6262
6490
  <xsl:apply-templates select="../*[local-name()='source']"/>
@@ -6388,7 +6616,7 @@
6388
6616
  <xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
6389
6617
  <fo:table-row xsl:use-attribute-sets="table-header-row-style">
6390
6618
 
6391
- <xsl:call-template name="setBordersTableArray"/>
6619
+ <xsl:call-template name="refine_table-header-row-style"/>
6392
6620
 
6393
6621
  <xsl:call-template name="setTableRowAttributes"/>
6394
6622
 
@@ -6422,6 +6650,8 @@
6422
6650
  <xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
6423
6651
  <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
6424
6652
 
6653
+ <xsl:call-template name="refine_table-footer-row-style"/>
6654
+
6425
6655
  <xsl:call-template name="setTableRowAttributes"/>
6426
6656
  <xsl:apply-templates/>
6427
6657
  </fo:table-row>
@@ -6435,9 +6665,10 @@
6435
6665
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
6436
6666
  </xsl:if>
6437
6667
 
6438
- <xsl:call-template name="setBordersTableArray"/>
6668
+ <xsl:call-template name="refine_table-body-row-style"/>
6439
6669
 
6440
6670
  <xsl:call-template name="setTableRowAttributes"/>
6671
+
6441
6672
  <xsl:apply-templates/>
6442
6673
  </fo:table-row>
6443
6674
  </xsl:template>
@@ -6463,24 +6694,7 @@
6463
6694
  <xsl:with-param name="default">center</xsl:with-param>
6464
6695
  </xsl:call-template>
6465
6696
 
6466
- <xsl:if test="(ancestor::*[local-name() = 'annex'] and ancestor::*[local-name() = 'table']//*[local-name() = 'xref'][@pagenumber]) or ancestor::*[local-name() = 'doccontrol']"><!-- for Annex ToC -->
6467
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
6468
- <xsl:attribute name="border-bottom">solid black 0pt</xsl:attribute>
6469
- </xsl:if>
6470
- <xsl:if test="ancestor::*[local-name() = 'doccontrol']">
6471
- <xsl:call-template name="setTextAlignment">
6472
- <xsl:with-param name="default">left</xsl:with-param>
6473
- </xsl:call-template>
6474
- <xsl:attribute name="display-align">before</xsl:attribute>
6475
- </xsl:if>
6476
-
6477
- <xsl:call-template name="setBordersTableArray"/>
6478
-
6479
- <xsl:if test="$lang = 'ar'">
6480
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
6481
- </xsl:if>
6482
-
6483
- <xsl:call-template name="setTableCellAttributes"/>
6697
+ <xsl:call-template name="refine_table-header-cell-style"/>
6484
6698
 
6485
6699
  <fo:block>
6486
6700
  <xsl:apply-templates/>
@@ -6522,24 +6736,7 @@
6522
6736
  <xsl:with-param name="default">left</xsl:with-param>
6523
6737
  </xsl:call-template>
6524
6738
 
6525
- <xsl:if test="$lang = 'ar'">
6526
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
6527
- </xsl:if>
6528
-
6529
- <xsl:variable name="rownum"><xsl:number count="*[local-name()='tr']"/></xsl:variable>
6530
- <xsl:if test="$rownum = 1">
6531
- <xsl:attribute name="padding-top">3mm</xsl:attribute>
6532
- </xsl:if>
6533
- <xsl:if test="not(ancestor::*[local-name()='tr']/following-sibling::*[local-name()='tr'])"> <!-- last row -->
6534
- <xsl:attribute name="padding-bottom">2mm</xsl:attribute>
6535
- </xsl:if>
6536
- <xsl:if test="ancestor::*[local-name() = 'doccontrol']">
6537
- <xsl:attribute name="display-align">before</xsl:attribute>
6538
- </xsl:if>
6539
-
6540
- <!-- bsi -->
6541
-
6542
- <xsl:call-template name="setBordersTableArray"/>
6739
+ <xsl:call-template name="refine_table-cell-style"/>
6543
6740
 
6544
6741
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
6545
6742
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -6579,17 +6776,12 @@
6579
6776
 
6580
6777
  <fo:block xsl:use-attribute-sets="table-note-style">
6581
6778
 
6582
- <xsl:if test="ancestor::bipm:preface">
6583
- <xsl:attribute name="margin-top">18pt</xsl:attribute>
6584
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
6585
- </xsl:if>
6779
+ <xsl:call-template name="refine_table-note-style"/>
6586
6780
 
6587
6781
  <!-- Table's note name (NOTE, for example) -->
6588
6782
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
6589
6783
 
6590
- <xsl:if test="ancestor::bipm:preface">
6591
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
6592
- </xsl:if>
6784
+ <xsl:call-template name="refine_table-note-name-style"/>
6593
6785
 
6594
6786
  <xsl:apply-templates select="*[local-name() = 'name']"/>
6595
6787
 
@@ -6622,6 +6814,14 @@
6622
6814
  <!-- list of footnotes to calculate actual footnotes number -->
6623
6815
  <xsl:variable name="p_fn_">
6624
6816
  <xsl:call-template name="get_fn_list"/>
6817
+ <!-- <xsl:choose>
6818
+ <xsl:when test="$namespace = 'jis'">
6819
+ <xsl:call-template name="get_fn_list_for_element"/>
6820
+ </xsl:when>
6821
+ <xsl:otherwise>
6822
+ <xsl:call-template name="get_fn_list"/>
6823
+ </xsl:otherwise>
6824
+ </xsl:choose> -->
6625
6825
  </xsl:variable>
6626
6826
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
6627
6827
 
@@ -6646,7 +6846,14 @@
6646
6846
 
6647
6847
  </xsl:variable>
6648
6848
 
6649
- <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
6849
+ <xsl:variable name="ref_id">
6850
+ <xsl:choose>
6851
+ <xsl:when test="normalize-space(@ref_id) != ''"><xsl:value-of select="@ref_id"/></xsl:when>
6852
+ <xsl:otherwise>
6853
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
6854
+ </xsl:otherwise>
6855
+ </xsl:choose>
6856
+ </xsl:variable>
6650
6857
  <xsl:variable name="footnote_inline">
6651
6858
  <fo:inline>
6652
6859
 
@@ -6672,7 +6879,7 @@
6672
6879
  <xsl:call-template name="insert_basic_link">
6673
6880
  <xsl:with-param name="element">
6674
6881
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
6675
- <xsl:value-of select="$current_fn_number_text"/>
6882
+ <xsl:copy-of select="$current_fn_number_text"/>
6676
6883
  </fo:basic-link>
6677
6884
  </xsl:with-param>
6678
6885
  </xsl:call-template>
@@ -6692,8 +6899,12 @@
6692
6899
 
6693
6900
  <fo:block xsl:use-attribute-sets="fn-body-style">
6694
6901
 
6902
+ <xsl:call-template name="refine_fn-body-style"/>
6903
+
6695
6904
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
6696
6905
 
6906
+ <xsl:call-template name="refine_fn-body-num-style"/>
6907
+
6697
6908
  <xsl:value-of select="$current_fn_number_text"/>
6698
6909
  </fo:inline>
6699
6910
  <xsl:apply-templates/>
@@ -6745,6 +6956,28 @@
6745
6956
  </xsl:choose>
6746
6957
  </xsl:template>
6747
6958
 
6959
+ <xsl:template name="get_fn_list_for_element">
6960
+ <xsl:choose>
6961
+ <xsl:when test="@current_fn_number"> <!-- footnote reference number calculated already -->
6962
+ <fn gen_id="{generate-id(.)}">
6963
+ <xsl:copy-of select="@*"/>
6964
+ <xsl:copy-of select="node()"/>
6965
+ </fn>
6966
+ </xsl:when>
6967
+ <xsl:otherwise>
6968
+ <xsl:for-each select="ancestor::*[local-name() = 'ul' or local-name() = 'ol'][1]">
6969
+ <xsl:variable name="element_id" select="@id"/>
6970
+ <xsl:for-each select=".//*[local-name() = 'fn'][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
6971
+ <!-- copy unique fn -->
6972
+ <fn gen_id="{generate-id(.)}">
6973
+ <xsl:copy-of select="@*"/>
6974
+ <xsl:copy-of select="node()"/>
6975
+ </fn>
6976
+ </xsl:for-each>
6977
+ </xsl:for-each>
6978
+ </xsl:otherwise>
6979
+ </xsl:choose>
6980
+ </xsl:template>
6748
6981
  <!-- ============================ -->
6749
6982
  <!-- table's footnotes rendering -->
6750
6983
  <!-- ============================ -->
@@ -6923,6 +7156,8 @@
6923
7156
  <xsl:template match="*[local-name()='fn']">
6924
7157
  <fo:inline xsl:use-attribute-sets="fn-reference-style">
6925
7158
 
7159
+ <xsl:call-template name="refine_fn-reference-style"/>
7160
+
6926
7161
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
6927
7162
 
6928
7163
  <fo:inline font-style="normal"> (</fo:inline>
@@ -7027,6 +7262,8 @@
7027
7262
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
7028
7263
  <fo:block margin-bottom="12pt" text-align="left">
7029
7264
 
7265
+ <xsl:call-template name="refine_dl_formula_where_style"/>
7266
+
7030
7267
  <!-- <xsl:variable name="title-where">
7031
7268
  <xsl:call-template name="getLocalizedString">
7032
7269
  <xsl:with-param name="key">where</xsl:with-param>
@@ -7040,6 +7277,8 @@
7040
7277
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
7041
7278
  <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
7042
7279
 
7280
+ <xsl:call-template name="refine_figure_key_style"/>
7281
+
7043
7282
  <xsl:variable name="title-key">
7044
7283
  <xsl:call-template name="getLocalizedString">
7045
7284
  <xsl:with-param name="key">key</xsl:with-param>
@@ -7054,12 +7293,16 @@
7054
7293
  <xsl:if test="$onlyOneComponent = 'false'">
7055
7294
  <fo:block>
7056
7295
 
7296
+ <xsl:call-template name="refine_multicomponent_style"/>
7297
+
7057
7298
  <xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
7058
7299
  <xsl:attribute name="margin-top">0</xsl:attribute>
7059
7300
  </xsl:if>
7060
7301
 
7061
7302
  <fo:block>
7062
7303
 
7304
+ <xsl:call-template name="refine_multicomponent_block_style"/>
7305
+
7063
7306
  <xsl:apply-templates select="*[local-name() = 'name']">
7064
7307
  <xsl:with-param name="process">true</xsl:with-param>
7065
7308
  </xsl:apply-templates>
@@ -7217,6 +7460,24 @@
7217
7460
 
7218
7461
  </xsl:template> <!-- END: dl -->
7219
7462
 
7463
+ <xsl:template name="refine_dl_formula_where_style">
7464
+
7465
+ </xsl:template> <!-- refine_dl_formula_where_style -->
7466
+
7467
+ <xsl:template name="refine_figure_key_style">
7468
+
7469
+ </xsl:template> <!-- refine_figure_key_style -->
7470
+
7471
+ <xsl:template name="refine_multicomponent_style">
7472
+ <xsl:variable name="parent" select="local-name(..)"/>
7473
+
7474
+ </xsl:template> <!-- refine_multicomponent_style -->
7475
+
7476
+ <xsl:template name="refine_multicomponent_block_style">
7477
+ <xsl:variable name="parent" select="local-name(..)"/>
7478
+
7479
+ </xsl:template> <!-- refine_multicomponent_block_style -->
7480
+
7220
7481
  <!-- ignore 'p' with 'where' in formula, before 'dl' -->
7221
7482
  <xsl:template match="*[local-name() = 'formula']/*[local-name() = 'p' and @keep-with-next = 'true' and following-sibling::*[1][local-name() = 'dl']]"/>
7222
7483
 
@@ -7436,6 +7697,8 @@
7436
7697
 
7437
7698
  </xsl:if>
7438
7699
 
7700
+ <xsl:call-template name="refine_dt-cell-style"/>
7701
+
7439
7702
  <fo:block xsl:use-attribute-sets="dt-block-style">
7440
7703
  <xsl:copy-of select="@id"/>
7441
7704
 
@@ -7443,6 +7706,8 @@
7443
7706
  <xsl:attribute name="margin-top">0</xsl:attribute>
7444
7707
  </xsl:if>
7445
7708
 
7709
+ <xsl:call-template name="refine_dt-block-style"/>
7710
+
7446
7711
  <xsl:apply-templates>
7447
7712
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
7448
7713
  </xsl:apply-templates>
@@ -7462,6 +7727,8 @@
7462
7727
  <xsl:attribute name="border">0.1pt solid black</xsl:attribute>
7463
7728
  </xsl:if>
7464
7729
 
7730
+ <xsl:call-template name="refine_dd-cell-style"/>
7731
+
7465
7732
  <fo:block>
7466
7733
 
7467
7734
  <xsl:if test="$isGenerateTableIF = 'true'">
@@ -7612,12 +7879,18 @@
7612
7879
  <xsl:param name="split_keep-within-line"/>
7613
7880
  <fo:inline font-weight="bold">
7614
7881
 
7882
+ <xsl:call-template name="refine_strong_style"/>
7883
+
7615
7884
  <xsl:apply-templates>
7616
7885
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
7617
7886
  </xsl:apply-templates>
7618
7887
  </fo:inline>
7619
7888
  </xsl:template>
7620
7889
 
7890
+ <xsl:template name="refine_strong_style">
7891
+
7892
+ </xsl:template>
7893
+
7621
7894
  <xsl:template match="*[local-name()='padding']">
7622
7895
  <fo:inline padding-right="{@value}"> </fo:inline>
7623
7896
  </xsl:template>
@@ -8759,9 +9032,10 @@
8759
9032
 
8760
9033
  <fo:inline xsl:use-attribute-sets="mathml-style">
8761
9034
 
8762
- <xsl:if test="ancestor::*[local-name()='table']">
8763
- <xsl:attribute name="font-size">95%</xsl:attribute> <!-- base font in table is 10pt -->
8764
- </xsl:if>
9035
+ <!-- DEBUG -->
9036
+ <!-- <xsl:copy-of select="ancestor::*[local-name() = 'stem']/@font-family"/> -->
9037
+
9038
+ <xsl:call-template name="refine_mathml-style"/>
8765
9039
 
8766
9040
  <xsl:if test="$isGenerateTableIF = 'true' and ancestor::*[local-name() = 'td' or local-name() = 'th' or local-name() = 'dl'] and not(following-sibling::node()[not(self::comment())][normalize-space() != ''])"> <!-- math in table cell, and math is last element -->
8767
9041
  <!-- <xsl:attribute name="padding-right">1mm</xsl:attribute> -->
@@ -8892,12 +9166,7 @@
8892
9166
 
8893
9167
  <fo:instream-foreign-object fox:alt-text="Math">
8894
9168
 
8895
- <xsl:if test="local-name(../..) = 'formula'">
8896
- <xsl:attribute name="width">95%</xsl:attribute>
8897
- <xsl:attribute name="content-height">100%</xsl:attribute>
8898
- <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
8899
- <xsl:attribute name="scaling">uniform</xsl:attribute>
8900
- </xsl:if>
9169
+ <xsl:call-template name="refine_mathml_insteam_object_style"/>
8901
9170
 
8902
9171
  <!-- put MathML in Actual Text -->
8903
9172
  <!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
@@ -8919,6 +9188,17 @@
8919
9188
  </fo:instream-foreign-object>
8920
9189
  </xsl:template>
8921
9190
 
9191
+ <xsl:template name="refine_mathml_insteam_object_style">
9192
+
9193
+ <xsl:if test="local-name(../..) = 'formula'">
9194
+ <xsl:attribute name="width">95%</xsl:attribute>
9195
+ <xsl:attribute name="content-height">100%</xsl:attribute>
9196
+ <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
9197
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
9198
+ </xsl:if>
9199
+
9200
+ </xsl:template> <!-- refine_mathml_insteam_object_style -->
9201
+
8922
9202
  <xsl:template match="mathml:*" mode="mathml_actual_text">
8923
9203
  <!-- <xsl:text>a+b</xsl:text> -->
8924
9204
  <xsl:text>&lt;</xsl:text>
@@ -9063,9 +9343,7 @@
9063
9343
  <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
9064
9344
  <fo:inline xsl:use-attribute-sets="mathml-style">
9065
9345
 
9066
- <xsl:if test="ancestor::*[local-name()='table']">
9067
- <xsl:attribute name="font-size">95%</xsl:attribute> <!-- base font in table is 10pt -->
9068
- </xsl:if>
9346
+ <xsl:call-template name="refine_mathml-style"/>
9069
9347
 
9070
9348
  <xsl:choose>
9071
9349
  <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
@@ -9111,6 +9389,8 @@
9111
9389
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
9112
9390
  </xsl:if>
9113
9391
 
9392
+ <xsl:call-template name="refine_link-style"/>
9393
+
9114
9394
  <xsl:choose>
9115
9395
  <xsl:when test="$target_text = ''">
9116
9396
  <xsl:apply-templates/>
@@ -9198,6 +9478,9 @@
9198
9478
  <xsl:call-template name="insert_basic_link">
9199
9479
  <xsl:with-param name="element">
9200
9480
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
9481
+ <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://'))">
9482
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
9483
+ </xsl:if>
9201
9484
  <xsl:if test="parent::*[local-name() = 'add']">
9202
9485
  <xsl:call-template name="append_add-style"/>
9203
9486
  </xsl:if>
@@ -9259,6 +9542,8 @@
9259
9542
  <fo:table-cell display-align="center">
9260
9543
  <fo:block xsl:use-attribute-sets="formula-stem-block-style">
9261
9544
 
9545
+ <xsl:call-template name="refine_formula-stem-block-style"/>
9546
+
9262
9547
  <xsl:apply-templates/>
9263
9548
  </fo:block>
9264
9549
  </fo:table-cell>
@@ -9300,24 +9585,18 @@
9300
9585
 
9301
9586
  <xsl:call-template name="setBlockSpanAll"/>
9302
9587
 
9303
- <xsl:if test="parent::*[local-name() = 'li']">
9304
- <xsl:attribute name="margin-top">4pt</xsl:attribute>
9305
- <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
9306
- </xsl:if>
9588
+ <xsl:call-template name="refine_note-style"/>
9307
9589
 
9308
9590
  <fo:block-container margin-left="0mm" margin-right="0mm">
9309
9591
 
9310
9592
  <fo:block>
9311
9593
 
9312
- <xsl:if test="@parent-type = 'quote'">
9313
- <xsl:attribute name="font-family">Arial</xsl:attribute>
9314
- <xsl:attribute name="font-size">9pt</xsl:attribute>
9315
- <xsl:attribute name="line-height">130%</xsl:attribute>
9316
- <xsl:attribute name="text-align">justify</xsl:attribute>
9317
- </xsl:if>
9594
+ <xsl:call-template name="refine_note_block_style"/>
9318
9595
 
9319
9596
  <fo:inline xsl:use-attribute-sets="note-name-style">
9320
9597
 
9598
+ <xsl:call-template name="refine_note-name-style"/>
9599
+
9321
9600
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
9322
9601
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
9323
9602
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -9343,6 +9622,17 @@
9343
9622
 
9344
9623
  </xsl:template>
9345
9624
 
9625
+ <xsl:template name="refine_note_block_style">
9626
+
9627
+ <xsl:if test="@parent-type = 'quote'">
9628
+ <xsl:attribute name="font-family">Arial</xsl:attribute>
9629
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
9630
+ <xsl:attribute name="line-height">130%</xsl:attribute>
9631
+ <xsl:attribute name="text-align">justify</xsl:attribute>
9632
+ </xsl:if>
9633
+
9634
+ </xsl:template>
9635
+
9346
9636
  <xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
9347
9637
  <xsl:variable name="num"><xsl:number/></xsl:variable>
9348
9638
  <xsl:choose>
@@ -9364,12 +9654,16 @@
9364
9654
 
9365
9655
  <xsl:call-template name="setBlockSpanAll"/>
9366
9656
 
9657
+ <xsl:call-template name="refine_termnote-style"/>
9658
+
9367
9659
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
9368
9660
 
9369
9661
  <xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
9370
9662
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
9371
9663
  </xsl:if>
9372
9664
 
9665
+ <xsl:call-template name="refine_termnote-name-style"/>
9666
+
9373
9667
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
9374
9668
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
9375
9669
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -9557,6 +9851,8 @@
9557
9851
  <xsl:otherwise>
9558
9852
  <fo:block xsl:use-attribute-sets="image-style">
9559
9853
 
9854
+ <xsl:call-template name="refine_image-style"/>
9855
+
9560
9856
  <xsl:variable name="src">
9561
9857
  <xsl:call-template name="image_src"/>
9562
9858
  </xsl:variable>
@@ -10420,6 +10716,8 @@
10420
10716
  <xsl:if test="normalize-space() != ''">
10421
10717
  <fo:block xsl:use-attribute-sets="figure-name-style">
10422
10718
 
10719
+ <xsl:call-template name="refine_figure-name-style"/>
10720
+
10423
10721
  <xsl:apply-templates/>
10424
10722
  </fo:block>
10425
10723
  </xsl:if>
@@ -10683,6 +10981,8 @@
10683
10981
  </xsl:attribute>
10684
10982
  </xsl:for-each>
10685
10983
 
10984
+ <xsl:call-template name="refine_sourcecode-style"/>
10985
+
10686
10986
  <!-- remove margin between rows in the table with sourcecode line numbers -->
10687
10987
  <xsl:if test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']">
10688
10988
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
@@ -11387,6 +11687,8 @@
11387
11687
 
11388
11688
  <xsl:call-template name="setBlockSpanAll"/>
11389
11689
 
11690
+ <xsl:call-template name="refine_example-style"/>
11691
+
11390
11692
  <xsl:variable name="fo_element">
11391
11693
  <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
11392
11694
  block
@@ -11514,6 +11816,8 @@
11514
11816
  </xsl:if>
11515
11817
  <fo:block xsl:use-attribute-sets="example-p-style">
11516
11818
 
11819
+ <xsl:call-template name="refine_example-p-style"/>
11820
+
11517
11821
  <xsl:apply-templates/>
11518
11822
  </fo:block>
11519
11823
  </fo:block-container>
@@ -11530,6 +11834,7 @@
11530
11834
  </xsl:otherwise>
11531
11835
  </xsl:choose>
11532
11836
  </xsl:template> <!-- example/p -->
11837
+
11533
11838
  <!-- ====== -->
11534
11839
  <!-- ====== -->
11535
11840
 
@@ -11541,6 +11846,8 @@
11541
11846
  <xsl:template match="*[local-name() = 'termsource']" name="termsource">
11542
11847
  <fo:block xsl:use-attribute-sets="termsource-style">
11543
11848
 
11849
+ <xsl:call-template name="refine_termsource-style"/>
11850
+
11544
11851
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
11545
11852
  <xsl:variable name="termsource_text">
11546
11853
  <xsl:apply-templates/>
@@ -11656,6 +11963,8 @@
11656
11963
  <fo:block-container margin-left="0mm">
11657
11964
  <fo:block-container xsl:use-attribute-sets="quote-style">
11658
11965
 
11966
+ <xsl:call-template name="refine_quote-style"/>
11967
+
11659
11968
  <fo:block-container margin-left="0mm" margin-right="0mm">
11660
11969
  <fo:block role="BlockQuote">
11661
11970
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
@@ -11730,8 +12039,7 @@
11730
12039
 
11731
12040
  </xsl:if>
11732
12041
 
11733
- <xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
11734
- <xsl:variable name="text" select="normalize-space()"/>
12042
+ <xsl:call-template name="refine_eref-style"/>
11735
12043
 
11736
12044
  <xsl:call-template name="insert_basic_link">
11737
12045
  <xsl:with-param name="element">
@@ -11741,14 +12049,7 @@
11741
12049
  </xsl:if>
11742
12050
  <xsl:if test="@type = 'inline'">
11743
12051
 
11744
- <xsl:attribute name="color">blue</xsl:attribute>
11745
- <xsl:if test="not(parent::*[local-name() = 'title'])">
11746
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
11747
- </xsl:if>
11748
- <xsl:if test="parent::*[local-name() = 'title']">
11749
- <xsl:attribute name="color">inherit</xsl:attribute>
11750
- <xsl:attribute name="font-weight">normal</xsl:attribute>
11751
- </xsl:if>
12052
+ <xsl:call-template name="refine_basic_link_style"/>
11752
12053
 
11753
12054
  </xsl:if>
11754
12055
 
@@ -11782,6 +12083,20 @@
11782
12083
  </xsl:otherwise>
11783
12084
  </xsl:choose>
11784
12085
  </xsl:template>
12086
+
12087
+ <xsl:template name="refine_basic_link_style">
12088
+
12089
+ <xsl:attribute name="color">blue</xsl:attribute>
12090
+ <xsl:if test="not(parent::*[local-name() = 'title'])">
12091
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
12092
+ </xsl:if>
12093
+ <xsl:if test="parent::*[local-name() = 'title']">
12094
+ <xsl:attribute name="color">inherit</xsl:attribute>
12095
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
12096
+ </xsl:if>
12097
+
12098
+ </xsl:template> <!-- refine_basic_link_style -->
12099
+
11785
12100
  <!-- ====== -->
11786
12101
  <!-- END eref -->
11787
12102
  <!-- ====== -->
@@ -11924,11 +12239,17 @@
11924
12239
  <fo:block>
11925
12240
  <xsl:call-template name="setId"/>
11926
12241
 
12242
+ <xsl:call-template name="sections_element_style"/>
12243
+
11927
12244
  <xsl:apply-templates/>
11928
12245
  </fo:block>
11929
12246
 
11930
12247
  </xsl:template>
11931
12248
 
12249
+ <xsl:template name="sections_element_style">
12250
+
12251
+ </xsl:template> <!-- sections_element_style -->
12252
+
11932
12253
  <xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
11933
12254
  <fo:block break-after="page"/>
11934
12255
  <fo:block>
@@ -11943,12 +12264,18 @@
11943
12264
 
11944
12265
  <xsl:call-template name="setBlockSpanAll"/>
11945
12266
 
11946
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
12267
+ <xsl:call-template name="refine_clause_style"/>
11947
12268
 
11948
12269
  <xsl:apply-templates/>
11949
12270
  </fo:block>
11950
12271
  </xsl:template>
11951
12272
 
12273
+ <xsl:template name="refine_clause_style">
12274
+
12275
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
12276
+
12277
+ </xsl:template> <!-- refine_clause_style -->
12278
+
11952
12279
  <xsl:template match="*[local-name() = 'definitions']">
11953
12280
  <fo:block id="{@id}">
11954
12281
  <xsl:apply-templates/>
@@ -11961,10 +12288,16 @@
11961
12288
 
11962
12289
  <xsl:call-template name="setBlockSpanAll"/>
11963
12290
 
12291
+ <xsl:call-template name="refine_annex_style"/>
12292
+
11964
12293
  </fo:block>
11965
12294
  <xsl:apply-templates/>
11966
12295
  </xsl:template>
11967
12296
 
12297
+ <xsl:template name="refine_annex_style">
12298
+
12299
+ </xsl:template>
12300
+
11968
12301
  <xsl:template match="*[local-name() = 'review']"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
11969
12302
  <!-- comment 2019-11-29 -->
11970
12303
  <!-- <fo:block font-weight="bold">Review:</fo:block>
@@ -12131,7 +12464,7 @@
12131
12464
  </xsl:choose>
12132
12465
  </xsl:attribute>
12133
12466
 
12134
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
12467
+ <xsl:call-template name="refine_list_container_style"/>
12135
12468
 
12136
12469
  <fo:block-container margin-left="0mm">
12137
12470
  <fo:block>
@@ -12150,6 +12483,12 @@
12150
12483
  </xsl:choose>
12151
12484
  </xsl:template>
12152
12485
 
12486
+ <xsl:template name="refine_list_container_style">
12487
+
12488
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
12489
+
12490
+ </xsl:template> <!-- refine_list_container_style -->
12491
+
12153
12492
  <xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
12154
12493
 
12155
12494
  <xsl:apply-templates select="*[local-name() = 'name']">
@@ -12160,7 +12499,7 @@
12160
12499
 
12161
12500
  <xsl:variable name="provisional_distance_between_starts_">
12162
12501
  <attributes xsl:use-attribute-sets="list-style">
12163
-
12502
+ <xsl:call-template name="refine_list-style_provisional-distance-between-starts"/>
12164
12503
  </attributes>
12165
12504
  </xsl:variable>
12166
12505
  <xsl:variable name="provisional_distance_between_starts" select="normalize-space(xalan:nodeset($provisional_distance_between_starts_)/attributes/@provisional-distance-between-starts)"/>
@@ -12196,6 +12535,8 @@
12196
12535
  <addon><xsl:value-of select="$addon"/></addon> -->
12197
12536
  </xsl:if>
12198
12537
 
12538
+ <xsl:call-template name="refine_list-style"/>
12539
+
12199
12540
  <xsl:if test="*[local-name() = 'name']">
12200
12541
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
12201
12542
  </xsl:if>
@@ -12208,6 +12549,10 @@
12208
12549
  <xsl:apply-templates select="./*[local-name() = 'note']"/>
12209
12550
  </xsl:template>
12210
12551
 
12552
+ <xsl:template name="refine_list-style_provisional-distance-between-starts">
12553
+
12554
+ </xsl:template> <!-- refine_list-style_provisional-distance-between-starts -->
12555
+
12211
12556
  <xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
12212
12557
  <xsl:param name="process">false</xsl:param>
12213
12558
  <xsl:if test="$process = 'true'">
@@ -12221,20 +12566,27 @@
12221
12566
  <fo:list-item xsl:use-attribute-sets="list-item-style">
12222
12567
  <xsl:copy-of select="@id"/>
12223
12568
 
12569
+ <xsl:call-template name="refine_list-item-style"/>
12570
+
12224
12571
  <fo:list-item-label end-indent="label-end()">
12225
12572
  <fo:block xsl:use-attribute-sets="list-item-label-style">
12226
12573
 
12574
+ <xsl:call-template name="refine_list-item-label-style"/>
12575
+
12227
12576
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
12228
12577
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
12229
12578
  <xsl:call-template name="append_add-style"/>
12230
12579
  </xsl:if>
12231
12580
 
12232
- <xsl:call-template name="getListItemFormat"/>
12581
+ <xsl:call-template name="getListItemFormat"/>
12582
+
12233
12583
  </fo:block>
12234
12584
  </fo:list-item-label>
12235
12585
  <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
12236
12586
  <fo:block>
12237
12587
 
12588
+ <xsl:call-template name="refine_list-item-body-style"/>
12589
+
12238
12590
  <xsl:apply-templates/>
12239
12591
 
12240
12592
  <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
@@ -12552,6 +12904,7 @@
12552
12904
 
12553
12905
  <fo:block id="{@id}">
12554
12906
  <xsl:apply-templates/>
12907
+
12555
12908
  </fo:block>
12556
12909
  </xsl:template>
12557
12910
 
@@ -12571,6 +12924,7 @@
12571
12924
 
12572
12925
  <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
12573
12926
  <xsl:apply-templates/>
12927
+
12574
12928
  </fo:block>
12575
12929
 
12576
12930
  </xsl:template> <!-- references -->
@@ -13147,6 +13501,9 @@
13147
13501
  </xsl:copy>
13148
13502
  </xsl:template>
13149
13503
 
13504
+ <!-- prevent empty thead processing in XSL-FO, remove it -->
13505
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'thead'][count(*) = 0]" mode="update_xml_step1"/>
13506
+
13150
13507
  <xsl:template name="add_id">
13151
13508
  <xsl:if test="not(@id)">
13152
13509
  <!-- add @id - first element with @id plus '_element_name' -->
@@ -13431,6 +13788,14 @@
13431
13788
  <xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure')] and not(ancestor::*[local-name() = 'name']))]" mode="linear_xml" name="linear_xml_fn">
13432
13789
  <xsl:variable name="p_fn_">
13433
13790
  <xsl:call-template name="get_fn_list"/>
13791
+ <!-- <xsl:choose>
13792
+ <xsl:when test="$namespace = 'jis'">
13793
+ <xsl:call-template name="get_fn_list_for_element"/>
13794
+ </xsl:when>
13795
+ <xsl:otherwise>
13796
+ <xsl:call-template name="get_fn_list"/>
13797
+ </xsl:otherwise>
13798
+ </xsl:choose> -->
13434
13799
  </xsl:variable>
13435
13800
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
13436
13801
  <xsl:variable name="gen_id" select="generate-id(.)"/>
@@ -13445,8 +13810,14 @@
13445
13810
  <xsl:attribute name="current_fn_number">
13446
13811
  <xsl:value-of select="$current_fn_number"/>
13447
13812
  </xsl:attribute>
13813
+ <xsl:variable name="skip_footnote_body_" select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
13448
13814
  <xsl:attribute name="skip_footnote_body"> <!-- false for repeatable footnote -->
13449
- <xsl:value-of select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
13815
+
13816
+ <xsl:value-of select="$skip_footnote_body_"/>
13817
+
13818
+ </xsl:attribute>
13819
+ <xsl:attribute name="ref_id">
13820
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
13450
13821
  </xsl:attribute>
13451
13822
  <xsl:apply-templates select="node()" mode="linear_xml"/>
13452
13823
  </xsl:copy>