metanorma-iso 3.0.10 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,12 +2,12 @@
2
2
 
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
- <xsl:key name="kfn" match="mn:fn[not(ancestor::*[self::mn:table or self::mn:figure or self::mn:localized-strings] and not(ancestor::mn:name))]" use="@reference"/>
5
+ <xsl:key name="kfn" match="mn:fn[not(ancestor::*[self::mn:table or self::mn:figure or self::mn:localized-strings] and not(ancestor::mn:fmt-name))]" use="@reference"/>
6
6
 
7
7
  <xsl:key name="kid" match="*" use="@id"/>
8
8
 
9
- <xsl:key name="attachments" match="mn:eref[java:endsWith(java:java.lang.String.new(@bibitemid),'.exp')]" use="@bibitemid"/>
10
- <xsl:key name="attachments2" match="mn:eref[contains(@bibitemid,'.exp_')]" use="@bibitemid"/>
9
+ <xsl:key name="attachments" match="mn:fmt-eref[java:endsWith(java:java.lang.String.new(@bibitemid),'.exp')]" use="@bibitemid"/>
10
+ <xsl:key name="attachments2" match="mn:fmt-eref[contains(@bibitemid,'.exp_')]" use="@bibitemid"/>
11
11
 
12
12
  <xsl:variable name="debug">false</xsl:variable>
13
13
 
@@ -257,16 +257,11 @@
257
257
  </xsl:choose>
258
258
  </xsl:variable>
259
259
 
260
- <xsl:variable name="document-master-reference">
261
- <xsl:choose>
262
- <xsl:when test="$stage-abbreviation != ''">-publishedISO</xsl:when>
263
- <xsl:otherwise/>
264
- </xsl:choose>
265
- </xsl:variable>
260
+ <xsl:variable name="document-master-reference_addon"><xsl:if test="$stage-abbreviation = ''">-nonpublished</xsl:if></xsl:variable>
266
261
 
267
262
  <xsl:variable name="force-page-count-preface">
268
263
  <xsl:choose>
269
- <xsl:when test="$document-master-reference != ''">end-on-even</xsl:when>
264
+ <xsl:when test="$document-master-reference_addon = ''">end-on-even</xsl:when>
270
265
  <xsl:otherwise>no-force</xsl:otherwise>
271
266
  </xsl:choose>
272
267
  </xsl:variable>
@@ -423,6 +418,359 @@
423
418
 
424
419
  <xsl:variable name="XML" select="/"/>
425
420
 
421
+ <xsl:template name="layout-master-set">
422
+ <fo:layout-master-set>
423
+
424
+ <xsl:variable name="marginLeftRight_cover_page_1951">16.5</xsl:variable> <!-- 12.5 -->
425
+ <xsl:variable name="marginTop_cover_page_1951">19.5</xsl:variable>
426
+ <xsl:variable name="marginBottom_cover_page_1951">94.5</xsl:variable>
427
+
428
+ <xsl:variable name="marginLeft_cover_page_1972">21</xsl:variable>
429
+ <xsl:variable name="marginRight_cover_page_1972">12</xsl:variable>
430
+ <xsl:variable name="marginTop_cover_page_1972">15</xsl:variable>
431
+ <xsl:variable name="marginBottom_cover_page_1972">33</xsl:variable>
432
+
433
+ <xsl:variable name="marginLeft_cover_page_1987">20</xsl:variable>
434
+ <xsl:variable name="marginRight_cover_page_1987">37</xsl:variable>
435
+ <xsl:variable name="marginTopBottom_cover_page_1987">20</xsl:variable>
436
+
437
+ <xsl:variable name="marginLeftRight_cover_page_2024">9.9</xsl:variable>
438
+ <xsl:variable name="marginTopBottom_cover_page_2024">9.9</xsl:variable>
439
+
440
+ <!-- cover page -->
441
+ <fo:simple-page-master master-name="cover-page-nonpublished" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
442
+ <fo:region-body margin-top="25.4mm" margin-bottom="25.4mm" margin-left="31.7mm" margin-right="31.7mm"/>
443
+ <fo:region-before region-name="cover-page-header" extent="25.4mm"/>
444
+ <fo:region-after/>
445
+ <fo:region-start region-name="cover-left-region" extent="31.7mm"/>
446
+ <fo:region-end region-name="cover-right-region" extent="31.7mm"/>
447
+ </fo:simple-page-master>
448
+
449
+ <fo:simple-page-master master-name="cover-page-published" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
450
+ <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="78mm" margin-right="18.5mm"/>
451
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
452
+ <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
453
+ <fo:region-start region-name="cover-left-region" extent="78mm"/>
454
+ <fo:region-end region-name="cover-right-region" extent="18.5mm"/>
455
+ </fo:simple-page-master>
456
+
457
+ <fo:simple-page-master master-name="cover-page-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
458
+ <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
459
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
460
+ <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
461
+ <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight1}mm"/>
462
+ <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight2}mm"/>
463
+ </fo:simple-page-master>
464
+ <fo:simple-page-master master-name="cover-page-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
465
+ <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
466
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
467
+ <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
468
+ <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight2}mm"/>
469
+ <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight1}mm"/>
470
+ </fo:simple-page-master>
471
+ <fo:page-sequence-master master-name="cover-page">
472
+ <fo:repeatable-page-master-alternatives>
473
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="cover-page-even"/>
474
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="cover-page-odd"/>
475
+ </fo:repeatable-page-master-alternatives>
476
+ </fo:page-sequence-master>
477
+
478
+ <fo:simple-page-master master-name="cover-page_1951" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
479
+ <fo:region-body margin-top="{$marginTop_cover_page_1951}mm" margin-bottom="{$marginBottom_cover_page_1951}mm" margin-left="{$marginLeftRight_cover_page_1951}mm" margin-right="{$marginLeftRight_cover_page_1951}mm"/>
480
+ <fo:region-before region-name="cover-page-header" extent="{$marginTop_cover_page_1951}mm"/>
481
+ <fo:region-after region-name="cover-page-footer" extent="{$marginBottom_cover_page_1951}mm"/>
482
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight_cover_page_1951}mm"/>
483
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight_cover_page_1951}mm"/>
484
+ </fo:simple-page-master>
485
+
486
+ <fo:simple-page-master master-name="cover-page_1972" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
487
+ <fo:region-body margin-top="{$marginTop_cover_page_1972}mm" margin-bottom="{$marginBottom_cover_page_1972}mm" margin-left="{$marginLeft_cover_page_1972}mm" margin-right="{$marginRight_cover_page_1972}mm"/>
488
+ <fo:region-before region-name="cover-page-header" extent="{$marginTop_cover_page_1972}mm"/>
489
+ <fo:region-after region-name="cover-page-footer" extent="{$marginBottom_cover_page_1972}mm"/>
490
+ <fo:region-start region-name="left-region" extent="{$marginLeft_cover_page_1972}mm"/>
491
+ <fo:region-end region-name="right-region" extent="{$marginRight_cover_page_1972}mm"/>
492
+ </fo:simple-page-master>
493
+
494
+ <fo:simple-page-master master-name="cover-page_1987" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
495
+ <fo:region-body margin-top="{$marginTopBottom_cover_page_1987}mm" margin-bottom="{$marginTopBottom_cover_page_1987}mm" margin-left="{$marginLeft_cover_page_1987}mm" margin-right="{$marginRight_cover_page_1987}mm"/>
496
+ <fo:region-before region-name="cover-page-header" extent="{$marginTopBottom_cover_page_1987}mm" precedence="true"/>
497
+ <fo:region-after region-name="cover-page-footer" extent="{$marginTopBottom_cover_page_1987}mm" precedence="true"/>
498
+ <fo:region-start region-name="left-region" extent="{$marginLeft_cover_page_1987}mm"/>
499
+ <fo:region-end region-name="right-region" extent="{$marginRight_cover_page_1987}mm"/>
500
+ </fo:simple-page-master>
501
+
502
+ <fo:simple-page-master master-name="cover-page_2024" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
503
+ <fo:region-body margin-top="{$marginTopBottom_cover_page_2024}mm" margin-bottom="{$marginTopBottom_cover_page_2024}mm" margin-left="{$marginLeftRight_cover_page_2024}mm" margin-right="{$marginLeftRight_cover_page_2024}mm"/>
504
+ <fo:region-before region-name="header" extent="{$marginTopBottom_cover_page_2024}mm"/>
505
+ <fo:region-after region-name="footer" extent="{$marginTopBottom_cover_page_2024}mm"/>
506
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
507
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
508
+ </fo:simple-page-master>
509
+
510
+ <!-- contents pages -->
511
+ <!-- odd pages -->
512
+ <fo:simple-page-master master-name="odd-nonpublished" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
513
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
514
+ <fo:region-before region-name="header-odd" extent="27.4mm"/> <!-- display-align="center" -->
515
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
516
+ <fo:region-start region-name="left-region" extent="19mm"/>
517
+ <fo:region-end region-name="right-region" extent="19mm"/>
518
+ </fo:simple-page-master>
519
+ <fo:simple-page-master master-name="odd-nonpublished-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
520
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
521
+ <fo:region-before region-name="header-odd" extent="27.4mm"/>
522
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
523
+ <fo:region-start region-name="left-region" extent="19mm"/>
524
+ <fo:region-end region-name="right-region" extent="19mm"/>
525
+ </fo:simple-page-master>
526
+ <!-- even pages -->
527
+ <fo:simple-page-master master-name="even-nonpublished" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
528
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
529
+ <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
530
+ <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
531
+ <fo:region-start region-name="left-region" extent="19mm"/>
532
+ <fo:region-end region-name="right-region" extent="19mm"/>
533
+ </fo:simple-page-master>
534
+ <fo:simple-page-master master-name="even-nonpublished-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
535
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
536
+ <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
537
+ <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
538
+ <fo:region-start region-name="left-region" extent="19mm"/>
539
+ <fo:region-end region-name="right-region" extent="19mm"/>
540
+ </fo:simple-page-master>
541
+ <fo:page-sequence-master master-name="preface-nonpublished">
542
+ <fo:repeatable-page-master-alternatives>
543
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-nonpublished"/>
544
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-nonpublished"/>
545
+ </fo:repeatable-page-master-alternatives>
546
+ </fo:page-sequence-master>
547
+ <fo:page-sequence-master master-name="preface-nonpublished-landscape">
548
+ <fo:repeatable-page-master-alternatives>
549
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-nonpublished-landscape"/>
550
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-nonpublished-landscape"/>
551
+ </fo:repeatable-page-master-alternatives>
552
+ </fo:page-sequence-master>
553
+ <fo:page-sequence-master master-name="document-nonpublished">
554
+ <fo:repeatable-page-master-alternatives>
555
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-nonpublished"/>
556
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-nonpublished"/>
557
+ </fo:repeatable-page-master-alternatives>
558
+ </fo:page-sequence-master>
559
+ <fo:page-sequence-master master-name="document-nonpublished-landscape">
560
+ <fo:repeatable-page-master-alternatives>
561
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-nonpublished-landscape"/>
562
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-nonpublished-landscape"/>
563
+ </fo:repeatable-page-master-alternatives>
564
+ </fo:page-sequence-master>
565
+
566
+ <fo:simple-page-master master-name="first-preface_1972-1998" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
567
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="95mm" margin-left="{$marginLeftRight2}mm" margin-right="82mm"/>
568
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
569
+ <fo:region-after region-name="footer-preface-first_1972-1998" extent="95mm"/>
570
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
571
+ <fo:region-end region-name="right-region" extent="82mm"/>
572
+ </fo:simple-page-master>
573
+ <fo:simple-page-master master-name="odd-preface_1972-1998" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
574
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="82mm" margin-right="{$marginLeftRight2}mm"/>
575
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
576
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
577
+ <fo:region-start region-name="left-region" extent="82mm"/>
578
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
579
+ </fo:simple-page-master>
580
+ <fo:simple-page-master master-name="even-preface_1972-1998" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
581
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="82mm"/>
582
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
583
+ <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
584
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
585
+ <fo:region-end region-name="right-region" extent="82mm"/>
586
+ </fo:simple-page-master>
587
+ <fo:page-sequence-master master-name="preface-1972-1998">
588
+ <fo:repeatable-page-master-alternatives>
589
+ <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
590
+ <fo:conditional-page-master-reference master-reference="first-preface_1972-1998" page-position="first"/>
591
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-preface_1972-1998"/>
592
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-preface_1972-1998"/>
593
+ </fo:repeatable-page-master-alternatives>
594
+ </fo:page-sequence-master>
595
+
596
+ <!-- first page -->
597
+ <fo:simple-page-master master-name="firstpage" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
598
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
599
+ <fo:region-before region-name="header-first" extent="{$marginTop}mm">
600
+ <xsl:if test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))">
601
+ <xsl:attribute name="region-name">header-odd</xsl:attribute>
602
+ </xsl:if>
603
+ </fo:region-before>
604
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
605
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
606
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
607
+ </fo:simple-page-master>
608
+ <!-- odd pages -->
609
+ <fo:simple-page-master master-name="odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
610
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
611
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm">
612
+ <xsl:if test="$layoutVersion = '1951'">
613
+ <xsl:attribute name="precedence">true</xsl:attribute>
614
+ </xsl:if>
615
+ </fo:region-before>
616
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
617
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
618
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
619
+ </fo:simple-page-master>
620
+
621
+ <fo:simple-page-master master-name="odd-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
622
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
623
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
624
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
625
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
626
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
627
+ </fo:simple-page-master>
628
+ <!-- even pages -->
629
+ <fo:simple-page-master master-name="even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
630
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
631
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm">
632
+ <xsl:if test="$layoutVersion = '1951'">
633
+ <xsl:attribute name="precedence">true</xsl:attribute>
634
+ </xsl:if>
635
+ </fo:region-before>
636
+ <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
637
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
638
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
639
+ </fo:simple-page-master>
640
+
641
+ <!-- for 1951 layout only -->
642
+ <fo:simple-page-master master-name="even-last" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
643
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
644
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm" precedence="true"/>
645
+ <fo:region-after region-name="footer-even-last" extent="{$marginBottom - 2}mm"/>
646
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
647
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
648
+ </fo:simple-page-master>
649
+
650
+ <fo:simple-page-master master-name="even-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
651
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
652
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
653
+ <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
654
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
655
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
656
+ </fo:simple-page-master>
657
+ <fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
658
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
659
+ <fo:region-before region-name="header" extent="{$marginTop}mm"/>
660
+ <fo:region-after region-name="footer" extent="{$marginBottom - 2}mm"/>
661
+ <fo:region-start region-name="left" extent="{$marginLeftRight2}mm"/>
662
+ <fo:region-end region-name="right" extent="{$marginLeftRight1}mm"/>
663
+ </fo:simple-page-master>
664
+ <fo:page-sequence-master master-name="preface">
665
+ <fo:repeatable-page-master-alternatives>
666
+ <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
667
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
668
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
669
+ </fo:repeatable-page-master-alternatives>
670
+ </fo:page-sequence-master>
671
+ <fo:page-sequence-master master-name="preface-landscape">
672
+ <fo:repeatable-page-master-alternatives>
673
+ <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
674
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-landscape"/>
675
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-landscape"/>
676
+ </fo:repeatable-page-master-alternatives>
677
+ </fo:page-sequence-master>
678
+
679
+ <!-- First pages for Technical Report (layout 1987) -->
680
+ <fo:simple-page-master master-name="first-preface_1987_TR" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
681
+ <fo:region-body margin-top="13mm" margin-bottom="30mm" margin-left="19mm" margin-right="10.5mm"/>
682
+ <fo:region-before region-name="header-empty" extent="13mm"/>
683
+ <fo:region-after region-name="footer-preface-first_1987_TR" extent="30mm" display-align="after"/>
684
+ <fo:region-start region-name="left-region-first_1987_TR" extent="19mm"/>
685
+ <fo:region-end region-name="right-region" extent="10.5mm"/>
686
+ </fo:simple-page-master>
687
+ <fo:page-sequence-master master-name="preface-1987_TR">
688
+ <fo:repeatable-page-master-alternatives>
689
+ <fo:conditional-page-master-reference master-reference="first-preface_1987_TR" page-position="first"/>
690
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
691
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
692
+ </fo:repeatable-page-master-alternatives>
693
+ </fo:page-sequence-master>
694
+
695
+ <fo:page-sequence-master master-name="document_first_sequence">
696
+ <fo:repeatable-page-master-alternatives>
697
+ <xsl:if test="not($layoutVersion = '1951')">
698
+ <fo:conditional-page-master-reference master-reference="firstpage" page-position="first"/>
699
+ </xsl:if>
700
+ <xsl:if test="$layoutVersion = '1951'">
701
+ <fo:conditional-page-master-reference page-position="last" master-reference="even-last"/> <!-- odd-or-even="even" -->
702
+ </xsl:if>
703
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
704
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
705
+ </fo:repeatable-page-master-alternatives>
706
+ </fo:page-sequence-master>
707
+
708
+ <fo:page-sequence-master master-name="document">
709
+ <fo:repeatable-page-master-alternatives>
710
+ <xsl:if test="$layoutVersion = '1951'">
711
+ <fo:conditional-page-master-reference page-position="last" master-reference="even-last"/> <!-- odd-or-even="even" -->
712
+ </xsl:if>
713
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
714
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
715
+ </fo:repeatable-page-master-alternatives>
716
+ </fo:page-sequence-master>
717
+
718
+ <fo:page-sequence-master master-name="document-landscape_first_sequence">
719
+ <fo:repeatable-page-master-alternatives>
720
+ <xsl:if test="not($layoutVersion = '1951')">
721
+ <fo:conditional-page-master-reference master-reference="firstpage" page-position="first"/>
722
+ </xsl:if>
723
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-landscape"/>
724
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-landscape"/>
725
+ </fo:repeatable-page-master-alternatives>
726
+ </fo:page-sequence-master>
727
+ <fo:page-sequence-master master-name="document-landscape">
728
+ <fo:repeatable-page-master-alternatives>
729
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-landscape"/>
730
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-landscape"/>
731
+ </fo:repeatable-page-master-alternatives>
732
+ </fo:page-sequence-master>
733
+
734
+ <fo:simple-page-master master-name="back-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
735
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
736
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
737
+ <fo:region-after region-name="back-page-footer" extent="{$marginBottom - 2}mm"/>
738
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
739
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
740
+ </fo:simple-page-master>
741
+
742
+ <fo:simple-page-master master-name="back-page_2024" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
743
+ <fo:region-body margin-top="{$marginTopBottom_cover_page_2024}mm" margin-bottom="{$marginTopBottom_cover_page_2024}mm" margin-left="{$marginLeftRight_cover_page_2024}mm" margin-right="{$marginLeftRight_cover_page_2024}mm"/>
744
+ <fo:region-before region-name="header" extent="{$marginTopBottom_cover_page_2024}mm"/>
745
+ <fo:region-after region-name="footer" extent="{$marginTopBottom_cover_page_2024}mm"/>
746
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
747
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
748
+ </fo:simple-page-master>
749
+
750
+ <!-- Index pages -->
751
+ <fo:simple-page-master master-name="index-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
752
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="2" column-gap="10mm"/>
753
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/>
754
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
755
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
756
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
757
+ </fo:simple-page-master>
758
+ <fo:simple-page-master master-name="index-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
759
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="2" column-gap="10mm"/>
760
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
761
+ <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
762
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
763
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
764
+ </fo:simple-page-master>
765
+ <fo:page-sequence-master master-name="index">
766
+ <fo:repeatable-page-master-alternatives>
767
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="index-even"/>
768
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="index-odd"/>
769
+ </fo:repeatable-page-master-alternatives>
770
+ </fo:page-sequence-master>
771
+ </fo:layout-master-set>
772
+ </xsl:template> <!-- END: layout-master-set -->
773
+
426
774
  <xsl:template match="/">
427
775
 
428
776
  <fo:root xml:lang="{$lang}">
@@ -465,7 +813,7 @@
465
813
  <xsl:with-param name="root-style" select="$root-style"/>
466
814
  </xsl:call-template>
467
815
 
468
- <xsl:if test="$layoutVersion = '2024'">
816
+ <xsl:if test="$layoutVersion = '2024' and /mn:metanorma/mn:bibdata/mn:contributor[mn:role/@type = 'author']/mn:organization/mn:abbreviation = 'ISO'">
469
817
  <xsl:attribute name="color">rgb(35,31,32)</xsl:attribute>
470
818
  </xsl:if>
471
819
 
@@ -473,365 +821,15 @@
473
821
  <xsl:processing-instruction name="add_line_numbers">true</xsl:processing-instruction>
474
822
  </xsl:if>
475
823
 
476
- <fo:layout-master-set>
477
-
478
- <xsl:variable name="marginLeftRight_cover_page_1951">16.5</xsl:variable> <!-- 12.5 -->
479
- <xsl:variable name="marginTop_cover_page_1951">19.5</xsl:variable>
480
- <xsl:variable name="marginBottom_cover_page_1951">94.5</xsl:variable>
481
-
482
- <xsl:variable name="marginLeft_cover_page_1972">21</xsl:variable>
483
- <xsl:variable name="marginRight_cover_page_1972">12</xsl:variable>
484
- <xsl:variable name="marginTop_cover_page_1972">15</xsl:variable>
485
- <xsl:variable name="marginBottom_cover_page_1972">33</xsl:variable>
486
-
487
- <xsl:variable name="marginLeft_cover_page_1987">20</xsl:variable>
488
- <xsl:variable name="marginRight_cover_page_1987">37</xsl:variable>
489
- <xsl:variable name="marginTopBottom_cover_page_1987">20</xsl:variable>
490
-
491
- <xsl:variable name="marginLeftRight_cover_page_2024">9.9</xsl:variable>
492
- <xsl:variable name="marginTopBottom_cover_page_2024">9.9</xsl:variable>
493
-
494
- <!-- cover page -->
495
- <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
496
- <fo:region-body margin-top="25.4mm" margin-bottom="25.4mm" margin-left="31.7mm" margin-right="31.7mm"/>
497
- <fo:region-before region-name="cover-page-header" extent="25.4mm"/>
498
- <fo:region-after/>
499
- <fo:region-start region-name="cover-left-region" extent="31.7mm"/>
500
- <fo:region-end region-name="cover-right-region" extent="31.7mm"/>
501
- </fo:simple-page-master>
502
-
503
- <fo:simple-page-master master-name="cover-page-published" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
504
- <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="78mm" margin-right="18.5mm"/>
505
- <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
506
- <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
507
- <fo:region-start region-name="cover-left-region" extent="78mm"/>
508
- <fo:region-end region-name="cover-right-region" extent="18.5mm"/>
509
- </fo:simple-page-master>
510
-
511
- <fo:simple-page-master master-name="cover-page-publishedISO-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
512
- <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
513
- <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
514
- <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
515
- <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight1}mm"/>
516
- <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight2}mm"/>
517
- </fo:simple-page-master>
518
- <fo:simple-page-master master-name="cover-page-publishedISO-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
519
- <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
520
- <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
521
- <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
522
- <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight2}mm"/>
523
- <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight1}mm"/>
524
- </fo:simple-page-master>
525
- <fo:page-sequence-master master-name="cover-page-publishedISO">
526
- <fo:repeatable-page-master-alternatives>
527
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="cover-page-publishedISO-even"/>
528
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="cover-page-publishedISO-odd"/>
529
- </fo:repeatable-page-master-alternatives>
530
- </fo:page-sequence-master>
531
-
532
- <fo:simple-page-master master-name="cover-page_1951" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
533
- <fo:region-body margin-top="{$marginTop_cover_page_1951}mm" margin-bottom="{$marginBottom_cover_page_1951}mm" margin-left="{$marginLeftRight_cover_page_1951}mm" margin-right="{$marginLeftRight_cover_page_1951}mm"/>
534
- <fo:region-before region-name="cover-page-header" extent="{$marginTop_cover_page_1951}mm"/>
535
- <fo:region-after region-name="cover-page-footer" extent="{$marginBottom_cover_page_1951}mm"/>
536
- <fo:region-start region-name="left-region" extent="{$marginLeftRight_cover_page_1951}mm"/>
537
- <fo:region-end region-name="right-region" extent="{$marginLeftRight_cover_page_1951}mm"/>
538
- </fo:simple-page-master>
539
-
540
- <fo:simple-page-master master-name="cover-page_1972" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
541
- <fo:region-body margin-top="{$marginTop_cover_page_1972}mm" margin-bottom="{$marginBottom_cover_page_1972}mm" margin-left="{$marginLeft_cover_page_1972}mm" margin-right="{$marginRight_cover_page_1972}mm"/>
542
- <fo:region-before region-name="cover-page-header" extent="{$marginTop_cover_page_1972}mm"/>
543
- <fo:region-after region-name="cover-page-footer" extent="{$marginBottom_cover_page_1972}mm"/>
544
- <fo:region-start region-name="left-region" extent="{$marginLeft_cover_page_1972}mm"/>
545
- <fo:region-end region-name="right-region" extent="{$marginRight_cover_page_1972}mm"/>
546
- </fo:simple-page-master>
547
-
548
- <fo:simple-page-master master-name="cover-page_1987" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
549
- <fo:region-body margin-top="{$marginTopBottom_cover_page_1987}mm" margin-bottom="{$marginTopBottom_cover_page_1987}mm" margin-left="{$marginLeft_cover_page_1987}mm" margin-right="{$marginRight_cover_page_1987}mm"/>
550
- <fo:region-before region-name="cover-page-header" extent="{$marginTopBottom_cover_page_1987}mm" precedence="true"/>
551
- <fo:region-after region-name="cover-page-footer" extent="{$marginTopBottom_cover_page_1987}mm" precedence="true"/>
552
- <fo:region-start region-name="left-region" extent="{$marginLeft_cover_page_1987}mm"/>
553
- <fo:region-end region-name="right-region" extent="{$marginRight_cover_page_1987}mm"/>
554
- </fo:simple-page-master>
555
-
556
- <fo:simple-page-master master-name="cover-page_2024" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
557
- <fo:region-body margin-top="{$marginTopBottom_cover_page_2024}mm" margin-bottom="{$marginTopBottom_cover_page_2024}mm" margin-left="{$marginLeftRight_cover_page_2024}mm" margin-right="{$marginLeftRight_cover_page_2024}mm"/>
558
- <fo:region-before region-name="header" extent="{$marginTopBottom_cover_page_2024}mm"/>
559
- <fo:region-after region-name="footer" extent="{$marginTopBottom_cover_page_2024}mm"/>
560
- <fo:region-start region-name="left-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
561
- <fo:region-end region-name="right-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
562
- </fo:simple-page-master>
563
-
564
- <!-- contents pages -->
565
- <!-- odd pages -->
566
- <fo:simple-page-master master-name="odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
567
- <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
568
- <fo:region-before region-name="header-odd" extent="27.4mm"/> <!-- display-align="center" -->
569
- <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
570
- <fo:region-start region-name="left-region" extent="19mm"/>
571
- <fo:region-end region-name="right-region" extent="19mm"/>
572
- </fo:simple-page-master>
573
- <fo:simple-page-master master-name="odd-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
574
- <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
575
- <fo:region-before region-name="header-odd" extent="27.4mm"/>
576
- <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
577
- <fo:region-start region-name="left-region" extent="19mm"/>
578
- <fo:region-end region-name="right-region" extent="19mm"/>
579
- </fo:simple-page-master>
580
- <!-- even pages -->
581
- <fo:simple-page-master master-name="even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
582
- <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
583
- <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
584
- <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
585
- <fo:region-start region-name="left-region" extent="19mm"/>
586
- <fo:region-end region-name="right-region" extent="19mm"/>
587
- </fo:simple-page-master>
588
- <fo:simple-page-master master-name="even-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
589
- <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom}mm" margin-left="19mm" margin-right="19mm"/>
590
- <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
591
- <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
592
- <fo:region-start region-name="left-region" extent="19mm"/>
593
- <fo:region-end region-name="right-region" extent="19mm"/>
594
- </fo:simple-page-master>
595
- <fo:page-sequence-master master-name="preface">
596
- <fo:repeatable-page-master-alternatives>
597
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
598
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
599
- </fo:repeatable-page-master-alternatives>
600
- </fo:page-sequence-master>
601
- <fo:page-sequence-master master-name="preface-landscape">
602
- <fo:repeatable-page-master-alternatives>
603
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-landscape"/>
604
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-landscape"/>
605
- </fo:repeatable-page-master-alternatives>
606
- </fo:page-sequence-master>
607
- <fo:page-sequence-master master-name="document">
608
- <fo:repeatable-page-master-alternatives>
609
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
610
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
611
- </fo:repeatable-page-master-alternatives>
612
- </fo:page-sequence-master>
613
- <fo:page-sequence-master master-name="document-landscape">
614
- <fo:repeatable-page-master-alternatives>
615
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-landscape"/>
616
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-landscape"/>
617
- </fo:repeatable-page-master-alternatives>
618
- </fo:page-sequence-master>
619
-
620
- <fo:simple-page-master master-name="first-preface_1972-1998" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
621
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="95mm" margin-left="{$marginLeftRight2}mm" margin-right="82mm"/>
622
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
623
- <fo:region-after region-name="footer-preface-first_1972-1998" extent="95mm"/>
624
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
625
- <fo:region-end region-name="right-region" extent="82mm"/>
626
- </fo:simple-page-master>
627
- <fo:simple-page-master master-name="odd-preface_1972-1998" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
628
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="82mm" margin-right="{$marginLeftRight2}mm"/>
629
- <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
630
- <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
631
- <fo:region-start region-name="left-region" extent="82mm"/>
632
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
633
- </fo:simple-page-master>
634
- <fo:simple-page-master master-name="even-preface_1972-1998" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
635
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="82mm"/>
636
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
637
- <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
638
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
639
- <fo:region-end region-name="right-region" extent="82mm"/>
640
- </fo:simple-page-master>
641
- <fo:page-sequence-master master-name="preface-1972-1998">
642
- <fo:repeatable-page-master-alternatives>
643
- <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
644
- <fo:conditional-page-master-reference master-reference="first-preface_1972-1998" page-position="first"/>
645
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-preface_1972-1998"/>
646
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-preface_1972-1998"/>
647
- </fo:repeatable-page-master-alternatives>
648
- </fo:page-sequence-master>
649
-
650
- <!-- first page -->
651
- <fo:simple-page-master master-name="first-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
652
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
653
- <fo:region-before region-name="header-first" extent="{$marginTop}mm">
654
- <xsl:if test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))">
655
- <xsl:attribute name="region-name">header-odd</xsl:attribute>
656
- </xsl:if>
657
- </fo:region-before>
658
- <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
659
- <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
660
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
661
- </fo:simple-page-master>
662
- <!-- odd pages -->
663
- <fo:simple-page-master master-name="odd-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
664
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
665
- <fo:region-before region-name="header-odd" extent="{$marginTop}mm">
666
- <xsl:if test="$layoutVersion = '1951'">
667
- <xsl:attribute name="precedence">true</xsl:attribute>
668
- </xsl:if>
669
- </fo:region-before>
670
- <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
671
- <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
672
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
673
- </fo:simple-page-master>
674
-
675
- <fo:simple-page-master master-name="odd-publishedISO-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
676
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
677
- <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
678
- <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
679
- <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
680
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
681
- </fo:simple-page-master>
682
- <!-- even pages -->
683
- <fo:simple-page-master master-name="even-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
684
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
685
- <fo:region-before region-name="header-even" extent="{$marginTop}mm">
686
- <xsl:if test="$layoutVersion = '1951'">
687
- <xsl:attribute name="precedence">true</xsl:attribute>
688
- </xsl:if>
689
- </fo:region-before>
690
- <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
691
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
692
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
693
- </fo:simple-page-master>
694
-
695
- <!-- for 1951 layout only -->
696
- <fo:simple-page-master master-name="even-last-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
697
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
698
- <fo:region-before region-name="header-even" extent="{$marginTop}mm" precedence="true"/>
699
- <fo:region-after region-name="footer-even-last" extent="{$marginBottom - 2}mm"/>
700
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
701
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
702
- </fo:simple-page-master>
703
-
704
- <fo:simple-page-master master-name="even-publishedISO-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
705
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
706
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
707
- <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
708
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
709
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
710
- </fo:simple-page-master>
711
- <fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
712
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
713
- <fo:region-before region-name="header" extent="{$marginTop}mm"/>
714
- <fo:region-after region-name="footer" extent="{$marginBottom - 2}mm"/>
715
- <fo:region-start region-name="left" extent="{$marginLeftRight2}mm"/>
716
- <fo:region-end region-name="right" extent="{$marginLeftRight1}mm"/>
717
- </fo:simple-page-master>
718
- <fo:page-sequence-master master-name="preface-publishedISO">
719
- <fo:repeatable-page-master-alternatives>
720
- <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
721
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
722
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
723
- </fo:repeatable-page-master-alternatives>
724
- </fo:page-sequence-master>
725
- <fo:page-sequence-master master-name="preface-publishedISO-landscape">
726
- <fo:repeatable-page-master-alternatives>
727
- <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
728
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO-landscape"/>
729
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO-landscape"/>
730
- </fo:repeatable-page-master-alternatives>
731
- </fo:page-sequence-master>
732
-
733
- <!-- First pages for Technical Report (layout 1987) -->
734
- <fo:simple-page-master master-name="first-preface_1987_TR" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
735
- <fo:region-body margin-top="13mm" margin-bottom="30mm" margin-left="19mm" margin-right="10.5mm"/>
736
- <fo:region-before region-name="header-empty" extent="13mm"/>
737
- <fo:region-after region-name="footer-preface-first_1987_TR" extent="30mm" display-align="after"/>
738
- <fo:region-start region-name="left-region-first_1987_TR" extent="19mm"/>
739
- <fo:region-end region-name="right-region" extent="10.5mm"/>
740
- </fo:simple-page-master>
741
- <fo:page-sequence-master master-name="preface-1987_TR">
742
- <fo:repeatable-page-master-alternatives>
743
- <fo:conditional-page-master-reference master-reference="first-preface_1987_TR" page-position="first"/>
744
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
745
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
746
- </fo:repeatable-page-master-alternatives>
747
- </fo:page-sequence-master>
748
-
749
- <fo:page-sequence-master master-name="document-publishedISO_first_sequence">
750
- <fo:repeatable-page-master-alternatives>
751
- <xsl:if test="not($layoutVersion = '1951')">
752
- <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
753
- </xsl:if>
754
- <xsl:if test="$layoutVersion = '1951'">
755
- <fo:conditional-page-master-reference page-position="last" master-reference="even-last-publishedISO"/> <!-- odd-or-even="even" -->
756
- </xsl:if>
757
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
758
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
759
- </fo:repeatable-page-master-alternatives>
760
- </fo:page-sequence-master>
761
-
762
- <fo:page-sequence-master master-name="document-publishedISO">
763
- <fo:repeatable-page-master-alternatives>
764
- <xsl:if test="$layoutVersion = '1951'">
765
- <fo:conditional-page-master-reference page-position="last" master-reference="even-last-publishedISO"/> <!-- odd-or-even="even" -->
766
- </xsl:if>
767
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
768
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
769
- </fo:repeatable-page-master-alternatives>
770
- </fo:page-sequence-master>
771
-
772
- <fo:page-sequence-master master-name="document-publishedISO-landscape_first_sequence">
773
- <fo:repeatable-page-master-alternatives>
774
- <xsl:if test="not($layoutVersion = '1951')">
775
- <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
776
- </xsl:if>
777
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO-landscape"/>
778
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO-landscape"/>
779
- </fo:repeatable-page-master-alternatives>
780
- </fo:page-sequence-master>
781
- <fo:page-sequence-master master-name="document-publishedISO-landscape">
782
- <fo:repeatable-page-master-alternatives>
783
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO-landscape"/>
784
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO-landscape"/>
785
- </fo:repeatable-page-master-alternatives>
786
- </fo:page-sequence-master>
787
-
788
- <fo:simple-page-master master-name="last-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
789
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
790
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
791
- <fo:region-after region-name="last-page-footer" extent="{$marginBottom - 2}mm"/>
792
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
793
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
794
- </fo:simple-page-master>
795
-
796
- <fo:simple-page-master master-name="last-page_2024" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
797
- <fo:region-body margin-top="{$marginTopBottom_cover_page_2024}mm" margin-bottom="{$marginTopBottom_cover_page_2024}mm" margin-left="{$marginLeftRight_cover_page_2024}mm" margin-right="{$marginLeftRight_cover_page_2024}mm"/>
798
- <fo:region-before region-name="header" extent="{$marginTopBottom_cover_page_2024}mm"/>
799
- <fo:region-after region-name="footer" extent="{$marginTopBottom_cover_page_2024}mm"/>
800
- <fo:region-start region-name="left-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
801
- <fo:region-end region-name="right-region" extent="{$marginLeftRight_cover_page_2024}mm"/>
802
- </fo:simple-page-master>
803
-
804
- <!-- Index pages -->
805
- <fo:simple-page-master master-name="index-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
806
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="2" column-gap="10mm"/>
807
- <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/>
808
- <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
809
- <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
810
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
811
- </fo:simple-page-master>
812
- <fo:simple-page-master master-name="index-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
813
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="2" column-gap="10mm"/>
814
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
815
- <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
816
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
817
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
818
- </fo:simple-page-master>
819
- <fo:page-sequence-master master-name="index">
820
- <fo:repeatable-page-master-alternatives>
821
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="index-even"/>
822
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="index-odd"/>
823
- </fo:repeatable-page-master-alternatives>
824
- </fo:page-sequence-master>
825
-
826
- </fo:layout-master-set>
824
+ <xsl:call-template name="layout-master-set"/>
827
825
 
828
826
  <fo:declarations>
829
827
  <xsl:call-template name="addPDFUAmeta"/>
830
- <xsl:for-each select="//mn:eref[generate-id(.)=generate-id(key('attachments',@bibitemid)[1])]">
828
+ <xsl:for-each select="//mn:fmt-eref[generate-id(.)=generate-id(key('attachments',@bibitemid)[1])]">
831
829
  <xsl:variable name="url" select="concat('url(file:',$basepath, @bibitemid, ')')"/>
832
830
  <pdf:embedded-file src="{$url}" filename="{@bibitemid}"/>
833
831
  </xsl:for-each>
834
- <xsl:for-each select="//mn:eref[generate-id(.)=generate-id(key('attachments2',@bibitemid)[1])]">
832
+ <xsl:for-each select="//mn:fmt-eref[generate-id(.)=generate-id(key('attachments2',@bibitemid)[1])]">
835
833
  <xsl:variable name="bibitemid" select="@bibitemid"/>
836
834
  <xsl:variable name="uri" select="normalize-space($bibitems/mn:bibitem[@hidden = 'true'][@id = $bibitemid][1]/mn:uri[@type='citation'])"/>
837
835
  <xsl:if test="$uri != ''">
@@ -846,7 +844,7 @@
846
844
  <xsl:with-param name="contents" select="$contents"/>
847
845
  </xsl:call-template>
848
846
 
849
- <xsl:call-template name="insertCoverPage"/>
847
+ <xsl:call-template name="cover-page"/>
850
848
 
851
849
  <xsl:if test="$debug = 'true'">
852
850
  <xsl:message>START updated_xml</xsl:message>
@@ -883,7 +881,7 @@
883
881
 
884
882
  <xsl:choose>
885
883
  <xsl:when test="$layoutVersion = '1951'">
886
- <fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="auto" force-page-count="no-force">
884
+ <fo:page-sequence master-reference="document{$document-master-reference_addon}" initial-page-number="auto" force-page-count="no-force">
887
885
  <fo:static-content flow-name="xsl-footnote-separator">
888
886
  <fo:block>
889
887
  <fo:leader leader-pattern="rule" leader-length="30%"/>
@@ -1061,12 +1059,12 @@
1061
1059
 
1062
1060
  <xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to preface/sections -->
1063
1061
 
1064
- <xsl:for-each select=".//*[local-name() = 'page_sequence'][parent::mn:preface][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
1062
+ <xsl:for-each select=".//mn:page_sequence[parent::mn:preface][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
1065
1063
 
1066
1064
  <fo:page-sequence format="i" force-page-count="no-force">
1067
1065
 
1068
1066
  <xsl:attribute name="master-reference">
1069
- <xsl:value-of select="concat('preface',$document-master-reference)"/>
1067
+ <xsl:value-of select="concat('preface',$document-master-reference_addon)"/>
1070
1068
  <xsl:call-template name="getPageSequenceOrientation"/>
1071
1069
  </xsl:attribute>
1072
1070
 
@@ -1210,19 +1208,19 @@
1210
1208
 
1211
1209
  <xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to sections, if top element in 'sections' -->
1212
1210
 
1213
- <xsl:for-each select=".//*[local-name() = 'page_sequence'][not(parent::mn:preface)][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
1211
+ <xsl:for-each select=".//mn:page_sequence[not(parent::mn:preface)][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
1214
1212
 
1215
1213
  <!-- BODY -->
1216
1214
  <fo:page-sequence force-page-count="no-force">
1217
1215
 
1218
- <!-- Example: msster-reference document-publishedISO-landscape_first_sequence -->
1216
+ <!-- Example: msster-reference document-landscape_first_sequence -->
1219
1217
  <xsl:attribute name="master-reference">
1220
- <xsl:value-of select="concat('document',$document-master-reference)"/>
1218
+ <xsl:value-of select="concat('document',$document-master-reference_addon)"/>
1221
1219
  <!-- <xsl:variable name="previous_orientation" select="preceding-sibling::page_sequence[@orientation][1]/@orientation"/>
1222
1220
  <xsl:if test="(@orientation = 'landscape' or $previous_orientation = 'landscape') and not(@orientation = 'portrait')">-<xsl:value-of select="@orientation"/></xsl:if> -->
1223
1221
  <xsl:call-template name="getPageSequenceOrientation"/>
1224
1222
  <xsl:if test="position() = 1">
1225
- <xsl:if test="normalize-space($document-master-reference) != ''">_first_sequence</xsl:if>
1223
+ <xsl:if test="normalize-space($document-master-reference_addon) = ''">_first_sequence</xsl:if>
1226
1224
  </xsl:if>
1227
1225
  </xsl:attribute>
1228
1226
  <xsl:if test="position() = 1">
@@ -1411,21 +1409,7 @@
1411
1409
  <xsl:message>DEBUG: processing time <xsl:value-of select="$endTime2 - $startTime2"/> msec.</xsl:message>
1412
1410
  <xsl:message>END xalan:nodeset</xsl:message> -->
1413
1411
 
1414
- <xsl:choose>
1415
- <xsl:when test="$isGenerateTableIF = 'true'"><!-- skip last page --></xsl:when>
1416
- <xsl:when test="$layoutVersion = '1951'"/>
1417
- <xsl:when test="$layoutVersion = '1972'"/>
1418
- <xsl:when test="$layoutVersion = '1979'"/>
1419
- <xsl:when test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))"><!-- UDC, Keywords and Price renders on the first page for technical-report --></xsl:when>
1420
- <xsl:when test="$layoutVersion = '2024'">
1421
- <xsl:call-template name="insertLastPage_2024"/>
1422
- </xsl:when>
1423
- <xsl:otherwise>
1424
- <xsl:if test="$isPublished = 'true'">
1425
- <xsl:call-template name="insertLastPage"/>
1426
- </xsl:if>
1427
- </xsl:otherwise>
1428
- </xsl:choose>
1412
+ <xsl:call-template name="back-page"/>
1429
1413
 
1430
1414
  </xsl:for-each>
1431
1415
  </fo:root>
@@ -1520,7 +1504,7 @@
1520
1504
  </xsl:call-template>
1521
1505
  </xsl:template> <!-- END: processPrefaceAndMainSectionsISO_items -->
1522
1506
 
1523
- <xsl:template name="insertCoverPage">
1507
+ <xsl:template name="cover-page">
1524
1508
  <xsl:if test="$isGenerateTableIF = 'false'"> <!-- no need cover page for auto-layout algorithm -->
1525
1509
  <xsl:variable name="fo_cover_page">
1526
1510
  <!-- cover page -->
@@ -2200,7 +2184,7 @@
2200
2184
  </xsl:when> <!-- END: $layoutVersion = '2024' -->
2201
2185
 
2202
2186
  <xsl:when test="$stage-abbreviation != ''">
2203
- <fo:page-sequence master-reference="cover-page-publishedISO" force-page-count="no-force">
2187
+ <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
2204
2188
  <fo:static-content flow-name="cover-page-footer" font-size="10pt">
2205
2189
  <xsl:if test="$layoutVersion = '1989'">
2206
2190
  <xsl:attribute name="font-size">9pt</xsl:attribute>
@@ -2832,7 +2816,7 @@
2832
2816
  </fo:page-sequence>
2833
2817
  </xsl:when> <!-- $isPublished = 'true' -->
2834
2818
  <xsl:otherwise>
2835
- <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
2819
+ <fo:page-sequence master-reference="cover-page-nonpublished" force-page-count="no-force">
2836
2820
  <fo:static-content flow-name="cover-page-header" font-size="10pt">
2837
2821
  <fo:block-container height="24mm" display-align="before">
2838
2822
  <fo:block padding-top="12.5mm">
@@ -2932,7 +2916,7 @@
2932
2916
  <xsl:apply-templates select="xalan:nodeset($fo_cover_page)" mode="set_table_role_skip"/>
2933
2917
 
2934
2918
  </xsl:if> <!-- $isGenerateTableIF = 'false' -->
2935
- </xsl:template> <!-- END insertCoverPage -->
2919
+ </xsl:template> <!-- END cover-page -->
2936
2920
 
2937
2921
  <xsl:template match="mn:preface/mn:introduction" mode="update_xml_step1" priority="3">
2938
2922
  <xsl:param name="process">false</xsl:param>
@@ -2983,9 +2967,62 @@
2983
2967
  <xsl:template name="insertLogoImages2024">
2984
2968
  <xsl:variable name="content-height">20</xsl:variable>
2985
2969
  <xsl:for-each select="/mn:metanorma/mn:bibdata/mn:copyright/mn:owner/mn:organization">
2970
+ <xsl:variable name="owner_number" select="count(ancestor::mn:copyright/preceding-sibling::mn:copyright) + 1"/>
2971
+ <!-- https://github.com/metanorma/metanorma-iso/issues/1386 -->
2972
+ <xsl:variable name="logo_width_">
2973
+ <xsl:for-each select="/mn:metanorma/mn:metanorma-extension/mn:presentation-metadata/*[starts-with(local-name(), 'logo-publisher-pdf-width-')]">
2974
+ <xsl:if test="local-name() = concat('logo-publisher-pdf-width-', $owner_number)">
2975
+ <xsl:value-of select="."/>
2976
+ </xsl:if>
2977
+ </xsl:for-each>
2978
+ </xsl:variable>
2979
+ <xsl:variable name="logo_width">
2980
+ <xsl:choose>
2981
+ <xsl:when test="normalize-space($logo_width_) != '' and normalize-space(translate($logo_width_, '1234567890', '')) = ''"><xsl:value-of select="$logo_width_"/>px</xsl:when>
2982
+ <xsl:otherwise><xsl:value-of select="$logo_width_"/></xsl:otherwise>
2983
+ </xsl:choose>
2984
+ </xsl:variable>
2985
+ <xsl:variable name="logo_height_">
2986
+ <xsl:for-each select="/mn:metanorma/mn:metanorma-extension/mn:presentation-metadata/*[starts-with(local-name(), 'logo-publisher-pdf-height-')]">
2987
+ <xsl:if test="local-name() = concat('logo-publisher-pdf-height-', $owner_number)">
2988
+ <xsl:value-of select="."/>
2989
+ </xsl:if>
2990
+ </xsl:for-each>
2991
+ </xsl:variable>
2992
+ <xsl:variable name="logo_height">
2993
+ <xsl:choose>
2994
+ <xsl:when test="normalize-space($logo_height_) != '' and normalize-space(translate($logo_height_, '1234567890', '')) = ''"><xsl:value-of select="$logo_height_"/>px</xsl:when>
2995
+ <xsl:otherwise><xsl:value-of select="$logo_height_"/></xsl:otherwise>
2996
+ </xsl:choose>
2997
+ </xsl:variable>
2998
+ <!-- <fo:block>logo_width=<xsl:value-of select="$logo_width"/></fo:block>
2999
+ <fo:block>logo_height=<xsl:value-of select="$logo_height"/></fo:block> -->
2986
3000
  <xsl:choose>
2987
3001
  <xsl:when test="mn:logo/mn:image">
2988
- <xsl:apply-templates select="mn:logo/mn:image"/>
3002
+ <xsl:choose>
3003
+ <xsl:when test="normalize-space($logo_width) != '' or normalize-space($logo_height) != ''">
3004
+ <xsl:variable name="logo_image">
3005
+ <xsl:for-each select="mn:logo/mn:image"> <!-- set context to logo/image -->
3006
+ <xsl:element name="logo" namespace="{$namespace_full}">
3007
+ <xsl:element name="image" namespace="{$namespace_full}">
3008
+ <xsl:copy-of select="@*"/>
3009
+ <xsl:if test="$logo_width != ''">
3010
+ <xsl:attribute name="width"><xsl:value-of select="$logo_width"/></xsl:attribute>
3011
+ </xsl:if>
3012
+ <xsl:if test="$logo_height != ''">
3013
+ <xsl:attribute name="height"><xsl:value-of select="$logo_height"/></xsl:attribute>
3014
+ </xsl:if>
3015
+ <xsl:copy-of select="node()"/>
3016
+ </xsl:element>
3017
+ </xsl:element>
3018
+ </xsl:for-each>
3019
+ </xsl:variable>
3020
+ <xsl:apply-templates select="xalan:nodeset($logo_image)//mn:logo/mn:image"/>
3021
+ </xsl:when>
3022
+ <xsl:otherwise>
3023
+ <xsl:apply-templates select="mn:logo/mn:image"/>
3024
+ </xsl:otherwise>
3025
+ </xsl:choose>
2989
3026
  </xsl:when>
2990
3027
  <xsl:when test="mn:abbreviation = 'ISO'">
2991
3028
  <fo:instream-foreign-object content-height="{$content-height}mm" fox:alt-text="Image ISO Logo">
@@ -3209,7 +3246,7 @@
3209
3246
  </xsl:if>
3210
3247
  </xsl:template>
3211
3248
 
3212
- <xsl:template match="mn:preface//mn:clause[@type = 'toc']" priority="3">
3249
+ <xsl:template match="mn:preface//mn:clause[@type = 'toc']" name="toc" priority="3">
3213
3250
  <xsl:choose>
3214
3251
  <xsl:when test="$isGenerateTableIF = 'true'"/>
3215
3252
  <xsl:when test="$toc_level = 0"/>
@@ -3217,25 +3254,18 @@
3217
3254
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report'"/>
3218
3255
  <xsl:otherwise>
3219
3256
 
3220
- <fo:block-container font-weight="bold">
3221
-
3222
- <xsl:if test="$layoutVersion = '1987'">
3223
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3224
- <xsl:attribute name="font-weight">normal</xsl:attribute>
3225
- </xsl:if>
3257
+ <fo:block-container xsl:use-attribute-sets="toc-style">
3226
3258
 
3227
- <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or ($layoutVersion = '1989' and $revision_date_num &lt;= 19981231)">
3228
- <xsl:attribute name="margin-top">62mm</xsl:attribute>
3229
- </xsl:if>
3259
+ <xsl:call-template name="refine_toc-style"/>
3230
3260
 
3231
3261
  <!-- render 'Contents' outside if role="TOC" -->
3232
- <xsl:apply-templates select="mn:title"/>
3262
+ <xsl:apply-templates select="mn:fmt-title"/>
3233
3263
 
3234
3264
  <fo:block role="TOC">
3235
3265
 
3236
- <xsl:apply-templates select="node()[not(self::mn:title)]"/>
3266
+ <xsl:apply-templates select="node()[not(self::mn:fmt-title)]"/>
3237
3267
 
3238
- <xsl:if test="count(*) = 1 and mn:title"> <!-- if there isn't user ToC -->
3268
+ <xsl:if test="count(*) = 1 and mn:fmt-title"> <!-- if there isn't user ToC -->
3239
3269
 
3240
3270
  <xsl:if test="$debug = 'true'">
3241
3271
  <redirect:write file="contents_.xml">
@@ -3257,20 +3287,9 @@
3257
3287
  </xsl:if>
3258
3288
  </xsl:if>
3259
3289
 
3260
- <fo:block role="TOCI">
3261
- <xsl:if test="@level = 1">
3262
- <xsl:attribute name="margin-top">5pt</xsl:attribute>
3263
- </xsl:if>
3264
- <xsl:if test="@level = 3">
3265
- <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
3266
- </xsl:if>
3290
+ <fo:block role="TOCI" xsl:use-attribute-sets="toc-item-style">
3267
3291
 
3268
- <xsl:if test="$layoutVersion = '1987'">
3269
- <xsl:if test="@type = 'section'">
3270
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
3271
- </xsl:if>
3272
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3273
- </xsl:if>
3292
+ <xsl:call-template name="refine_toc-item-style"/>
3274
3293
 
3275
3294
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{@section} {mnx:title}"> <!-- link at this level needs for PDF structure tags -->
3276
3295
 
@@ -3343,7 +3362,7 @@
3343
3362
  <xsl:apply-templates select="mnx:title"/>
3344
3363
 
3345
3364
  <fo:inline keep-together.within-line="always" role="SKIP">
3346
- <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
3365
+ <fo:leader xsl:use-attribute-sets="toc-leader-style"/>
3347
3366
  <fo:inline role="SKIP">
3348
3367
  <xsl:if test="@level = 1 and @type = 'annex'">
3349
3368
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -3367,24 +3386,24 @@
3367
3386
  </xsl:for-each>
3368
3387
 
3369
3388
  <!-- List of Tables -->
3370
- <xsl:if test="$contents//mnx:tables/mnx:table">
3371
- <xsl:call-template name="insertListOf_Title">
3372
- <xsl:with-param name="title" select="$title-list-tables"/>
3373
- </xsl:call-template>
3374
- <xsl:for-each select="$contents//mnx:tables/mnx:table">
3375
- <xsl:call-template name="insertListOf_Item"/>
3376
- </xsl:for-each>
3377
- </xsl:if>
3389
+ <xsl:for-each select="$contents//mnx:tables/mnx:table">
3390
+ <xsl:if test="position() = 1">
3391
+ <xsl:call-template name="insertListOf_Title">
3392
+ <xsl:with-param name="title" select="$title-list-tables"/>
3393
+ </xsl:call-template>
3394
+ </xsl:if>
3395
+ <xsl:call-template name="insertListOf_Item"/>
3396
+ </xsl:for-each>
3378
3397
 
3379
3398
  <!-- List of Figures -->
3380
- <xsl:if test="$contents//mnx:figures/mnx:figure">
3381
- <xsl:call-template name="insertListOf_Title">
3382
- <xsl:with-param name="title" select="$title-list-figures"/>
3383
- </xsl:call-template>
3384
- <xsl:for-each select="$contents//mnx:figures/mnx:figure">
3385
- <xsl:call-template name="insertListOf_Item"/>
3386
- </xsl:for-each>
3387
- </xsl:if>
3399
+ <xsl:for-each select="$contents//mnx:figures/mnx:figure">
3400
+ <xsl:if test="position() = 1">
3401
+ <xsl:call-template name="insertListOf_Title">
3402
+ <xsl:with-param name="title" select="$title-list-figures"/>
3403
+ </xsl:call-template>
3404
+ </xsl:if>
3405
+ <xsl:call-template name="insertListOf_Item"/>
3406
+ </xsl:for-each>
3388
3407
 
3389
3408
  </xsl:if>
3390
3409
  </fo:block>
@@ -3393,12 +3412,12 @@
3393
3412
  </xsl:choose>
3394
3413
  </xsl:template>
3395
3414
 
3396
- <xsl:template match="mn:preface//mn:clause[@type = 'toc']/mn:title" priority="3">
3397
- <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
3415
+ <xsl:template match="mn:preface//mn:clause[@type = 'toc']/mn:fmt-title" priority="3">
3416
+ <fo:block xsl:use-attribute-sets="toc-title-style">
3398
3417
  <xsl:if test="$layoutVersion = '2024'">
3399
3418
  <xsl:attribute name="margin-top">0</xsl:attribute>
3400
3419
  </xsl:if>
3401
- <fo:inline font-size="16pt" font-weight="bold" role="SKIP">
3420
+ <fo:inline role="SKIP">
3402
3421
  <xsl:if test="$layoutVersion = '1987'">
3403
3422
  <xsl:attribute name="font-size">14pt</xsl:attribute>
3404
3423
  </xsl:if>
@@ -3411,9 +3430,9 @@
3411
3430
  </xsl:call-template> -->
3412
3431
  <xsl:apply-templates/>
3413
3432
  </fo:inline>
3414
- <fo:inline keep-together.within-line="always" role="SKIP">
3433
+ <fo:inline font-weight="normal" keep-together.within-line="always" role="SKIP">
3415
3434
  <fo:leader leader-pattern="space"/>
3416
- <fo:inline font-weight="normal" font-size="10pt" role="SKIP">
3435
+ <fo:inline xsl:use-attribute-sets="toc-title-page-style">
3417
3436
  <xsl:if test="$layoutVersion = '1987'">
3418
3437
  <xsl:attribute name="font-size">8pt</xsl:attribute>
3419
3438
  </xsl:if>
@@ -3446,20 +3465,20 @@
3446
3465
 
3447
3466
  <xsl:template name="insertListOf_Title">
3448
3467
  <xsl:param name="title"/>
3449
- <fo:block role="TOCI" margin-top="5pt" keep-with-next="always">
3468
+ <fo:block xsl:use-attribute-sets="toc-listof-title-style">
3450
3469
  <xsl:value-of select="$title"/>
3451
3470
  </fo:block>
3452
3471
  </xsl:template>
3453
3472
 
3454
3473
  <xsl:template name="insertListOf_Item">
3455
- <fo:block role="TOCI" font-weight="normal" text-align-last="justify" margin-left="12mm">
3474
+ <fo:block xsl:use-attribute-sets="toc-listof-item-style">
3456
3475
  <fo:basic-link internal-destination="{@id}">
3457
3476
  <xsl:call-template name="setAltText">
3458
3477
  <xsl:with-param name="value" select="@alt-text"/>
3459
3478
  </xsl:call-template>
3460
3479
  <xsl:apply-templates select="." mode="contents"/>
3461
3480
  <fo:inline keep-together.within-line="always">
3462
- <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
3481
+ <fo:leader xsl:use-attribute-sets="toc-leader-style"/>
3463
3482
  <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
3464
3483
  </fo:inline>
3465
3484
  </fo:basic-link>
@@ -3726,7 +3745,7 @@
3726
3745
  <!-- END display titles -->
3727
3746
  <!-- ==================== -->
3728
3747
 
3729
- <xsl:template match="mn:title/mn:span[contains(@style, 'text-transform:none')]//text()" priority="6">
3748
+ <xsl:template match="mn:fmt-title/mn:span[contains(@style, 'text-transform:none')]//text()" priority="6">
3730
3749
  <fo:inline font-weight="normal"><xsl:value-of select="."/></fo:inline>
3731
3750
  </xsl:template>
3732
3751
 
@@ -3851,7 +3870,7 @@
3851
3870
  <fo:block>www.iso.org</fo:block>
3852
3871
  </fo:block> -->
3853
3872
 
3854
- <xsl:template match="mn:copyright-statement/mn:clause[1]/mn:title" priority="2">
3873
+ <xsl:template match="mn:copyright-statement/mn:clause[1]/mn:fmt-title" priority="2">
3855
3874
  <xsl:choose>
3856
3875
  <xsl:when test="$layoutVersion = '1951'">
3857
3876
  <fo:block><xsl:apply-templates/></fo:block> <!-- font-weight="bold" -->
@@ -3957,7 +3976,7 @@
3957
3976
  <!-- title -->
3958
3977
  <!-- ====== -->
3959
3978
 
3960
- <xsl:template match="mn:annex/mn:title">
3979
+ <xsl:template match="mn:annex/mn:fmt-title">
3961
3980
  <xsl:choose>
3962
3981
  <xsl:when test="$doctype = 'amendment'">
3963
3982
  <xsl:call-template name="titleAmendment"/>
@@ -3980,7 +3999,7 @@
3980
3999
  </xsl:template>
3981
4000
 
3982
4001
  <!-- Bibliography -->
3983
- <xsl:template match="mn:references[not(@normative='true')]/mn:title">
4002
+ <xsl:template match="mn:references[not(@normative='true')]/mn:fmt-title">
3984
4003
  <xsl:choose>
3985
4004
  <xsl:when test="$doctype = 'amendment'">
3986
4005
  <xsl:call-template name="titleAmendment"/>
@@ -4001,7 +4020,7 @@
4001
4020
  </xsl:choose>
4002
4021
  </xsl:template>
4003
4022
 
4004
- <xsl:template match="mn:title" name="title">
4023
+ <xsl:template match="mn:fmt-title" name="title">
4005
4024
  <xsl:param name="without_number">false</xsl:param>
4006
4025
 
4007
4026
  <xsl:variable name="level">
@@ -4296,7 +4315,7 @@
4296
4315
  </xsl:choose>
4297
4316
  </xsl:template>
4298
4317
 
4299
- <xsl:template match="mn:title[../@inline-header = 'true'][following-sibling::*[1][self::mn:p]]" priority="3">
4318
+ <xsl:template match="mn:fmt-title[../@inline-header = 'true'][following-sibling::*[1][self::mn:p]]" priority="3">
4300
4319
  <xsl:param name="without_number">false</xsl:param>
4301
4320
  <xsl:choose>
4302
4321
  <xsl:when test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1"/> <!-- don't show 'title' with inline-header='true' if next element is 'p' -->
@@ -4326,7 +4345,7 @@
4326
4345
 
4327
4346
  <xsl:template match="mn:clause[normalize-space() != '' or mn:figure]" priority="2">
4328
4347
  <xsl:choose>
4329
- <xsl:when test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989') and self::mn:clause and count(node()) = 0 and following-sibling::*[1][self::mn:title and not(@id)]"/> <!-- @id will be added to title -->
4348
+ <xsl:when test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989') and self::mn:clause and count(node()) = 0 and following-sibling::*[1][self::mn:fmt-title and not(@id)]"/> <!-- @id will be added to title -->
4330
4349
  <xsl:otherwise>
4331
4350
  <xsl:call-template name="template_clause_iso"/>
4332
4351
  </xsl:otherwise>
@@ -4340,8 +4359,8 @@
4340
4359
  <xsl:variable name="element-name">
4341
4360
  <xsl:choose>
4342
4361
  <xsl:when test="$inline = 'true'">fo:inline</xsl:when>
4343
- <xsl:when test="../@inline-header = 'true' and $previous-element = 'title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
4344
- <xsl:when test="local-name(..) = 'admonition'">fo:inline</xsl:when>
4362
+ <xsl:when test="../@inline-header = 'true' and $previous-element = 'fmt-title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
4363
+ <xsl:when test="parent::mn:admonition">fo:inline</xsl:when>
4345
4364
  <xsl:otherwise>fo:block</xsl:otherwise>
4346
4365
  </xsl:choose>
4347
4366
  </xsl:variable>
@@ -4422,7 +4441,7 @@
4422
4441
  <!-- put inline title in the first paragraph -->
4423
4442
  <xsl:if test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1">
4424
4443
  <!-- <xsl:if test="preceding-sibling::*[1]/@inline-header = 'true' and preceding-sibling::*[1][self::mn:title]"> -->
4425
- <xsl:if test="ancestor::*[1]/@inline-header = 'true' and preceding-sibling::*[1][self::mn:title]">
4444
+ <xsl:if test="ancestor::*[1]/@inline-header = 'true' and preceding-sibling::*[1][self::mn:fmt-title]">
4426
4445
  <xsl:attribute name="space-before">0pt</xsl:attribute>
4427
4446
  <xsl:for-each select="preceding-sibling::*[1]">
4428
4447
  <xsl:call-template name="title"/>
@@ -4438,7 +4457,7 @@
4438
4457
 
4439
4458
  <xsl:apply-templates select="mn:note"/> <!-- [not(following-sibling::*) or count(following-sibling::*) = count(../mn:note) - 1] -->
4440
4459
 
4441
- <xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
4460
+ <xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(parent::mn:admonition)">
4442
4461
  <fo:block margin-bottom="12pt" role="SKIP">
4443
4462
  <xsl:if test="ancestor::mn:sections or ancestor::mn:annex or following-sibling::mn:table">
4444
4463
  <xsl:attribute name="margin-bottom">0</xsl:attribute>
@@ -4467,7 +4486,7 @@
4467
4486
  </xsl:template>
4468
4487
 
4469
4488
  <!-- For express listings PDF attachments -->
4470
- <xsl:template match="mn:eref[java:endsWith(java:java.lang.String.new(@bibitemid),'.exp')]" priority="2">
4489
+ <xsl:template match="mn:fmt-eref[java:endsWith(java:java.lang.String.new(@bibitemid),'.exp')]" priority="2">
4471
4490
  <fo:inline xsl:use-attribute-sets="eref-style">
4472
4491
  <xsl:variable name="url" select="concat('url(embedded-file:', @bibitemid, ')')"/>
4473
4492
  <fo:basic-link external-destination="{$url}" fox:alt-text="{@citeas}">
@@ -4479,7 +4498,7 @@
4479
4498
  </fo:inline>
4480
4499
  </xsl:template>
4481
4500
 
4482
- <xsl:template match="mn:eref[contains(@bibitemid,'.exp_')]" priority="2">
4501
+ <xsl:template match="mn:fmt-eref[contains(@bibitemid,'.exp_')]" priority="2">
4483
4502
  <xsl:variable name="bibitemid" select="@bibitemid"/>
4484
4503
  <xsl:variable name="uri" select="normalize-space($bibitems/mn:bibitem[@hidden = 'true'][@id = $bibitemid][1]/mn:uri[@type='citation'])"/>
4485
4504
  <xsl:choose>
@@ -4501,7 +4520,7 @@
4501
4520
  </xsl:choose>
4502
4521
  </xsl:template>
4503
4522
 
4504
- <xsl:template match="mn:note/mn:name/text()" priority="5">
4523
+ <xsl:template match="mn:note/mn:fmt-name/text()" priority="5">
4505
4524
  <xsl:choose>
4506
4525
  <xsl:when test="$layoutVersion = '1951' and not(translate(.,'0123456789','') = .)"> <!-- NOTE with number -->
4507
4526
  <fo:inline padding-right="2mm" role="SKIP">
@@ -4520,7 +4539,7 @@
4520
4539
  </xsl:choose>
4521
4540
  </xsl:template>
4522
4541
 
4523
- <xsl:template match="mn:example/mn:name/text()" priority="5">
4542
+ <xsl:template match="mn:example/mn:fmt-name/text()" priority="5">
4524
4543
  <xsl:choose>
4525
4544
  <xsl:when test="$layoutVersion = '1951'"> <!-- and $revision_date_num &lt; 19610101 -->
4526
4545
  <xsl:call-template name="smallcaps"/>
@@ -4530,7 +4549,7 @@
4530
4549
  </xsl:choose>
4531
4550
  </xsl:template>
4532
4551
 
4533
- <xsl:template match="mn:figure/mn:name/text()" priority="5">
4552
+ <xsl:template match="mn:figure/mn:fmt-name/text()" priority="5">
4534
4553
  <xsl:choose>
4535
4554
  <xsl:when test="$layoutVersion = '1951' and not(ancestor::mn:figure[1]/@unnumbered = 'true') and not(preceding-sibling::node())">
4536
4555
  <xsl:choose>
@@ -4548,7 +4567,7 @@
4548
4567
  </xsl:choose>
4549
4568
  </xsl:template>
4550
4569
 
4551
- <xsl:template match="mn:table/mn:name/text()" priority="5">
4570
+ <xsl:template match="mn:table/mn:fmt-name/text()" priority="5">
4552
4571
  <xsl:choose>
4553
4572
  <xsl:when test="$layoutVersion = '1951' and not(ancestor::mn:table[1]/@unnumbered = 'true') and not(preceding-sibling::node())">
4554
4573
  <xsl:choose>
@@ -4569,16 +4588,16 @@
4569
4588
  <xsl:template match="mn:clause[@type = 'section']" priority="3">
4570
4589
  <xsl:choose>
4571
4590
  <!-- skip empty clause after templates mode="update_xml_step_move_pagebreak" -->
4572
- <xsl:when test="not(mn:title) and normalize-space() = ''"/>
4591
+ <xsl:when test="not(mn:fmt-title) and normalize-space() = ''"/>
4573
4592
  <xsl:otherwise>
4574
4593
  <xsl:if test="preceding-sibling::mn:clause[@type = 'section']">
4575
4594
  <fo:block break-after="page"/>
4576
4595
  </xsl:if>
4577
4596
  <fo:block span="all">
4578
4597
  <xsl:copy-of select="@id"/>
4579
- <xsl:apply-templates select="mn:title"/>
4598
+ <xsl:apply-templates select="mn:fmt-title"/>
4580
4599
  </fo:block>
4581
- <xsl:apply-templates select="*[not(self::mn:title)]"/>
4600
+ <xsl:apply-templates select="*[not(self::mn:fmt-title)]"/>
4582
4601
  </xsl:otherwise>
4583
4602
  </xsl:choose>
4584
4603
  </xsl:template>
@@ -4627,7 +4646,7 @@
4627
4646
  <xsl:template name="processElementContent">
4628
4647
  <xsl:variable name="level">
4629
4648
  <xsl:call-template name="getLevel">
4630
- <xsl:with-param name="depth" select="mn:title/@depth"/>
4649
+ <xsl:with-param name="depth" select="mn:fmt-title/@depth"/>
4631
4650
  </xsl:call-template>
4632
4651
  </xsl:variable>
4633
4652
  <xsl:choose>
@@ -4648,7 +4667,7 @@
4648
4667
  <fo:list-item-label end-indent="label-end()">
4649
4668
  <fo:block>
4650
4669
  <xsl:variable name="element_title">
4651
- <xsl:apply-templates select="mn:title"/>
4670
+ <xsl:apply-templates select="mn:fmt-title"/>
4652
4671
  </xsl:variable>
4653
4672
  <xsl:for-each select="xalan:nodeset($element_title)/*[1]"> <!-- process fo: element -->
4654
4673
  <xsl:copy-of select="@font-size"/>
@@ -4661,10 +4680,10 @@
4661
4680
  </fo:list-item-label>
4662
4681
  <fo:list-item-body start-indent="body-start()">
4663
4682
  <fo:block>
4664
- <xsl:apply-templates select="mn:title">
4683
+ <xsl:apply-templates select="mn:fmt-title">
4665
4684
  <xsl:with-param name="without_number">true</xsl:with-param>
4666
4685
  </xsl:apply-templates>
4667
- <xsl:apply-templates select="node()[not(self::mn:title)]"/>
4686
+ <xsl:apply-templates select="node()[not(self::mn:fmt-title)]"/>
4668
4687
  </fo:block>
4669
4688
  </fo:list-item-body>
4670
4689
  </fo:list-item>
@@ -4678,7 +4697,7 @@
4678
4697
  </xsl:template>
4679
4698
 
4680
4699
  <!-- page_sequence/sections/clause -->
4681
- <xsl:template match="mn:sections/*[local-name() = 'page_sequence']/*[not(@top-level)]" priority="3">
4700
+ <xsl:template match="mn:sections/mn:page_sequence/*[not(@top-level)]" priority="3">
4682
4701
  <xsl:choose>
4683
4702
  <xsl:when test="self::mn:clause and normalize-space() = '' and count(*) = 0"/>
4684
4703
  <xsl:otherwise>
@@ -4712,20 +4731,20 @@
4712
4731
 
4713
4732
  <fo:flow flow-name="xsl-region-body">
4714
4733
  <fo:block id="{@id}" text-align="center" span="all">
4715
- <xsl:apply-templates select="mn:title"/>
4734
+ <xsl:apply-templates select="mn:fmt-title"/>
4716
4735
  </fo:block>
4717
4736
  <fo:block role="Index">
4718
- <xsl:apply-templates select="*[not(self::mn:title)]"/>
4737
+ <xsl:apply-templates select="*[not(self::mn:fmt-title)]"/>
4719
4738
  </fo:block>
4720
4739
  </fo:flow>
4721
4740
  </fo:page-sequence>
4722
4741
  </xsl:template>
4723
4742
 
4724
- <xsl:template match="mn:xref" priority="2">
4743
+ <xsl:template match="mn:xref | mn:fmt-xref" priority="2">
4725
4744
  <xsl:call-template name="insert_basic_link">
4726
4745
  <xsl:with-param name="element">
4727
4746
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4728
- <xsl:if test="$layoutVersion = '2024' and (ancestor::mn:termsource or $bibitems/mn:bibitem[@id = current()/@target and @type = 'standard'])">
4747
+ <xsl:if test="$layoutVersion = '2024' and (ancestor::mn:fmt-termsource or $bibitems/mn:bibitem[@id = current()/@target and @type = 'standard'])">
4729
4748
  <xsl:attribute name="color">inherit</xsl:attribute>
4730
4749
  <xsl:attribute name="text-decoration">none</xsl:attribute>
4731
4750
  </xsl:if>
@@ -4761,7 +4780,7 @@
4761
4780
  </xsl:call-template>
4762
4781
  </xsl:template>
4763
4782
 
4764
- <xsl:template match="mn:sup[mn:xref[@type = 'footnote']]" priority="2">
4783
+ <xsl:template match="mn:sup[mn:fmt-xref[@type = 'footnote']]" priority="2">
4765
4784
  <fo:inline font-size="80%">
4766
4785
  <xsl:choose>
4767
4786
  <xsl:when test="$layoutVersion = '2024'">
@@ -4780,7 +4799,7 @@
4780
4799
  <!-- =================== -->
4781
4800
 
4782
4801
  <!-- add columns=1 for elements which should be rendered in <block span="all"> -->
4783
- <xsl:template match="mn:annex/mn:title" mode="update_xml_step_move_pagebreak">
4802
+ <xsl:template match="mn:annex/mn:fmt-title" mode="update_xml_step_move_pagebreak">
4784
4803
  <xsl:copy>
4785
4804
  <xsl:copy-of select="@*"/>
4786
4805
  <xsl:if test="$layout_columns != 1">
@@ -4790,7 +4809,7 @@
4790
4809
  </xsl:copy>
4791
4810
  </xsl:template>
4792
4811
 
4793
- <xsl:template match="mn:references[not(@normative='true')]/mn:title" mode="update_xml_step_move_pagebreak">
4812
+ <xsl:template match="mn:references[not(@normative='true')]/mn:fmt-title" mode="update_xml_step_move_pagebreak">
4794
4813
  <xsl:copy>
4795
4814
  <xsl:copy-of select="@*"/>
4796
4815
  <xsl:if test="$layout_columns != 1">
@@ -5337,10 +5356,28 @@
5337
5356
  </xsl:for-each>
5338
5357
  </xsl:template>
5339
5358
 
5359
+ <xsl:template name="back-page">
5360
+ <xsl:choose>
5361
+ <xsl:when test="$isGenerateTableIF = 'true'"><!-- skip last page --></xsl:when>
5362
+ <xsl:when test="$layoutVersion = '1951'"/>
5363
+ <xsl:when test="$layoutVersion = '1972'"/>
5364
+ <xsl:when test="$layoutVersion = '1979'"/>
5365
+ <xsl:when test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))"><!-- UDC, Keywords and Price renders on the first page for technical-report --></xsl:when>
5366
+ <xsl:when test="$layoutVersion = '2024'">
5367
+ <xsl:call-template name="insertLastPage_2024"/>
5368
+ </xsl:when>
5369
+ <xsl:otherwise>
5370
+ <xsl:if test="$isPublished = 'true'">
5371
+ <xsl:call-template name="insertLastPage"/>
5372
+ </xsl:if>
5373
+ </xsl:otherwise>
5374
+ </xsl:choose>
5375
+ </xsl:template>
5376
+
5340
5377
  <xsl:template name="insertLastPage">
5341
- <fo:page-sequence master-reference="last-page" force-page-count="no-force">
5378
+ <fo:page-sequence master-reference="back-page" force-page-count="no-force">
5342
5379
  <xsl:call-template name="insertHeaderEven"/>
5343
- <fo:static-content flow-name="last-page-footer" font-size="10pt">
5380
+ <fo:static-content flow-name="back-page-footer" font-size="10pt">
5344
5381
  <fo:table table-layout="fixed" width="100%">
5345
5382
  <fo:table-column column-width="33%"/>
5346
5383
  <fo:table-column column-width="33%"/>
@@ -5452,7 +5489,7 @@
5452
5489
  </xsl:template> <!-- END: insertLastPage -->
5453
5490
 
5454
5491
  <xsl:template name="insertLastPage_2024">
5455
- <fo:page-sequence master-reference="last-page_2024" force-page-count="no-force">
5492
+ <fo:page-sequence master-reference="back-page_2024" force-page-count="no-force">
5456
5493
  <fo:flow flow-name="xsl-region-body">
5457
5494
  <xsl:variable name="fo_last_page">
5458
5495
  <fo:table table-layout="fixed" width="100%" margin-bottom="-1mm">
@@ -5855,10 +5892,6 @@
5855
5892
  <xsl:text>Часть #:</xsl:text>
5856
5893
  </title-part>
5857
5894
  <title-part lang="zh">第 # 部分:</title-part>
5858
-
5859
- <title-subpart lang="en">Sub-part #</title-subpart>
5860
- <title-subpart lang="fr">Partie de sub #</title-subpart>
5861
-
5862
5895
  </xsl:variable>
5863
5896
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/>
5864
5897
 
@@ -6335,7 +6368,8 @@
6335
6368
  <xsl:template match="mn:stem" mode="update_xml_step1"/>
6336
6369
 
6337
6370
  <xsl:template match="mn:fmt-stem" mode="update_xml_step1">
6338
- <xsl:element name="stem" namespace="{$namespace_full}">
6371
+ <!-- <xsl:element name="stem" namespace="{$namespace_full}"> -->
6372
+ <xsl:copy>
6339
6373
  <xsl:copy-of select="@*"/>
6340
6374
  <xsl:choose>
6341
6375
  <xsl:when test="mn:semx and count(node()) = 1">
@@ -6359,7 +6393,8 @@
6359
6393
  </xsl:choose>
6360
6394
  </xsl:otherwise>
6361
6395
  </xsl:choose>
6362
- </xsl:element>
6396
+ </xsl:copy>
6397
+ <!-- </xsl:element> -->
6363
6398
  </xsl:template>
6364
6399
 
6365
6400
  <xsl:template match="mn:image[not(.//mn:passthrough)] | mn:bibdata[not(.//mn:passthrough)] | mn:localized-strings" mode="update_xml_step1">
@@ -6521,12 +6556,14 @@
6521
6556
  </xsl:template>
6522
6557
 
6523
6558
  <xsl:template match="mn:fmt-title" mode="update_xml_step1">
6524
- <xsl:element name="title" namespace="{$namespace_full}">
6559
+ <!-- <xsl:element name="title" namespace="{$namespace_full}"> -->
6560
+ <xsl:copy>
6525
6561
  <xsl:copy-of select="@*"/>
6526
6562
  <xsl:call-template name="addNamedDestinationAttribute"/>
6527
6563
 
6528
6564
  <xsl:apply-templates mode="update_xml_step1"/>
6529
- </xsl:element>
6565
+ </xsl:copy>
6566
+ <!-- </xsl:element> -->
6530
6567
  </xsl:template>
6531
6568
 
6532
6569
  <xsl:template name="addNamedDestinationAttribute">
@@ -6572,12 +6609,14 @@
6572
6609
  <xsl:apply-templates mode="update_xml_step1"/>
6573
6610
  </xsl:when>
6574
6611
  <xsl:otherwise>
6575
- <xsl:element name="name" namespace="{$namespace_full}">
6612
+ <!-- <xsl:element name="name" namespace="{$namespace_full}"> -->
6613
+ <xsl:copy>
6576
6614
  <xsl:copy-of select="@*"/>
6577
6615
  <xsl:call-template name="addNamedDestinationAttribute"/>
6578
6616
 
6579
6617
  <xsl:apply-templates mode="update_xml_step1"/>
6580
- </xsl:element>
6618
+ </xsl:copy>
6619
+ <!-- </xsl:element> -->
6581
6620
  </xsl:otherwise>
6582
6621
  </xsl:choose>
6583
6622
  </xsl:template>
@@ -6592,7 +6631,7 @@
6592
6631
  <xsl:apply-templates mode="update_xml_step1"/>
6593
6632
  </xsl:template>
6594
6633
  <xsl:template match="mn:fmt-preferred[not(mn:p)] | mn:fmt-preferred/mn:p" mode="update_xml_step1">
6595
- <xsl:element name="preferred" namespace="{$namespace_full}">
6634
+ <xsl:element name="fmt-preferred" namespace="{$namespace_full}">
6596
6635
  <xsl:copy-of select="@*"/>
6597
6636
  <xsl:apply-templates mode="update_xml_step1"/>
6598
6637
  </xsl:element>
@@ -6602,7 +6641,7 @@
6602
6641
  <xsl:apply-templates mode="update_xml_step1"/>
6603
6642
  </xsl:template>
6604
6643
  <xsl:template match="mn:fmt-admitted[not(mn:p)] | mn:fmt-admitted/mn:p" mode="update_xml_step1">
6605
- <xsl:element name="admitted" namespace="{$namespace_full}">
6644
+ <xsl:element name="fmt-admitted" namespace="{$namespace_full}">
6606
6645
  <xsl:copy-of select="@*"/>
6607
6646
  <xsl:apply-templates mode="update_xml_step1"/>
6608
6647
  </xsl:element>
@@ -6612,32 +6651,32 @@
6612
6651
  <xsl:apply-templates mode="update_xml_step1"/>
6613
6652
  </xsl:template>
6614
6653
  <xsl:template match="mn:fmt-deprecates[not(mn:p)] | mn:fmt-deprecates/mn:p" mode="update_xml_step1">
6615
- <xsl:element name="deprecates" namespace="{$namespace_full}">
6654
+ <xsl:element name="fmt-deprecates" namespace="{$namespace_full}">
6616
6655
  <xsl:copy-of select="@*"/>
6617
6656
  <xsl:apply-templates mode="update_xml_step1"/>
6618
6657
  </xsl:element>
6619
6658
  </xsl:template>
6620
6659
 
6621
- <xsl:template match="mn:fmt-definition" mode="update_xml_step1">
6660
+ <!-- <xsl:template match="mn:fmt-definition" mode="update_xml_step1">
6622
6661
  <xsl:element name="definition" namespace="{$namespace_full}">
6623
6662
  <xsl:copy-of select="@*"/>
6624
6663
  <xsl:apply-templates mode="update_xml_step1"/>
6625
6664
  </xsl:element>
6626
6665
  </xsl:template>
6627
-
6666
+
6628
6667
  <xsl:template match="mn:fmt-termsource" mode="update_xml_step1">
6629
6668
  <xsl:element name="termsource" namespace="{$namespace_full}">
6630
6669
  <xsl:copy-of select="@*"/>
6631
6670
  <xsl:apply-templates mode="update_xml_step1"/>
6632
6671
  </xsl:element>
6633
6672
  </xsl:template>
6634
-
6673
+
6635
6674
  <xsl:template match="mn:fmt-source" mode="update_xml_step1">
6636
6675
  <xsl:element name="source" namespace="{$namespace_full}">
6637
6676
  <xsl:copy-of select="@*"/>
6638
6677
  <xsl:apply-templates mode="update_xml_step1"/>
6639
6678
  </xsl:element>
6640
- </xsl:template>
6679
+ </xsl:template> -->
6641
6680
 
6642
6681
  <xsl:template match="mn:span[ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
6643
6682
  <xsl:apply-templates mode="update_xml_step1"/>
@@ -6660,12 +6699,12 @@
6660
6699
  </xsl:template>
6661
6700
 
6662
6701
  <xsl:template match="mn:identifier" mode="update_xml_step1"/>
6663
- <xsl:template match="mn:fmt-identifier" mode="update_xml_step1">
6702
+ <!-- <xsl:template match="mn:fmt-identifier" mode="update_xml_step1">
6664
6703
  <xsl:element name="identifier" namespace="{$namespace_full}">
6665
6704
  <xsl:copy-of select="@*"/>
6666
6705
  <xsl:apply-templates mode="update_xml_step1"/>
6667
6706
  </xsl:element>
6668
- </xsl:template>
6707
+ </xsl:template> -->
6669
6708
 
6670
6709
  <xsl:template match="mn:concept" mode="update_xml_step1"/>
6671
6710
 
@@ -6675,51 +6714,53 @@
6675
6714
 
6676
6715
  <xsl:template match="mn:eref" mode="update_xml_step1"/>
6677
6716
 
6678
- <xsl:template match="mn:fmt-eref" mode="update_xml_step1">
6717
+ <!-- <xsl:template match="mn:fmt-eref" mode="update_xml_step1">
6679
6718
  <xsl:element name="eref" namespace="{$namespace_full}">
6680
6719
  <xsl:copy-of select="@*"/>
6681
6720
  <xsl:apply-templates mode="update_xml_step1"/>
6682
6721
  </xsl:element>
6683
- </xsl:template>
6722
+ </xsl:template> -->
6684
6723
 
6685
6724
  <xsl:template match="mn:xref" mode="update_xml_step1"/>
6686
6725
 
6687
- <xsl:template match="mn:fmt-xref" mode="update_xml_step1">
6726
+ <!-- <xsl:template match="mn:fmt-xref" mode="update_xml_step1">
6688
6727
  <xsl:element name="xref" namespace="{$namespace_full}">
6689
6728
  <xsl:copy-of select="@*"/>
6690
6729
  <xsl:apply-templates mode="update_xml_step1"/>
6691
6730
  </xsl:element>
6692
- </xsl:template>
6731
+ </xsl:template> -->
6693
6732
 
6694
6733
  <xsl:template match="mn:link" mode="update_xml_step1"/>
6695
6734
 
6696
- <xsl:template match="mn:fmt-link" mode="update_xml_step1">
6735
+ <!-- <xsl:template match="mn:fmt-link" mode="update_xml_step1">
6697
6736
  <xsl:element name="link" namespace="{$namespace_full}">
6698
6737
  <xsl:copy-of select="@*"/>
6699
6738
  <xsl:apply-templates mode="update_xml_step1"/>
6700
6739
  </xsl:element>
6701
- </xsl:template>
6740
+ </xsl:template> -->
6702
6741
 
6703
6742
  <xsl:template match="mn:origin" mode="update_xml_step1"/>
6704
6743
 
6705
- <xsl:template match="mn:fmt-origin" mode="update_xml_step1">
6744
+ <!-- <xsl:template match="mn:fmt-origin" mode="update_xml_step1">
6706
6745
  <xsl:element name="origin" namespace="{$namespace_full}">
6707
6746
  <xsl:copy-of select="@*"/>
6708
6747
  <xsl:apply-templates mode="update_xml_step1"/>
6709
6748
  </xsl:element>
6710
- </xsl:template>
6749
+ </xsl:template> -->
6711
6750
 
6712
6751
  <xsl:template match="mn:erefstack" mode="update_xml_step1"/>
6713
6752
 
6714
6753
  <xsl:template match="mn:svgmap" mode="update_xml_step1"/>
6715
6754
 
6716
- <xsl:template match="mn:review-container" mode="update_xml_step1"/>
6755
+ <xsl:template match="mn:annotation-container" mode="update_xml_step1"/>
6717
6756
 
6718
- <xsl:template match="mn:fmt-identifier[not(ancestor::*[local-name() = 'bibdata'])]//text()" mode="update_xml_step1">
6719
- <xsl:element name="{$element_name_keep-together_within-line}" namespace="{$namespace_full}">
6720
- <xsl:value-of select="."/>
6721
- </xsl:element>
6722
- </xsl:template>
6757
+ <xsl:template match="mn:fmt-identifier[not(ancestor::*[local-name() = 'bibdata'])]//text()" mode="update_xml_step1">
6758
+ <xsl:element name="{$element_name_keep-together_within-line}" namespace="{$namespace_full}">
6759
+ <xsl:value-of select="."/>
6760
+ </xsl:element>
6761
+ </xsl:template>
6762
+
6763
+ <xsl:template match="@semx-id | @anchor" mode="update_xml_step1"/>
6723
6764
 
6724
6765
  <!-- END: update new Presentation XML -->
6725
6766
 
@@ -6912,7 +6953,7 @@
6912
6953
  </xsl:variable>
6913
6954
 
6914
6955
  <!-- add 'fn' after eref and origin, to reference bibitem with note = 'Withdrawn.' or 'Cancelled and replaced...' -->
6915
- <xsl:template match="mn:eref | mn:origin" mode="update_xml_step2">
6956
+ <xsl:template match="mn:fmt-eref | mn:fmt-origin" mode="update_xml_step2">
6916
6957
  <xsl:copy-of select="."/>
6917
6958
 
6918
6959
  <xsl:variable name="bibitemid" select="@bibitemid"/>
@@ -6981,7 +7022,7 @@
6981
7022
  </xsl:call-template>
6982
7023
  </xsl:template>
6983
7024
 
6984
- <xsl:template match="mn:stem | mn:image" mode="update_xml_step2">
7025
+ <xsl:template match="mn:fmt-stem | mn:image" mode="update_xml_step2">
6985
7026
  <xsl:copy-of select="."/>
6986
7027
  </xsl:template>
6987
7028
 
@@ -7018,7 +7059,7 @@
7018
7059
  <xsl:variable name="non_white_space">[^\s\u3000-\u9FFF]</xsl:variable>
7019
7060
  <xsl:variable name="regex_dots_units">((\b((<xsl:value-of select="$non_white_space"/>{1,3}\.<xsl:value-of select="$non_white_space"/>+)|(<xsl:value-of select="$non_white_space"/>+\.<xsl:value-of select="$non_white_space"/>{1,3}))\b)|(\.<xsl:value-of select="$non_white_space"/>{1,3})\b)</xsl:variable>
7020
7061
 
7021
- <xsl:template match="text()[not(ancestor::mn:bibdata or ancestor::mn:link[not(contains(.,' '))] or ancestor::mn:sourcecode or ancestor::*[local-name() = 'math'] or ancestor::*[local-name() = 'svg'] or ancestor::mn:name or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
7062
+ <xsl:template match="text()[not(ancestor::mn:bibdata or ancestor::mn:fmt-link[not(contains(normalize-space(),' '))] or ancestor::mn:sourcecode or ancestor::*[local-name() = 'math'] or ancestor::*[local-name() = 'svg'] or ancestor::mn:name or ancestor::mn:fmt-name or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
7022
7063
 
7023
7064
  <xsl:variable name="parent" select="local-name(..)"/>
7024
7065
 
@@ -7155,7 +7196,7 @@
7155
7196
  </xsl:if>
7156
7197
  </xsl:template>
7157
7198
 
7158
- <xsl:template match="mn:stem | mn:image" mode="update_xml_enclose_keep-together_within-line">
7199
+ <xsl:template match="mn:fmt-stem | mn:image" mode="update_xml_enclose_keep-together_within-line">
7159
7200
  <xsl:copy-of select="."/>
7160
7201
  </xsl:template>
7161
7202
 
@@ -7485,7 +7526,7 @@
7485
7526
  </fo:block>
7486
7527
  </xsl:template> <!-- copyright-statement -->
7487
7528
 
7488
- <xsl:template match="mn:copyright-statement//mn:title">
7529
+ <xsl:template match="mn:copyright-statement//mn:fmt-title">
7489
7530
  <!-- process in the template 'title' -->
7490
7531
  <xsl:call-template name="title"/>
7491
7532
  </xsl:template> <!-- copyright-statement//title -->
@@ -7501,7 +7542,7 @@
7501
7542
  </fo:block>
7502
7543
  </xsl:template> <!-- license-statement -->
7503
7544
 
7504
- <xsl:template match="mn:license-statement//mn:title">
7545
+ <xsl:template match="mn:license-statement//mn:fmt-title">
7505
7546
  <xsl:variable name="level">
7506
7547
  <xsl:call-template name="getLevel"/>
7507
7548
  </xsl:variable>
@@ -7530,7 +7571,7 @@
7530
7571
  </fo:block>
7531
7572
  </xsl:template> <!-- legal-statement -->
7532
7573
 
7533
- <xsl:template match="mn:legal-statement//mn:title">
7574
+ <xsl:template match="mn:legal-statement//mn:fmt-title">
7534
7575
  <!-- process in the template 'title' -->
7535
7576
  <xsl:call-template name="title"/>
7536
7577
 
@@ -7550,7 +7591,7 @@
7550
7591
  </fo:block>
7551
7592
  </xsl:template> <!-- feedback-statement -->
7552
7593
 
7553
- <xsl:template match="mn:feedback-statement//mn:title">
7594
+ <xsl:template match="mn:feedback-statement//mn:fmt-title">
7554
7595
  <!-- process in the template 'title' -->
7555
7596
  <xsl:call-template name="title"/>
7556
7597
  </xsl:template>
@@ -7573,13 +7614,13 @@
7573
7614
  </xsl:attribute-set>
7574
7615
 
7575
7616
  <xsl:template name="refine_link-style">
7576
- <xsl:if test="(ancestor::mn:copyright-statement and contains(@target, 'mailto:')) or ($layoutVersion = '2024' and ancestor::mn:termsource)">
7617
+ <xsl:if test="(ancestor::mn:copyright-statement and contains(@target, 'mailto:')) or ($layoutVersion = '2024' and ancestor::mn:fmt-termsource)">
7577
7618
  <xsl:attribute name="color">inherit</xsl:attribute>
7578
7619
  <xsl:attribute name="text-decoration">none</xsl:attribute>
7579
7620
  </xsl:if>
7580
7621
  </xsl:template> <!-- refine_link-style -->
7581
7622
 
7582
- <xsl:template match="mn:link" name="link">
7623
+ <xsl:template match="mn:fmt-link" name="link">
7583
7624
  <xsl:variable name="target_normalized" select="translate(@target, '\', '/')"/>
7584
7625
  <xsl:variable name="target_attachment_name" select="substring-after($target_normalized, '_attachments/')"/>
7585
7626
  <xsl:variable name="isLinkToEmbeddedFile" select="normalize-space(@attachment = 'true' and $pdfAttachmentsList//attachment[@filename = current()/@target])"/>
@@ -7799,7 +7840,7 @@
7799
7840
  <xsl:value-of select="."/>
7800
7841
  </xsl:attribute>
7801
7842
  </xsl:for-each>
7802
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
7843
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
7803
7844
  </xsl:when>
7804
7845
 
7805
7846
  <xsl:otherwise>
@@ -7841,11 +7882,11 @@
7841
7882
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
7842
7883
  </xsl:if>
7843
7884
 
7844
- <xsl:apply-templates select="node()[not(self::mn:name or self::mn:dl)]"/>
7885
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name or self::mn:dl)]"/>
7845
7886
  </fo:block>
7846
7887
 
7847
7888
  <xsl:apply-templates select="mn:dl"/> <!-- Key table -->
7848
- <xsl:apply-templates select="mn:name"/> <!-- show sourcecode's name AFTER content -->
7889
+ <xsl:apply-templates select="mn:fmt-name"/> <!-- show sourcecode's name AFTER content -->
7849
7890
 
7850
7891
  </fo:block-container>
7851
7892
  </fo:block-container>
@@ -8146,7 +8187,7 @@
8146
8187
 
8147
8188
  <!-- end mode="syntax_highlight" -->
8148
8189
 
8149
- <xsl:template match="mn:sourcecode/mn:name">
8190
+ <xsl:template match="mn:sourcecode/mn:fmt-name">
8150
8191
  <xsl:if test="normalize-space() != ''">
8151
8192
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
8152
8193
  <xsl:apply-templates/>
@@ -8164,7 +8205,7 @@
8164
8205
  </xsl:choose>
8165
8206
  </xsl:template>
8166
8207
 
8167
- <xsl:template match="mn:annotation">
8208
+ <xsl:template match="mn:callout-annotation">
8168
8209
  <xsl:variable name="annotation-id" select="@id"/>
8169
8210
  <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
8170
8211
  <fo:block id="{$annotation-id}" white-space="nowrap">
@@ -8176,7 +8217,7 @@
8176
8217
  </fo:block>
8177
8218
  </xsl:template>
8178
8219
 
8179
- <xsl:template match="mn:annotation/mn:p">
8220
+ <xsl:template match="mn:callout-annotation/mn:p">
8180
8221
  <xsl:param name="callout"/>
8181
8222
  <fo:inline id="{@id}">
8182
8223
  <xsl:call-template name="setNamedDestination"/>
@@ -8334,7 +8375,7 @@
8334
8375
  <xsl:when test="starts-with(., $ace_tag) or self::mn:change-open-tag or self::mn:change-close-tag"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start, or
8335
8376
  <change-open-tag>A<sub>1</sub></change-open-tag>, <change-close-tag>A<sub>1</sub></change-close-tag> -->
8336
8377
  <xsl:choose>
8337
- <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][self::mn:tab]) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][self::mn:add][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
8378
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (parent::mn:fmt-title and preceding-sibling::node()[1][self::mn:tab]) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][self::mn:add][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
8338
8379
  <xsl:otherwise>
8339
8380
  <xsl:variable name="tag">
8340
8381
  <xsl:call-template name="insertTag">
@@ -8746,12 +8787,12 @@
8746
8787
  <xsl:template match="mn:permission">
8747
8788
  <xsl:call-template name="setNamedDestination"/>
8748
8789
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
8749
- <xsl:apply-templates select="mn:name"/>
8750
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
8790
+ <xsl:apply-templates select="mn:fmt-name"/>
8791
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
8751
8792
  </fo:block>
8752
8793
  </xsl:template>
8753
8794
 
8754
- <xsl:template match="mn:permission/mn:name">
8795
+ <xsl:template match="mn:permission/mn:fmt-name">
8755
8796
  <xsl:if test="normalize-space() != ''">
8756
8797
  <fo:block xsl:use-attribute-sets="permission-name-style">
8757
8798
  <xsl:apply-templates/>
@@ -8773,15 +8814,15 @@
8773
8814
  <xsl:template match="mn:requirement">
8774
8815
  <xsl:call-template name="setNamedDestination"/>
8775
8816
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
8776
- <xsl:apply-templates select="mn:name"/>
8817
+ <xsl:apply-templates select="mn:fmt-name"/>
8777
8818
  <xsl:apply-templates select="mn:label"/>
8778
8819
  <xsl:apply-templates select="@obligation"/>
8779
8820
  <xsl:apply-templates select="mn:subject"/>
8780
- <xsl:apply-templates select="node()[not(self::mn:name) and not(self::mn:label) and not(self::mn:subject)]"/>
8821
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name) and not(self::mn:label) and not(self::mn:subject)]"/>
8781
8822
  </fo:block>
8782
8823
  </xsl:template>
8783
8824
 
8784
- <xsl:template match="mn:requirement/mn:name">
8825
+ <xsl:template match="mn:requirement/mn:fmt-name">
8785
8826
  <xsl:if test="normalize-space() != ''">
8786
8827
 
8787
8828
  <fo:block xsl:use-attribute-sets="requirement-name-style">
@@ -8818,12 +8859,12 @@
8818
8859
  <xsl:template match="mn:recommendation">
8819
8860
  <xsl:call-template name="setNamedDestination"/>
8820
8861
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
8821
- <xsl:apply-templates select="mn:name"/>
8822
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
8862
+ <xsl:apply-templates select="mn:fmt-name"/>
8863
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
8823
8864
  </fo:block>
8824
8865
  </xsl:template>
8825
8866
 
8826
- <xsl:template match="mn:recommendation/mn:name">
8867
+ <xsl:template match="mn:recommendation/mn:fmt-name">
8827
8868
  <xsl:if test="normalize-space() != ''">
8828
8869
 
8829
8870
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
@@ -9077,11 +9118,11 @@
9077
9118
  <xsl:if test="parent::mn:term and not(preceding-sibling::mn:term)">
9078
9119
  <xsl:attribute name="space-before">12pt</xsl:attribute>
9079
9120
  </xsl:if>
9080
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
9121
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
9081
9122
  </fo:block>
9082
9123
  </xsl:template>
9083
9124
 
9084
- <xsl:template match="mn:term/mn:name">
9125
+ <xsl:template match="mn:term/mn:fmt-name">
9085
9126
  <xsl:if test="normalize-space() != ''">
9086
9127
  <!-- <xsl:variable name="level">
9087
9128
  <xsl:call-template name="getLevelTermName"/>
@@ -9100,7 +9141,7 @@
9100
9141
  <!-- origin -->
9101
9142
  <!-- modification -->
9102
9143
  <!-- ====== -->
9103
- <xsl:template match="mn:termsource" name="termsource">
9144
+ <xsl:template match="mn:fmt-termsource" name="termsource">
9104
9145
  <fo:block xsl:use-attribute-sets="termsource-style">
9105
9146
 
9106
9147
  <xsl:call-template name="refine_termsource-style"/>
@@ -9139,24 +9180,24 @@
9139
9180
  </fo:block>
9140
9181
  </xsl:template>
9141
9182
 
9142
- <xsl:template match="mn:termsource/text()[starts-with(., '[SOURCE: Adapted from: ') or starts-with(., '[SOURCE: Quoted from: ') or starts-with(., '[SOURCE: Modified from: ')]" priority="2">
9183
+ <xsl:template match="mn:fmt-termsource/text()[starts-with(., '[SOURCE: Adapted from: ') or starts-with(., '[SOURCE: Quoted from: ') or starts-with(., '[SOURCE: Modified from: ')]" priority="2">
9143
9184
  <xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
9144
9185
  </xsl:template>
9145
9186
 
9146
- <xsl:template match="mn:termsource/text()">
9187
+ <xsl:template match="mn:fmt-termsource/text()">
9147
9188
  <xsl:if test="normalize-space() != ''">
9148
9189
  <xsl:value-of select="."/>
9149
9190
  </xsl:if>
9150
9191
  </xsl:template>
9151
9192
 
9152
9193
  <!-- text SOURCE: -->
9153
- <xsl:template match="mn:termsource/mn:strong[1][following-sibling::*[1][self::mn:origin]]/text()">
9194
+ <xsl:template match="mn:fmt-termsource/mn:strong[1][following-sibling::*[1][self::mn:fmt-origin]]/text()">
9154
9195
  <fo:inline xsl:use-attribute-sets="termsource-text-style">
9155
9196
  <xsl:value-of select="."/>
9156
9197
  </fo:inline>
9157
9198
  </xsl:template>
9158
9199
 
9159
- <xsl:template match="mn:origin">
9200
+ <xsl:template match="mn:fmt-origin">
9160
9201
  <xsl:call-template name="insert_basic_link">
9161
9202
  <xsl:with-param name="element">
9162
9203
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
@@ -9202,7 +9243,7 @@
9202
9243
  <!-- ====== -->
9203
9244
 
9204
9245
  <!-- Preferred, admitted, deprecated -->
9205
- <xsl:template match="mn:preferred">
9246
+ <xsl:template match="mn:fmt-preferred">
9206
9247
  <xsl:variable name="level">
9207
9248
  <xsl:call-template name="getLevel"/>
9208
9249
  </xsl:variable>
@@ -9213,15 +9254,15 @@
9213
9254
  </xsl:variable>
9214
9255
  <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
9215
9256
 
9216
- <xsl:if test="parent::mn:term and not(preceding-sibling::mn:preferred)"> <!-- if first preffered in term, then display term's name -->
9257
+ <xsl:if test="parent::mn:term and not(preceding-sibling::mn:fmt-preferred)"> <!-- if first preffered in term, then display term's name -->
9217
9258
 
9218
9259
  <fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
9219
9260
 
9220
- <xsl:for-each select="ancestor::mn:term[1]/mn:name"><!-- change context -->
9261
+ <xsl:for-each select="ancestor::mn:term[1]/mn:fmt-name"><!-- change context -->
9221
9262
  <xsl:call-template name="setIDforNamedDestination"/>
9222
9263
  </xsl:for-each>
9223
9264
 
9224
- <xsl:apply-templates select="ancestor::mn:term[1]/mn:name"/>
9265
+ <xsl:apply-templates select="ancestor::mn:term[1]/mn:fmt-name"/>
9225
9266
  </fo:block>
9226
9267
  </xsl:if>
9227
9268
 
@@ -9245,13 +9286,13 @@
9245
9286
  <!-- https://github.com/metanorma/isodoc/issues/632#issuecomment-2567163931 -->
9246
9287
  <xsl:template match="mn:domain"/>
9247
9288
 
9248
- <xsl:template match="mn:admitted">
9289
+ <xsl:template match="mn:fmt-admitted">
9249
9290
  <fo:block xsl:use-attribute-sets="admitted-style">
9250
9291
  <xsl:apply-templates/>
9251
9292
  </fo:block>
9252
9293
  </xsl:template>
9253
9294
 
9254
- <xsl:template match="mn:deprecates">
9295
+ <xsl:template match="mn:fmt-deprecates">
9255
9296
  <fo:block xsl:use-attribute-sets="deprecates-style">
9256
9297
  <xsl:apply-templates/>
9257
9298
  </fo:block>
@@ -9265,7 +9306,7 @@
9265
9306
 
9266
9307
  <!-- regarding ISO 10241-1:2011, If there is more than one preferred term, each preferred term follows the previous one on a new line. -->
9267
9308
  <!-- in metanorma xml preferred terms delimited by semicolons -->
9268
- <xsl:template match="mn:preferred/text()[contains(., ';')] | mn:preferred/mn:strong/text()[contains(., ';')]">
9309
+ <xsl:template match="mn:fmt-preferred/text()[contains(., ';')] | mn:fmt-preferred/mn:strong/text()[contains(., ';')]">
9269
9310
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
9270
9311
  </xsl:template>
9271
9312
  <!-- End Preferred, admitted, deprecated -->
@@ -9284,16 +9325,16 @@
9284
9325
  <!-- ========== -->
9285
9326
  <!-- definition -->
9286
9327
  <!-- ========== -->
9287
- <xsl:template match="mn:definition">
9328
+ <xsl:template match="mn:fmt-definition">
9288
9329
  <fo:block xsl:use-attribute-sets="definition-style" role="SKIP">
9289
9330
  <xsl:apply-templates/>
9290
9331
  </fo:block>
9291
9332
  </xsl:template>
9292
9333
 
9293
- <xsl:template match="mn:definition[preceding-sibling::mn:domain]">
9334
+ <xsl:template match="mn:fmt-definition[preceding-sibling::mn:domain]">
9294
9335
  <xsl:apply-templates/>
9295
9336
  </xsl:template>
9296
- <xsl:template match="mn:definition[preceding-sibling::mn:domain]/mn:p[1]">
9337
+ <xsl:template match="mn:fmt-definition[preceding-sibling::mn:domain]/mn:p[1]">
9297
9338
  <fo:inline> <xsl:apply-templates/></fo:inline>
9298
9339
  <fo:block/>
9299
9340
  </xsl:template>
@@ -9380,12 +9421,12 @@
9380
9421
  <xsl:call-template name="refine_termexample-style"/>
9381
9422
  <xsl:call-template name="setBlockSpanAll"/>
9382
9423
 
9383
- <xsl:apply-templates select="mn:name"/>
9384
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
9424
+ <xsl:apply-templates select="mn:fmt-name"/>
9425
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
9385
9426
  </fo:block>
9386
9427
  </xsl:template>
9387
9428
 
9388
- <xsl:template match="mn:termexample/mn:name">
9429
+ <xsl:template match="mn:termexample/mn:fmt-name">
9389
9430
  <xsl:if test="normalize-space() != ''">
9390
9431
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
9391
9432
  <xsl:call-template name="refine_termexample-name-style"/>
@@ -9436,7 +9477,7 @@
9436
9477
  <xsl:call-template name="refine_example-style"/>
9437
9478
 
9438
9479
  <xsl:variable name="fo_element">
9439
- <xsl:if test=".//mn:table or .//mn:dl or *[not(self::mn:name)][1][self::mn:sourcecode]">block</xsl:if>
9480
+ <xsl:if test=".//mn:table or .//mn:dl or *[not(self::mn:fmt-name)][1][self::mn:sourcecode]">block</xsl:if>
9440
9481
  <xsl:choose>
9441
9482
  <xsl:when test="$layoutVersion = '1951' and $revision_date_num &lt; 19610101">list</xsl:when>
9442
9483
  <xsl:otherwise>inline</xsl:otherwise>
@@ -9452,7 +9493,7 @@
9452
9493
 
9453
9494
  <!-- display name 'EXAMPLE' in a separate block -->
9454
9495
  <fo:block>
9455
- <xsl:apply-templates select="mn:name">
9496
+ <xsl:apply-templates select="mn:fmt-name">
9456
9497
  <xsl:with-param name="fo_element" select="$fo_element"/>
9457
9498
  </xsl:apply-templates>
9458
9499
  </fo:block>
@@ -9460,7 +9501,7 @@
9460
9501
  <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9461
9502
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9462
9503
  <xsl:variable name="example_body">
9463
- <xsl:apply-templates select="node()[not(self::mn:name)]">
9504
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]">
9464
9505
  <xsl:with-param name="fo_element" select="$fo_element"/>
9465
9506
  </xsl:apply-templates>
9466
9507
  </xsl:variable>
@@ -9487,14 +9528,14 @@
9487
9528
  <fo:list-item>
9488
9529
  <fo:list-item-label start-indent="{$indent}mm" end-indent="label-end()">
9489
9530
  <fo:block>
9490
- <xsl:apply-templates select="mn:name">
9531
+ <xsl:apply-templates select="mn:fmt-name">
9491
9532
  <xsl:with-param name="fo_element">block</xsl:with-param>
9492
9533
  </xsl:apply-templates>
9493
9534
  </fo:block>
9494
9535
  </fo:list-item-label>
9495
9536
  <fo:list-item-body start-indent="body-start()">
9496
9537
  <fo:block>
9497
- <xsl:apply-templates select="node()[not(self::mn:name)]">
9538
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]">
9498
9539
  <xsl:with-param name="fo_element" select="$fo_element"/>
9499
9540
  </xsl:apply-templates>
9500
9541
  </fo:block>
@@ -9507,21 +9548,21 @@
9507
9548
 
9508
9549
  <!-- display 'EXAMPLE' and first element in the same line -->
9509
9550
  <fo:block>
9510
- <xsl:apply-templates select="mn:name">
9551
+ <xsl:apply-templates select="mn:fmt-name">
9511
9552
  <xsl:with-param name="fo_element" select="$fo_element"/>
9512
9553
  </xsl:apply-templates>
9513
9554
  <fo:inline>
9514
- <xsl:apply-templates select="*[not(self::mn:name)][1]">
9555
+ <xsl:apply-templates select="*[not(self::mn:fmt-name)][1]">
9515
9556
  <xsl:with-param name="fo_element" select="$fo_element"/>
9516
9557
  </xsl:apply-templates>
9517
9558
  </fo:inline>
9518
9559
  </fo:block>
9519
9560
 
9520
- <xsl:if test="*[not(self::mn:name)][position() &gt; 1]">
9561
+ <xsl:if test="*[not(self::mn:fmt-name)][position() &gt; 1]">
9521
9562
  <!-- display further elements in blocks -->
9522
9563
  <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9523
9564
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9524
- <xsl:apply-templates select="*[not(self::mn:name)][position() &gt; 1]">
9565
+ <xsl:apply-templates select="*[not(self::mn:fmt-name)][position() &gt; 1]">
9525
9566
  <xsl:with-param name="fo_element" select="'block'"/>
9526
9567
  </xsl:apply-templates>
9527
9568
  </fo:block-container>
@@ -9535,7 +9576,7 @@
9535
9576
  </xsl:template>
9536
9577
 
9537
9578
  <!-- example/name -->
9538
- <xsl:template match="mn:example/mn:name">
9579
+ <xsl:template match="mn:example/mn:fmt-name">
9539
9580
  <xsl:param name="fo_element">block</xsl:param>
9540
9581
 
9541
9582
  <xsl:choose>
@@ -9560,7 +9601,7 @@
9560
9601
  </xsl:template>
9561
9602
 
9562
9603
  <!-- table/example/name, table/tfoot//example/name -->
9563
- <xsl:template match="mn:table/mn:example/mn:name | mn:table/mn:tfoot//mn:example/mn:name">
9604
+ <xsl:template match="mn:table/mn:example/mn:fmt-name | mn:table/mn:tfoot//mn:example/mn:fmt-name">
9564
9605
  <fo:inline xsl:use-attribute-sets="example-name-style">
9565
9606
  <xsl:apply-templates/>
9566
9607
  </fo:inline>
@@ -9634,7 +9675,7 @@
9634
9675
 
9635
9676
  <xsl:template name="refine_table-container-style">
9636
9677
  <xsl:param name="margin-side"/>
9637
- <xsl:if test="not(mn:name)">
9678
+ <xsl:if test="not(mn:fmt-name)">
9638
9679
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
9639
9680
  </xsl:if>
9640
9681
  <xsl:if test="starts-with(@id, 'array_')">
@@ -9744,7 +9785,7 @@
9744
9785
  </xsl:attribute-set>
9745
9786
 
9746
9787
  <xsl:template name="refine_table-body-row-style">
9747
- <xsl:if test="position() = 1 and not(ancestor::mn:table/*[local-name() = 'thead']) and ancestor::mn:table/mn:name">
9788
+ <xsl:if test="position() = 1 and not(ancestor::mn:table/*[local-name() = 'thead']) and ancestor::mn:table/mn:fmt-name">
9748
9789
  <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
9749
9790
  </xsl:if>
9750
9791
 
@@ -9940,7 +9981,7 @@
9940
9981
 
9941
9982
  <!-- Display table's name before table as standalone block -->
9942
9983
  <!-- $namespace = 'iso' or -->
9943
- <xsl:apply-templates select="mn:name"/> <!-- table's title rendered before table -->
9984
+ <xsl:apply-templates select="mn:fmt-name"/> <!-- table's title rendered before table -->
9944
9985
 
9945
9986
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/mn:tr[1]/mn:td)"/>
9946
9987
 
@@ -9981,7 +10022,7 @@
9981
10022
 
9982
10023
  <fo:block-container xsl:use-attribute-sets="table-container-style" role="SKIP">
9983
10024
 
9984
- <xsl:for-each select="mn:name">
10025
+ <xsl:for-each select="mn:fmt-name">
9985
10026
  <xsl:call-template name="setIDforNamedDestination"/>
9986
10027
  </xsl:for-each>
9987
10028
 
@@ -10011,6 +10052,10 @@
10011
10052
  <xsl:with-param name="margin-side" select="$margin-side"/>
10012
10053
  </xsl:call-template>
10013
10054
 
10055
+ <xsl:call-template name="setTableStyles">
10056
+ <xsl:with-param name="scope">table</xsl:with-param>
10057
+ </xsl:call-template>
10058
+
10014
10059
  </xsl:element>
10015
10060
  </xsl:variable>
10016
10061
 
@@ -10031,7 +10076,7 @@
10031
10076
  </xsl:attribute>
10032
10077
  </xsl:for-each>
10033
10078
 
10034
- <xsl:variable name="isNoteOrFnExist" select="./mn:note[not(@type = 'units')] or ./mn:example or .//mn:fn[local-name(..) != 'name'] or ./mn:source"/>
10079
+ <xsl:variable name="isNoteOrFnExist" select="./mn:note[not(@type = 'units')] or ./mn:example or .//mn:fn[not(parent::mn:fmt-name)] or ./mn:fmt-source"/>
10035
10080
  <xsl:if test="$isNoteOrFnExist = 'true'">
10036
10081
  <!-- <xsl:choose>
10037
10082
  <xsl:when test="$namespace = 'plateau'"></xsl:when>
@@ -10087,7 +10132,7 @@
10087
10132
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
10088
10133
  </xsl:when>
10089
10134
  <xsl:otherwise>
10090
- <xsl:apply-templates select="node()[not(self::mn:name) and not(self::mn:note) and not(self::mn:example) and not(self::mn:dl) and not(self::mn:source) and not(self::mn:p) and not(self::mn:thead) and not(self::mn:tfoot) and not(self::mn:fmt-footnote-container)]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
10135
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name) and not(self::mn:note) and not(self::mn:example) and not(self::mn:dl) and not(self::mn:fmt-source) and not(self::mn:p) and not(self::mn:thead) and not(self::mn:tfoot) and not(self::mn:fmt-footnote-container)]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
10091
10136
  </xsl:otherwise>
10092
10137
  </xsl:choose>
10093
10138
 
@@ -10195,7 +10240,7 @@
10195
10240
  </xsl:template>
10196
10241
 
10197
10242
  <!-- table/name-->
10198
- <xsl:template match="*[local-name()='table']/mn:name">
10243
+ <xsl:template match="*[local-name()='table']/mn:fmt-name">
10199
10244
  <xsl:param name="continued"/>
10200
10245
  <xsl:param name="cols-count"/>
10201
10246
  <xsl:if test="normalize-space() != ''">
@@ -10269,7 +10314,7 @@
10269
10314
  </xsl:template>
10270
10315
 
10271
10316
  <!-- SOURCE: ... -->
10272
- <xsl:template match="*[local-name()='table']/mn:source" priority="2">
10317
+ <xsl:template match="*[local-name()='table']/mn:fmt-source" priority="2">
10273
10318
  <xsl:call-template name="termsource"/>
10274
10319
  </xsl:template>
10275
10320
 
@@ -10434,11 +10479,11 @@
10434
10479
  <xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
10435
10480
  </xsl:template>
10436
10481
 
10437
- <xsl:template match="mn:termsource" mode="td_text">
10438
- <xsl:value-of select="*[local-name()='origin']/@citeas"/>
10482
+ <xsl:template match="mn:fmt-termsource" mode="td_text">
10483
+ <xsl:value-of select="mn:fmt-origin/@citeas"/>
10439
10484
  </xsl:template>
10440
10485
 
10441
- <xsl:template match="mn:link" mode="td_text">
10486
+ <xsl:template match="mn:fmt-link" mode="td_text">
10442
10487
  <xsl:value-of select="@target"/>
10443
10488
  </xsl:template>
10444
10489
 
@@ -10643,12 +10688,12 @@
10643
10688
 
10644
10689
  <xsl:call-template name="refine_table-header-title-style"/>
10645
10690
 
10646
- <xsl:apply-templates select="ancestor::mn:table/mn:name">
10691
+ <xsl:apply-templates select="ancestor::mn:table/mn:fmt-name">
10647
10692
  <xsl:with-param name="continued">true</xsl:with-param>
10648
10693
  <xsl:with-param name="cols-count" select="$cols-count"/>
10649
10694
  </xsl:apply-templates>
10650
10695
 
10651
- <xsl:if test="not(ancestor::mn:table/mn:name)"> <!-- to prevent empty fo:table-cell in case of missing table's name -->
10696
+ <xsl:if test="not(ancestor::mn:table/mn:fmt-name)"> <!-- to prevent empty fo:table-cell in case of missing table's name -->
10652
10697
  <fo:block role="SKIP"/>
10653
10698
  </xsl:if>
10654
10699
  <xsl:for-each select="ancestor::*[local-name()='table'][1]">
@@ -10691,7 +10736,7 @@
10691
10736
  <xsl:param name="colwidths"/>
10692
10737
  <xsl:param name="colgroup"/>
10693
10738
 
10694
- <xsl:variable name="isNoteOrFnExist" select="../mn:note[not(@type = 'units')] or ../mn:example or ../mn:dl or ..//mn:fn[local-name(..) != 'name'] or ../mn:source or ../mn:p"/>
10739
+ <xsl:variable name="isNoteOrFnExist" select="../mn:note[not(@type = 'units')] or ../mn:example or ../mn:dl or ..//mn:fn[not(parent::mn:fmt-name)] or ../mn:fmt-source or ../mn:p"/>
10695
10740
 
10696
10741
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
10697
10742
  </xsl:variable>
@@ -10732,6 +10777,12 @@
10732
10777
  </xsl:choose>
10733
10778
  </xsl:for-each>
10734
10779
 
10780
+ <xsl:for-each select="ancestor::mn:table[1]">
10781
+ <xsl:call-template name="setTableStyles">
10782
+ <xsl:with-param name="scope">table</xsl:with-param>
10783
+ </xsl:call-template>
10784
+ </xsl:for-each>
10785
+
10735
10786
  <xsl:choose>
10736
10787
  <xsl:when test="xalan:nodeset($colgroup)//mn:col">
10737
10788
  <xsl:for-each select="xalan:nodeset($colgroup)//mn:col">
@@ -10748,10 +10799,22 @@
10748
10799
 
10749
10800
  <fo:table-body role="SKIP">
10750
10801
  <fo:table-row role="SKIP">
10802
+ <xsl:for-each select="ancestor::mn:table[1]">
10803
+ <xsl:call-template name="setTableStyles">
10804
+ <xsl:with-param name="scope">ancestor_table</xsl:with-param>
10805
+ </xsl:call-template>
10806
+ </xsl:for-each>
10807
+
10751
10808
  <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}" role="SKIP">
10752
10809
 
10753
10810
  <xsl:call-template name="refine_table-footer-cell-style"/>
10754
10811
 
10812
+ <xsl:for-each select="ancestor::mn:table[1]">
10813
+ <xsl:call-template name="setTableStyles">
10814
+ <xsl:with-param name="scope">ancestor_table_borders_only</xsl:with-param>
10815
+ </xsl:call-template>
10816
+ </xsl:for-each>
10817
+
10755
10818
  <xsl:call-template name="setBordersTableArray"/>
10756
10819
 
10757
10820
  <!-- fn will be processed inside 'note' processing -->
@@ -10759,7 +10822,7 @@
10759
10822
  <xsl:apply-templates select="../mn:dl"/>
10760
10823
  <xsl:apply-templates select="../mn:note[not(@type = 'units')]"/>
10761
10824
  <xsl:apply-templates select="../mn:example"/>
10762
- <xsl:apply-templates select="../mn:source"/>
10825
+ <xsl:apply-templates select="../mn:fmt-source"/>
10763
10826
 
10764
10827
  <xsl:variable name="isDisplayRowSeparator">
10765
10828
  </xsl:variable>
@@ -10809,7 +10872,7 @@
10809
10872
  </xsl:choose>
10810
10873
  </xsl:variable>
10811
10874
  <!-- if there isn't 'thead' and there is a table's title -->
10812
- <xsl:if test="not(ancestor::mn:table/mn:thead) and ancestor::mn:table/mn:name">
10875
+ <xsl:if test="not(ancestor::mn:table/mn:thead) and ancestor::mn:table/mn:fmt-name">
10813
10876
  <fo:table-header>
10814
10877
  <xsl:call-template name="table-header-title">
10815
10878
  <xsl:with-param name="cols-count" select="$cols-count"/>
@@ -10836,7 +10899,7 @@
10836
10899
  <xsl:variable name="title_continued"><xsl:value-of select="$title_continued_in_parenthesis"/>
10837
10900
  </xsl:variable>
10838
10901
 
10839
- <xsl:variable name="title_start" select="ancestor::mn:table[1]/mn:name/node()[1][self::text()]"/>
10902
+ <xsl:variable name="title_start" select="ancestor::mn:table[1]/mn:fmt-name/node()[1][self::text()]"/>
10840
10903
  <xsl:variable name="table_number" select="substring-before($title_start, '—')"/>
10841
10904
 
10842
10905
  <fo:table-row height="0" keep-with-next.within-page="always" role="SKIP">
@@ -10986,7 +11049,12 @@
10986
11049
 
10987
11050
  <xsl:template name="setTableRowAttributes">
10988
11051
 
10989
- <xsl:call-template name="setColors"/>
11052
+ <xsl:for-each select="ancestor::mn:table[1]">
11053
+ <xsl:call-template name="setTableStyles">
11054
+ <xsl:with-param name="scope">ancestor_table</xsl:with-param>
11055
+ </xsl:call-template>
11056
+ </xsl:for-each>
11057
+ <xsl:call-template name="setTableStyles"/>
10990
11058
 
10991
11059
  </xsl:template> <!-- setTableRowAttributes -->
10992
11060
  <!-- ===================== -->
@@ -11039,7 +11107,13 @@
11039
11107
  </xsl:attribute>
11040
11108
  </xsl:if>
11041
11109
  <xsl:call-template name="display-align"/>
11042
- <xsl:call-template name="setColors"/>
11110
+
11111
+ <xsl:for-each select="ancestor::mn:table[1]">
11112
+ <xsl:call-template name="setTableStyles">
11113
+ <xsl:with-param name="scope">ancestor_table_borders_only</xsl:with-param>
11114
+ </xsl:call-template>
11115
+ </xsl:for-each>
11116
+ <xsl:call-template name="setTableStyles"/>
11043
11117
  </xsl:template>
11044
11118
 
11045
11119
  <xsl:template name="display-align">
@@ -11055,7 +11129,8 @@
11055
11129
  </xsl:if>
11056
11130
  </xsl:template>
11057
11131
 
11058
- <xsl:template name="setColors">
11132
+ <xsl:template name="setTableStyles">
11133
+ <xsl:param name="scope">cell</xsl:param>
11059
11134
  <xsl:variable name="styles__">
11060
11135
  <xsl:call-template name="split">
11061
11136
  <xsl:with-param name="pText" select="concat(@style,';')"/>
@@ -11064,19 +11139,35 @@
11064
11139
  </xsl:variable>
11065
11140
  <xsl:variable name="quot">"</xsl:variable>
11066
11141
  <xsl:variable name="styles_">
11142
+ <!-- PDF: Borderless tables https://github.com/metanorma/metanorma-jis/issues/344 -->
11143
+ <xsl:if test="@plain = 'true' or ancestor::mn:table/@plain = 'true'">
11144
+ <style name="border-top">none</style>
11145
+ <style name="border-right">none</style>
11146
+ <style name="border-left">none</style>
11147
+ <style name="border-bottom">none</style>
11148
+ <style name="color">inherit</style>
11149
+ <style name="background-color">transparent</style>
11150
+ </xsl:if>
11151
+
11067
11152
  <xsl:for-each select="xalan:nodeset($styles__)/mnx:item">
11068
11153
  <xsl:variable name="key" select="normalize-space(substring-before(., ':'))"/>
11069
11154
  <xsl:variable name="value" select="normalize-space(substring-after(translate(.,$quot,''), ':'))"/>
11070
- <xsl:if test="$key = 'color' or $key = 'background-color' or $key = 'border' or $key = 'border-top' or $key = 'border-right' or $key = 'border-left' or $key = 'border-bottom' or $key = 'border-style' or $key = 'border-width' or $key = 'border-color' or $key = 'border-top-style' or $key = 'border-top-width' or $key = 'border-top-color' or $key = 'border-right-style' or $key = 'border-right-width' or $key = 'border-right-color' or $key = 'border-left-style' or $key = 'border-left-width' or $key = 'border-left-color' or $key = 'border-bottom-style' or $key = 'border-bottom-width' or $key = 'border-bottom-color'">
11155
+ <xsl:if test="($key = 'color' and ($scope = 'cell' or $scope = 'table')) or ($key = 'background-color' and ($scope = 'cell' or $scope = 'ancestor_table')) or $key = 'border' or $key = 'border-top' or $key = 'border-right' or $key = 'border-left' or $key = 'border-bottom' or $key = 'border-style' or $key = 'border-width' or $key = 'border-color' or $key = 'border-top-style' or $key = 'border-top-width' or $key = 'border-top-color' or $key = 'border-right-style' or $key = 'border-right-width' or $key = 'border-right-color' or $key = 'border-left-style' or $key = 'border-left-width' or $key = 'border-left-color' or $key = 'border-bottom-style' or $key = 'border-bottom-width' or $key = 'border-bottom-color'">
11071
11156
  <style name="{$key}"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($value), 'currentColor', 'inherit')"/></style>
11072
11157
  </xsl:if>
11158
+ <xsl:if test="$key = 'border' and ($scope = 'table' or $scope = 'ancestor_table' or $scope = 'ancestor_table_borders_only')">
11159
+ <style name="{$key}-top"><xsl:value-of select="$value"/></style>
11160
+ <style name="{$key}-right"><xsl:value-of select="$value"/></style>
11161
+ <style name="{$key}-left"><xsl:value-of select="$value"/></style>
11162
+ <style name="{$key}-bottom"><xsl:value-of select="$value"/></style>
11163
+ </xsl:if>
11073
11164
  </xsl:for-each>
11074
11165
  </xsl:variable>
11075
11166
  <xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
11076
11167
  <xsl:for-each select="$styles/style">
11077
11168
  <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
11078
11169
  </xsl:for-each>
11079
- </xsl:template> <!-- setColors -->
11170
+ </xsl:template> <!-- setTableStyles -->
11080
11171
 
11081
11172
  <!-- cell in table body, footer -->
11082
11173
  <xsl:template match="*[local-name()='td']" name="td">
@@ -11140,11 +11231,11 @@
11140
11231
 
11141
11232
  <xsl:call-template name="refine_table-note-name-style"/>
11142
11233
 
11143
- <xsl:apply-templates select="mn:name"/>
11234
+ <xsl:apply-templates select="mn:fmt-name"/>
11144
11235
 
11145
11236
  </fo:inline>
11146
11237
 
11147
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
11238
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
11148
11239
  </fo:block>
11149
11240
  </xsl:template> <!-- table/note -->
11150
11241
 
@@ -11283,7 +11374,7 @@
11283
11374
 
11284
11375
  <!-- footnotes for table's name rendering -->
11285
11376
  <xsl:template name="table_name_fn_display">
11286
- <xsl:for-each select="mn:name//mn:fn">
11377
+ <xsl:for-each select="mn:fmt-name//mn:fn">
11287
11378
  <xsl:variable name="reference" select="@reference"/>
11288
11379
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
11289
11380
  <fo:block margin-bottom="12pt">
@@ -11940,7 +12031,7 @@
11940
12031
  </xsl:if> -->
11941
12032
 
11942
12033
  <xsl:variable name="words">
11943
- <xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
12034
+ <xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'fmt-stem']">
11944
12035
  <word>
11945
12036
  <xsl:copy-of select="."/>
11946
12037
  </word>
@@ -11999,7 +12090,7 @@
11999
12090
  </xsl:copy>
12000
12091
  </xsl:template>
12001
12092
 
12002
- <xsl:template match="*[local-name() = 'stem' or local-name() = 'image']" mode="td_text_with_formatting"/>
12093
+ <xsl:template match="*[local-name() = 'fmt-stem' or local-name() = 'image']" mode="td_text_with_formatting"/>
12003
12094
 
12004
12095
  <xsl:template match="*[local-name() = 'keep-together_within-line']/text()" mode="td_text_with_formatting">
12005
12096
  <xsl:variable name="formatting_tags">
@@ -12034,7 +12125,7 @@
12034
12125
  </xsl:call-template>
12035
12126
  </xsl:template>
12036
12127
 
12037
- <xsl:template match="mn:link[normalize-space() = '']" mode="td_text_with_formatting">
12128
+ <xsl:template match="mn:fmt-link[normalize-space() = '']" mode="td_text_with_formatting">
12038
12129
  <xsl:variable name="link">
12039
12130
  <link_updated>
12040
12131
  <xsl:variable name="target_text">
@@ -12254,7 +12345,7 @@
12254
12345
 
12255
12346
  <xsl:call-template name="refine_multicomponent_block_style"/>
12256
12347
 
12257
- <xsl:apply-templates select="mn:name">
12348
+ <xsl:apply-templates select="mn:fmt-name">
12258
12349
  <xsl:with-param name="process">true</xsl:with-param>
12259
12350
  </xsl:apply-templates>
12260
12351
 
@@ -12445,7 +12536,7 @@
12445
12536
  </xsl:template> <!-- refine_multicomponent_block_style -->
12446
12537
 
12447
12538
  <!-- dl/name -->
12448
- <xsl:template match="mn:dl/mn:name">
12539
+ <xsl:template match="mn:dl/mn:fmt-name">
12449
12540
  <xsl:param name="process">false</xsl:param>
12450
12541
  <xsl:if test="$process = 'true'">
12451
12542
  <fo:block xsl:use-attribute-sets="dl-name-style">
@@ -12863,12 +12954,12 @@
12863
12954
  <xsl:template match="mn:appendix">
12864
12955
  <xsl:call-template name="setNamedDestination"/>
12865
12956
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
12866
- <xsl:apply-templates select="mn:title"/>
12957
+ <xsl:apply-templates select="mn:fmt-title"/>
12867
12958
  </fo:block>
12868
- <xsl:apply-templates select="node()[not(local-name()='title')]"/>
12959
+ <xsl:apply-templates select="node()[not(self::mn:fmt-title)]"/>
12869
12960
  </xsl:template>
12870
12961
 
12871
- <xsl:template match="mn:appendix/mn:title" priority="2">
12962
+ <xsl:template match="mn:appendix/mn:fmt-title" priority="2">
12872
12963
  <xsl:variable name="level">
12873
12964
  <xsl:call-template name="getLevel"/>
12874
12965
  </xsl:variable>
@@ -12881,9 +12972,9 @@
12881
12972
  <xsl:template match="mn:appendix//mn:example" priority="2">
12882
12973
  <xsl:call-template name="setNamedDestination"/>
12883
12974
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
12884
- <xsl:apply-templates select="mn:name"/>
12975
+ <xsl:apply-templates select="mn:fmt-name"/>
12885
12976
  </fo:block>
12886
- <xsl:apply-templates select="node()[not(local-name()='name')]"/>
12977
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
12887
12978
  </xsl:template>
12888
12979
 
12889
12980
  <xsl:attribute-set name="xref-style">
@@ -12891,7 +12982,7 @@
12891
12982
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
12892
12983
  </xsl:attribute-set>
12893
12984
 
12894
- <xsl:template match="mn:xref">
12985
+ <xsl:template match="mn:fmt-xref">
12895
12986
  <xsl:call-template name="insert_basic_link">
12896
12987
  <xsl:with-param name="element">
12897
12988
  <xsl:variable name="alt_text">
@@ -12911,7 +13002,7 @@
12911
13002
  </xsl:template> <!-- xref -->
12912
13003
 
12913
13004
  <!-- command between two xref points to non-standard bibitem -->
12914
- <xsl:template match="text()[. = ','][preceding-sibling::node()[1][self::mn:sup][mn:xref[@type = 'footnote']] and following-sibling::node()[1][self::mn:sup][mn:xref[@type = 'footnote']]]">
13005
+ <xsl:template match="text()[. = ','][preceding-sibling::node()[1][self::mn:sup][mn:fmt-xref[@type = 'footnote']] and following-sibling::node()[1][self::mn:sup][mn:fmt-xref[@type = 'footnote']]]">
12915
13006
  <fo:inline baseline-shift="20%" font-size="80%"><xsl:value-of select="."/></fo:inline>
12916
13007
 
12917
13008
  </xsl:template>
@@ -12944,7 +13035,7 @@
12944
13035
  <!-- ====== -->
12945
13036
  <!-- eref -->
12946
13037
  <!-- ====== -->
12947
- <xsl:template match="mn:eref" name="eref">
13038
+ <xsl:template match="mn:fmt-eref" name="eref">
12948
13039
  <xsl:variable name="current_bibitemid" select="@bibitemid"/>
12949
13040
  <!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/mn:uri[@type = 'citation'])"/> -->
12950
13041
  <xsl:variable name="external-destination" select="normalize-space($bibitems/mn:bibitem[@id = $current_bibitemid]/mn:uri[@type = 'citation'])"/>
@@ -13051,7 +13142,7 @@
13051
13142
  </xsl:attribute-set>
13052
13143
 
13053
13144
  <xsl:template name="refine_note-name-style">
13054
- <xsl:variable name="note_name" select="mn:name"/>
13145
+ <xsl:variable name="note_name" select="mn:fmt-name"/>
13055
13146
  <xsl:if test="$layoutVersion = '1951'">
13056
13147
  <xsl:if test="$revision_date_num"> <!-- &lt; 19610101 -->
13057
13148
  <xsl:attribute name="padding-right">0mm</xsl:attribute>
@@ -13117,7 +13208,10 @@
13117
13208
 
13118
13209
  <xsl:call-template name="setNamedDestination"/>
13119
13210
 
13120
- <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
13211
+ <fo:block-container xsl:use-attribute-sets="note-style" role="SKIP">
13212
+ <xsl:if test="not(parent::mn:references)">
13213
+ <xsl:copy-of select="@id"/>
13214
+ </xsl:if>
13121
13215
 
13122
13216
  <xsl:call-template name="setBlockSpanAll"/>
13123
13217
 
@@ -13130,28 +13224,28 @@
13130
13224
 
13131
13225
  <fo:inline xsl:use-attribute-sets="note-name-style" role="SKIP">
13132
13226
 
13133
- <xsl:apply-templates select="mn:name/mn:tab" mode="tab"/>
13227
+ <xsl:apply-templates select="mn:fmt-name/mn:tab" mode="tab"/>
13134
13228
 
13135
13229
  <xsl:call-template name="refine_note-name-style"/>
13136
13230
 
13137
13231
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
13138
13232
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
13139
- <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and mn:add]">
13233
+ <xsl:if test="*[not(self::mn:fmt-name)][1][count(node()[normalize-space() != '']) = 1 and mn:add]">
13140
13234
  <xsl:call-template name="append_add-style"/>
13141
13235
  </xsl:if>
13142
13236
 
13143
13237
  <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
13144
- <xsl:if test="count(*[not(self::mn:name)]) = 1 and *[not(self::mn:name)]/node()[last()][self::mn:add][starts-with(text(), $ace_tag)]">
13145
- <xsl:apply-templates select="*[not(self::mn:name)]/node()[1][self::mn:add][starts-with(text(), $ace_tag)]">
13238
+ <xsl:if test="count(*[not(self::mn:fmt-name)]) = 1 and *[not(self::mn:fmt-name)]/node()[last()][self::mn:add][starts-with(text(), $ace_tag)]">
13239
+ <xsl:apply-templates select="*[not(self::mn:fmt-name)]/node()[1][self::mn:add][starts-with(text(), $ace_tag)]">
13146
13240
  <xsl:with-param name="skip">false</xsl:with-param>
13147
13241
  </xsl:apply-templates>
13148
13242
  </xsl:if>
13149
13243
 
13150
- <xsl:apply-templates select="mn:name"/>
13244
+ <xsl:apply-templates select="mn:fmt-name"/>
13151
13245
 
13152
13246
  </fo:inline>
13153
13247
 
13154
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
13248
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
13155
13249
  </fo:block>
13156
13250
  </fo:block-container>
13157
13251
  </fo:block-container>
@@ -13212,19 +13306,19 @@
13212
13306
 
13213
13307
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
13214
13308
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
13215
- <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and mn:add]">
13309
+ <xsl:if test="*[not(self::mn:fmt-name)][1][count(node()[normalize-space() != '']) = 1 and mn:add]">
13216
13310
  <xsl:call-template name="append_add-style"/>
13217
13311
  </xsl:if>
13218
13312
 
13219
- <xsl:apply-templates select="mn:name"/>
13313
+ <xsl:apply-templates select="mn:fmt-name"/>
13220
13314
 
13221
13315
  </fo:inline>
13222
13316
 
13223
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
13317
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
13224
13318
  </fo:block>
13225
13319
  </xsl:template>
13226
13320
 
13227
- <xsl:template match="mn:note/mn:name">
13321
+ <xsl:template match="mn:note/mn:fmt-name">
13228
13322
  <xsl:param name="sfx"/>
13229
13323
  <xsl:variable name="suffix">
13230
13324
  <xsl:choose>
@@ -13254,7 +13348,7 @@
13254
13348
  </xsl:if>
13255
13349
  </xsl:template>
13256
13350
 
13257
- <xsl:template match="mn:termnote/mn:name">
13351
+ <xsl:template match="mn:termnote/mn:fmt-name">
13258
13352
  <xsl:param name="sfx"/>
13259
13353
  <xsl:variable name="suffix">
13260
13354
  <xsl:choose>
@@ -13339,15 +13433,15 @@
13339
13433
 
13340
13434
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
13341
13435
  <fo:block role="BlockQuote">
13342
- <xsl:apply-templates select="./node()[not(self::mn:author) and not(self::mn:source) and not(self::mn:attribution)]"/> <!-- process all nested nodes, except author and source -->
13436
+ <xsl:apply-templates select="./node()[not(self::mn:author) and not(self::mn:fmt-source) and not(self::mn:attribution)]"/> <!-- process all nested nodes, except author and source -->
13343
13437
  </fo:block>
13344
13438
  </fo:block-container>
13345
13439
  </fo:block-container>
13346
- <xsl:if test="mn:author or mn:source or mn:attribution">
13440
+ <xsl:if test="mn:author or mn:fmt-source or mn:attribution">
13347
13441
  <fo:block xsl:use-attribute-sets="quote-source-style">
13348
13442
  <!-- — ISO, ISO 7301:2011, Clause 1 -->
13349
13443
  <xsl:apply-templates select="mn:author"/>
13350
- <xsl:apply-templates select="mn:source"/>
13444
+ <xsl:apply-templates select="mn:fmt-source"/>
13351
13445
  <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
13352
13446
  <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
13353
13447
  </fo:block>
@@ -13357,17 +13451,32 @@
13357
13451
  </fo:block-container>
13358
13452
  </xsl:template>
13359
13453
 
13360
- <xsl:template match="mn:source">
13454
+ <xsl:template match="mn:fmt-source">
13361
13455
  <xsl:if test="../mn:author">
13362
13456
  <xsl:text>, </xsl:text>
13363
13457
  </xsl:if>
13364
- <xsl:call-template name="insert_basic_link">
13365
- <xsl:with-param name="element">
13366
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
13367
- <xsl:apply-templates/>
13368
- </fo:basic-link>
13369
- </xsl:with-param>
13370
- </xsl:call-template>
13458
+ <xsl:choose>
13459
+ <xsl:when test="not(parent::quote)">
13460
+ <fo:block>
13461
+ <xsl:call-template name="insert_basic_link">
13462
+ <xsl:with-param name="element">
13463
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
13464
+ <xsl:apply-templates/>
13465
+ </fo:basic-link>
13466
+ </xsl:with-param>
13467
+ </xsl:call-template>
13468
+ </fo:block>
13469
+ </xsl:when>
13470
+ <xsl:otherwise>
13471
+ <xsl:call-template name="insert_basic_link">
13472
+ <xsl:with-param name="element">
13473
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
13474
+ <xsl:apply-templates/>
13475
+ </fo:basic-link>
13476
+ </xsl:with-param>
13477
+ </xsl:call-template>
13478
+ </xsl:otherwise>
13479
+ </xsl:choose>
13371
13480
  </xsl:template>
13372
13481
 
13373
13482
  <xsl:template match="mn:author">
@@ -13453,7 +13562,7 @@
13453
13562
  <ancestor><xsl:copy-of select="ancestor::mn:figure[.//mn:name[.//mn:fn]]"/></ancestor> -->
13454
13563
  <xsl:choose>
13455
13564
  <!-- skip figure/name/fn -->
13456
- <xsl:when test="ancestor::mn:figure[.//mn:name[.//mn:fn[@target = $curr_id]]]"><!-- skip --></xsl:when>
13565
+ <xsl:when test="ancestor::mn:figure[.//mn:fmt-name[.//mn:fn[@target = $curr_id]]]"><!-- skip --></xsl:when>
13457
13566
  <xsl:otherwise>
13458
13567
  <xsl:element name="figure" namespace="{$namespace_full}">
13459
13568
  <xsl:element name="fmt-footnote-container" namespace="{$namespace_full}">
@@ -13651,17 +13760,17 @@
13651
13760
 
13652
13761
  <fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
13653
13762
 
13654
- <xsl:for-each select="mn:name"> <!-- set context -->
13763
+ <xsl:for-each select="mn:fmt-name"> <!-- set context -->
13655
13764
  <xsl:call-template name="setIDforNamedDestination"/>
13656
13765
  </xsl:for-each>
13657
13766
 
13658
- <xsl:apply-templates select="node()[not(self::mn:name) and not(self::mn:note and @type = 'units')]"/>
13767
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name) and not(self::mn:note and @type = 'units')]"/>
13659
13768
  </fo:block>
13660
13769
 
13661
13770
  <xsl:if test="normalize-space($show_figure_key_in_block_container) = 'true'">
13662
13771
  <xsl:call-template name="showFigureKey"/>
13663
13772
  </xsl:if>
13664
- <xsl:apply-templates select="mn:name"/> <!-- show figure's name AFTER image -->
13773
+ <xsl:apply-templates select="mn:fmt-name"/> <!-- show figure's name AFTER image -->
13665
13774
 
13666
13775
  </fo:block-container>
13667
13776
  </xsl:template>
@@ -13687,9 +13796,9 @@
13687
13796
  <xsl:template match="mn:figure[@class = 'pseudocode']">
13688
13797
  <xsl:call-template name="setNamedDestination"/>
13689
13798
  <fo:block id="{@id}">
13690
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
13799
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
13691
13800
  </fo:block>
13692
- <xsl:apply-templates select="mn:name"/>
13801
+ <xsl:apply-templates select="mn:fmt-name"/>
13693
13802
  </xsl:template>
13694
13803
 
13695
13804
  <xsl:template match="mn:figure[@class = 'pseudocode']//mn:p">
@@ -13700,7 +13809,7 @@
13700
13809
 
13701
13810
  <!-- SOURCE: ... -->
13702
13811
  <!-- figure/source -->
13703
- <xsl:template match="mn:figure/mn:source" priority="2">
13812
+ <xsl:template match="mn:figure/mn:fmt-source" priority="2">
13704
13813
  <xsl:call-template name="termsource"/>
13705
13814
  </xsl:template>
13706
13815
 
@@ -13710,7 +13819,7 @@
13710
13819
  <xsl:variable name="isAdded" select="../@added"/>
13711
13820
  <xsl:variable name="isDeleted" select="../@deleted"/>
13712
13821
  <xsl:choose>
13713
- <xsl:when test="ancestor::mn:title or not(parent::mn:figure) or parent::mn:p"> <!-- inline image ( 'image:path' in adoc, with one colon after image) -->
13822
+ <xsl:when test="ancestor::mn:fmt-title or not(parent::mn:figure) or parent::mn:p"> <!-- inline image ( 'image:path' in adoc, with one colon after image) -->
13714
13823
  <fo:inline padding-left="1mm" padding-right="1mm">
13715
13824
  <xsl:if test="not(parent::mn:figure) or parent::mn:p">
13716
13825
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
@@ -13731,13 +13840,26 @@
13731
13840
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle">
13732
13841
 
13733
13842
  <xsl:if test="parent::mn:logo"> <!-- publisher's logo -->
13734
- <xsl:attribute name="width">100%</xsl:attribute>
13843
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
13844
+ <xsl:choose>
13845
+ <xsl:when test="@width and not(@height)">
13846
+ <xsl:attribute name="width">100%</xsl:attribute>
13847
+ <xsl:attribute name="content-height">100%</xsl:attribute>
13848
+ </xsl:when>
13849
+ <xsl:when test="@height and not(@width)">
13850
+ <xsl:attribute name="height">100%</xsl:attribute>
13851
+ <xsl:attribute name="content-height"><xsl:value-of select="@height"/></xsl:attribute>
13852
+ </xsl:when>
13853
+ <xsl:when test="not(@width) and not(@height)">
13854
+ <xsl:attribute name="content-height">100%</xsl:attribute>
13855
+ </xsl:when>
13856
+ </xsl:choose>
13857
+
13735
13858
  <xsl:if test="normalize-space($logo_width) != ''">
13736
13859
  <xsl:attribute name="width"><xsl:value-of select="$logo_width"/></xsl:attribute>
13737
13860
  </xsl:if>
13738
- <xsl:attribute name="content-height">100%</xsl:attribute>
13739
13861
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
13740
- <xsl:attribute name="scaling">uniform</xsl:attribute>
13862
+ <xsl:attribute name="vertical-align">top</xsl:attribute>
13741
13863
  </xsl:if>
13742
13864
 
13743
13865
  <xsl:variable name="width">
@@ -14026,7 +14148,7 @@
14026
14148
  <xsl:variable name="width_effective_px" select="$width_effective div 25.4 * $image_dpi"/>
14027
14149
  <xsl:variable name="height_effective_px" select="$height_effective div 25.4 * $image_dpi"/>
14028
14150
 
14029
- <xsl:template match="mn:figure[not(mn:image) and *[local-name() = 'svg']]/mn:name/mn:bookmark" priority="2"/>
14151
+ <xsl:template match="mn:figure[not(mn:image) and *[local-name() = 'svg']]/mn:fmt-name/mn:bookmark" priority="2"/>
14030
14152
  <xsl:template match="mn:figure[not(mn:image)]/*[local-name() = 'svg']" priority="2" name="image_svg">
14031
14153
  <xsl:param name="name"/>
14032
14154
 
@@ -14036,8 +14158,8 @@
14036
14158
 
14037
14159
  <xsl:variable name="alt-text">
14038
14160
  <xsl:choose>
14039
- <xsl:when test="normalize-space(../mn:name) != ''">
14040
- <xsl:value-of select="../mn:name"/>
14161
+ <xsl:when test="normalize-space(../mn:fmt-name) != ''">
14162
+ <xsl:value-of select="../mn:fmt-name"/>
14041
14163
  </xsl:when>
14042
14164
  <xsl:when test="normalize-space($name) != ''">
14043
14165
  <xsl:value-of select="$name"/>
@@ -14046,7 +14168,7 @@
14046
14168
  </xsl:choose>
14047
14169
  </xsl:variable>
14048
14170
 
14049
- <xsl:variable name="isPrecedingTitle" select="normalize-space(ancestor::mn:figure/preceding-sibling::*[1][self::mn:title] and 1 = 1)"/>
14171
+ <xsl:variable name="isPrecedingTitle" select="normalize-space(ancestor::mn:figure/preceding-sibling::*[1][self::mn:fmt-title] and 1 = 1)"/>
14050
14172
 
14051
14173
  <xsl:choose>
14052
14174
  <xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
@@ -14095,9 +14217,9 @@
14095
14217
  <fo:table-cell column-number="2">
14096
14218
  <fo:block>
14097
14219
  <fo:block-container width="{$width_scale}px" height="{$height_scale}px">
14098
- <xsl:if test="../mn:name/mn:bookmark">
14220
+ <xsl:if test="../mn:fmt-name/mn:bookmark">
14099
14221
  <fo:block line-height="0" font-size="0">
14100
- <xsl:for-each select="../mn:name/mn:bookmark">
14222
+ <xsl:for-each select="../mn:fmt-name/mn:bookmark">
14101
14223
  <xsl:call-template name="bookmark"/>
14102
14224
  </xsl:for-each>
14103
14225
  </fo:block>
@@ -14337,7 +14459,7 @@
14337
14459
 
14338
14460
  <!-- image with svg and emf -->
14339
14461
  <xsl:template match="mn:figure/mn:image[*[local-name() = 'svg']]" priority="3">
14340
- <xsl:variable name="name" select="ancestor::mn:figure/mn:name"/>
14462
+ <xsl:variable name="name" select="ancestor::mn:figure/mn:fmt-name"/>
14341
14463
  <xsl:for-each select="*[local-name() = 'svg']">
14342
14464
  <xsl:call-template name="image_svg">
14343
14465
  <xsl:with-param name="name" select="$name"/>
@@ -14354,7 +14476,7 @@
14354
14476
 
14355
14477
  <xsl:template match="mn:figure/mn:image[@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
14356
14478
  <xsl:variable name="svg_content" select="document(@src)"/>
14357
- <xsl:variable name="name" select="ancestor::mn:figure/mn:name"/>
14479
+ <xsl:variable name="name" select="ancestor::mn:figure/mn:fmt-name"/>
14358
14480
  <xsl:for-each select="xalan:nodeset($svg_content)/node()">
14359
14481
  <xsl:call-template name="image_svg">
14360
14482
  <xsl:with-param name="name" select="$name"/>
@@ -14477,7 +14599,7 @@
14477
14599
  <xsl:template match="mn:emf"/>
14478
14600
 
14479
14601
  <!-- figure/name -->
14480
- <xsl:template match="mn:figure/mn:name | mn:image/mn:name">
14602
+ <xsl:template match="mn:figure/mn:fmt-name | mn:image/mn:fmt-name">
14481
14603
  <xsl:if test="normalize-space() != ''">
14482
14604
  <fo:block xsl:use-attribute-sets="figure-name-style">
14483
14605
 
@@ -14550,25 +14672,25 @@
14550
14672
  <fo:block-container margin-left="0mm" role="SKIP">
14551
14673
  <xsl:call-template name="setNamedDestination"/>
14552
14674
  <fo:block id="{@id}">
14553
- <xsl:apply-templates select="node()[not(self::mn:name)]"/> <!-- formula's number will be process in 'stem' template -->
14675
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/> <!-- formula's number will be process in 'stem' template -->
14554
14676
  </fo:block>
14555
14677
  </fo:block-container>
14556
14678
  </fo:block-container>
14557
14679
  </xsl:template>
14558
14680
 
14559
- <xsl:template match="mn:formula/mn:dt/mn:stem">
14681
+ <xsl:template match="mn:formula/mn:dt/mn:fmt-stem">
14560
14682
  <fo:inline>
14561
14683
  <xsl:apply-templates/>
14562
14684
  </fo:inline>
14563
14685
  </xsl:template>
14564
14686
 
14565
- <xsl:template match="mn:admitted/mn:stem">
14687
+ <xsl:template match="mn:fmt-admitted/mn:fmt-stem">
14566
14688
  <fo:inline>
14567
14689
  <xsl:apply-templates/>
14568
14690
  </fo:inline>
14569
14691
  </xsl:template>
14570
14692
 
14571
- <xsl:template match="mn:formula/mn:name"> <!-- show in 'stem' template -->
14693
+ <xsl:template match="mn:formula/mn:fmt-name"> <!-- show in 'stem' template -->
14572
14694
  <!-- https://github.com/metanorma/isodoc/issues/607
14573
14695
  <xsl:if test="normalize-space() != ''">
14574
14696
  <xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
@@ -14577,7 +14699,7 @@
14577
14699
  </xsl:template>
14578
14700
 
14579
14701
  <!-- stem inside formula with name (with formula's number) -->
14580
- <xsl:template match="mn:formula[mn:name]/mn:stem">
14702
+ <xsl:template match="mn:formula[mn:fmt-name]/mn:fmt-stem">
14581
14703
  <fo:block xsl:use-attribute-sets="formula-style">
14582
14704
 
14583
14705
  <fo:table table-layout="fixed" width="100%">
@@ -14597,13 +14719,13 @@
14597
14719
 
14598
14720
  <fo:block xsl:use-attribute-sets="formula-stem-number-style" role="SKIP">
14599
14721
 
14600
- <xsl:for-each select="../mn:name">
14722
+ <xsl:for-each select="../mn:fmt-name">
14601
14723
  <xsl:call-template name="setIDforNamedDestination"/>
14602
14724
  </xsl:for-each>
14603
14725
 
14604
14726
  <xsl:call-template name="refine_formula-stem-number-style"/>
14605
14727
 
14606
- <xsl:apply-templates select="../mn:name"/>
14728
+ <xsl:apply-templates select="../mn:fmt-name"/>
14607
14729
  </fo:block>
14608
14730
  </fo:table-cell>
14609
14731
  </fo:table-row>
@@ -14613,7 +14735,7 @@
14613
14735
  </xsl:template>
14614
14736
 
14615
14737
  <!-- stem inside formula without name (without formula's number) -->
14616
- <xsl:template match="mn:formula[not(mn:name)]/mn:stem">
14738
+ <xsl:template match="mn:formula[not(mn:fmt-name)]/mn:fmt-stem">
14617
14739
  <fo:block xsl:use-attribute-sets="formula-style">
14618
14740
  <fo:block xsl:use-attribute-sets="formula-stem-block-style">
14619
14741
  <xsl:apply-templates/>
@@ -14973,7 +15095,7 @@
14973
15095
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
14974
15096
  <stem type="AsciiMath"><asciimath>x = 1</asciimath><latexmath>x = 1</latexmath></stem>
14975
15097
  -->
14976
- <xsl:template match="mn:stem[@type = 'AsciiMath'][count(*) = 0]/text() | mn:stem[@type = 'AsciiMath'][mn:asciimath]" priority="3">
15098
+ <xsl:template match="mn:fmt-stem[@type = 'AsciiMath'][count(*) = 0]/text() | mn:fmt-stem[@type = 'AsciiMath'][mn:asciimath]" priority="3">
14977
15099
  <fo:inline xsl:use-attribute-sets="mathml-style">
14978
15100
 
14979
15101
  <xsl:call-template name="refine_mathml-style"/>
@@ -15282,7 +15404,7 @@
15282
15404
 
15283
15405
  <xsl:template match="mn:ul | mn:ol" mode="list" name="list">
15284
15406
 
15285
- <xsl:apply-templates select="mn:name">
15407
+ <xsl:apply-templates select="mn:fmt-name">
15286
15408
  <xsl:with-param name="process">true</xsl:with-param>
15287
15409
  </xsl:apply-templates>
15288
15410
 
@@ -15328,7 +15450,7 @@
15328
15450
 
15329
15451
  <xsl:call-template name="refine_list-style"/>
15330
15452
 
15331
- <xsl:if test="mn:name">
15453
+ <xsl:if test="mn:fmt-name">
15332
15454
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
15333
15455
  </xsl:if>
15334
15456
 
@@ -15346,7 +15468,7 @@
15346
15468
  </xsl:if>
15347
15469
  </xsl:template> <!-- refine_list-style_provisional-distance-between-starts -->
15348
15470
 
15349
- <xsl:template match="*[self::mn:ol or self::mn:ul]/mn:name">
15471
+ <xsl:template match="*[self::mn:ol or self::mn:ul]/mn:fmt-name">
15350
15472
  <xsl:param name="process">false</xsl:param>
15351
15473
  <xsl:if test="$process = 'true'">
15352
15474
  <fo:block xsl:use-attribute-sets="list-name-style">
@@ -15488,7 +15610,7 @@
15488
15610
  -->
15489
15611
  <!-- footnotes in text (title, bibliography, main body), not for tables, figures and names --> <!-- table's, figure's names -->
15490
15612
  <!-- fn in text -->
15491
- <xsl:template match="mn:fn[not(ancestor::*[(self::mn:table or self::mn:figure)] and not(ancestor::mn:name))]" priority="2" name="fn">
15613
+ <xsl:template match="mn:fn[not(ancestor::*[(self::mn:table or self::mn:figure)] and not(ancestor::mn:fmt-name))]" priority="2" name="fn">
15492
15614
  <xsl:param name="footnote_body_from_table">false</xsl:param>
15493
15615
 
15494
15616
  <!-- list of unique footnotes -->
@@ -15625,7 +15747,7 @@
15625
15747
  <!-- commented:
15626
15748
  .//mn:bibitem[ancestor::mn:references]/mn:note |
15627
15749
  because 'fn' there is in biblio-tag -->
15628
- <xsl:for-each select=".//mn:fn[not(ancestor::*[(self::mn:table or self::mn:figure)] and not(ancestor::mn:name))][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
15750
+ <xsl:for-each select=".//mn:fn[not(ancestor::*[(self::mn:table or self::mn:figure)] and not(ancestor::mn:fmt-name))][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
15629
15751
  <!-- copy unique fn -->
15630
15752
  <fn gen_id="{generate-id(.)}">
15631
15753
  <xsl:copy-of select="@*"/>
@@ -15705,7 +15827,7 @@
15705
15827
  <!-- <xsl:with-param name="sep"> — </xsl:with-param> -->
15706
15828
  </xsl:if>
15707
15829
 
15708
- <xsl:apply-templates select="node()[not(self::mn:name)]"/>
15830
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/>
15709
15831
  </fo:block>
15710
15832
 
15711
15833
  </xsl:template>
@@ -15729,7 +15851,7 @@
15729
15851
  </xsl:otherwise>
15730
15852
  </xsl:choose> -->
15731
15853
  <xsl:variable name="name">
15732
- <xsl:apply-templates select="mn:name"/>
15854
+ <xsl:apply-templates select="mn:fmt-name"/>
15733
15855
  </xsl:variable>
15734
15856
  <xsl:copy-of select="$name"/>
15735
15857
  <xsl:if test="normalize-space($name) != ''">
@@ -15737,7 +15859,7 @@
15737
15859
  </xsl:if>
15738
15860
  </xsl:template>
15739
15861
 
15740
- <xsl:template match="mn:admonition/mn:name">
15862
+ <xsl:template match="mn:admonition/mn:fmt-name">
15741
15863
  <xsl:apply-templates/>
15742
15864
  </xsl:template>
15743
15865
 
@@ -15866,10 +15988,10 @@
15866
15988
  <xsl:call-template name="setNamedDestination"/>
15867
15989
  <fo:block id="{@id}"/>
15868
15990
 
15869
- <xsl:apply-templates select="mn:title[@columns = 1]"/>
15991
+ <xsl:apply-templates select="mn:fmt-title[@columns = 1]"/>
15870
15992
 
15871
15993
  <fo:block xsl:use-attribute-sets="references-non-normative-style">
15872
- <xsl:apply-templates select="node()[not(self::mn:title and @columns = 1)]"/>
15994
+ <xsl:apply-templates select="node()[not(self::mn:fmt-title and @columns = 1)]"/>
15873
15995
  </fo:block>
15874
15996
  </xsl:template> <!-- references -->
15875
15997
 
@@ -15902,8 +16024,8 @@
15902
16024
  </xsl:template>
15903
16025
 
15904
16026
  <!-- Bibliography (non-normative references) -->
15905
- <xsl:template match="mn:references[not(@normative='true')]/mn:bibitem" name="bibitem_non_normative" priority="2">
15906
- <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][self::mn:bibitem] and 1 = 1)"/> <!-- current bibiitem is non-first -->
16027
+ <xsl:template match="mn:references[not(@normative='true')]/mn:bibitem | mn:references[not(@normative='true')]/mn:note" name="bibitem_non_normative" priority="2">
16028
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[not(self::mn:note)][1][self::mn:bibitem] and 1 = 1)"/> <!-- current bibiitem is non-first -->
15907
16029
  <xsl:choose>
15908
16030
  <xsl:when test="$skip = 'true'"><!-- skip bibitem --></xsl:when>
15909
16031
  <xsl:otherwise>
@@ -15941,7 +16063,7 @@
15941
16063
  </fo:list-item>
15942
16064
  </xsl:otherwise>
15943
16065
  </xsl:choose>
15944
- <xsl:apply-templates select="following-sibling::*[1][self::mn:bibitem]">
16066
+ <xsl:apply-templates select="following-sibling::*[1]"> <!-- [self::mn:bibitem] -->
15945
16067
  <xsl:with-param name="skip">false</xsl:with-param>
15946
16068
  </xsl:apply-templates>
15947
16069
  </xsl:template>
@@ -15958,8 +16080,26 @@
15958
16080
  </xsl:apply-templates>
15959
16081
  <xsl:apply-templates select="mn:formattedref"/>
15960
16082
  <!-- end bibitem processing -->
16083
+
16084
+ <xsl:call-template name="processBibliographyNote"/>
15961
16085
  </xsl:template> <!-- processBibitem (bibitem) -->
15962
16086
 
16087
+ <xsl:template name="processBibliographyNote">
16088
+ <xsl:if test="self::mn:note">
16089
+ <xsl:variable name="note_node">
16090
+ <xsl:element name="{local-name(..)}" namespace="{$namespace_full}"> <!-- save parent context node for determining styles -->
16091
+ <xsl:copy> <!-- skip @id -->
16092
+ <xsl:copy-of select="node()"/>
16093
+ </xsl:copy>
16094
+ </xsl:element>
16095
+ </xsl:variable>
16096
+ <!-- <xsl:for-each select="xalan:nodeset($note_node)//mn:note">
16097
+ <xsl:call-template name="note"/>
16098
+ </xsl:for-each> -->
16099
+ <xsl:call-template name="note"/>
16100
+ </xsl:if>
16101
+ </xsl:template>
16102
+
15963
16103
  <xsl:template match="mn:title" mode="title">
15964
16104
  <fo:inline><xsl:apply-templates/></fo:inline>
15965
16105
  </xsl:template>
@@ -16191,7 +16331,8 @@
16191
16331
  </xsl:copy>
16192
16332
  </xsl:template>
16193
16333
 
16194
- <xsl:template match="mn:xref" mode="index_add_id">
16334
+ <xsl:template match="mn:xref" mode="index_add_id"/>
16335
+ <xsl:template match="mn:fmt-xref" mode="index_add_id">
16195
16336
  <xsl:param name="docid"/>
16196
16337
  <xsl:variable name="id">
16197
16338
  <xsl:call-template name="generateIndexXrefId">
@@ -16233,7 +16374,7 @@
16233
16374
  <xsl:template match="mn:indexsect//mn:li" mode="index_update">
16234
16375
  <xsl:copy>
16235
16376
  <xsl:apply-templates select="@*" mode="index_update"/>
16236
- <xsl:apply-templates select="node()[1]" mode="process_li_element"/>
16377
+ <xsl:apply-templates select="node()[not(self::mn:fmt-name)][1]" mode="process_li_element"/>
16237
16378
  </xsl:copy>
16238
16379
  </xsl:template>
16239
16380
 
@@ -16254,11 +16395,11 @@
16254
16395
  <xsl:value-of select="."/>
16255
16396
  <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
16256
16397
  </xsl:when>
16257
- <xsl:when test="self::* and local-name(.) = 'xref'">
16398
+ <xsl:when test="self::* and local-name(.) = 'fmt-xref'">
16258
16399
  <xsl:variable name="id" select="@id"/>
16259
16400
 
16260
- <xsl:variable name="id_next" select="following-sibling::mn:xref[1]/@id"/>
16261
- <xsl:variable name="id_prev" select="preceding-sibling::mn:xref[1]/@id"/>
16401
+ <xsl:variable name="id_next" select="following-sibling::mn:fmt-xref[1]/@id"/>
16402
+ <xsl:variable name="id_prev" select="preceding-sibling::mn:fmt-xref[1]/@id"/>
16262
16403
 
16263
16404
  <xsl:variable name="pages_">
16264
16405
  <xsl:for-each select="$index/index/item[@id = $id or @id = $id_next or @id = $id_prev]">
@@ -16354,18 +16495,18 @@
16354
16495
  <xsl:variable name="item_number">
16355
16496
  <xsl:number count="mn:li[ancestor::mn:indexsect]" level="any"/>
16356
16497
  </xsl:variable>
16357
- <xsl:variable name="xref_number"><xsl:number count="mn:xref"/></xsl:variable>
16498
+ <xsl:variable name="xref_number"><xsl:number count="mn:fmt-xref"/></xsl:variable>
16358
16499
  <xsl:value-of select="concat($docid_curr, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
16359
16500
  </xsl:template>
16360
16501
 
16361
- <xsl:template match="mn:indexsect/mn:title" priority="4">
16502
+ <xsl:template match="mn:indexsect/mn:fmt-title | mn:indexsect/mn:title" priority="4">
16362
16503
  <fo:block xsl:use-attribute-sets="indexsect-title-style">
16363
16504
  <!-- Index -->
16364
16505
  <xsl:apply-templates/>
16365
16506
  </fo:block>
16366
16507
  </xsl:template>
16367
16508
 
16368
- <xsl:template match="mn:indexsect/mn:clause/mn:title" priority="4">
16509
+ <xsl:template match="mn:indexsect/mn:clause/mn:fmt-title | mn:indexsect/mn:clause/mn:title" priority="4">
16369
16510
  <!-- Letter A, B, C, ... -->
16370
16511
  <fo:block xsl:use-attribute-sets="indexsect-clause-title-style">
16371
16512
  <xsl:apply-templates/>
@@ -16406,12 +16547,12 @@
16406
16547
  <fmt-review-start id="_7ef81cf7-3f6c-4ed4-9c1f-1ba092052bbd" source="_dda23915-8574-ef1e-29a1-822d465a5b97" target="_ecfb2210-3b1b-46a2-b63a-8b8505be6686" end="_dda23915-8574-ef1e-29a1-822d465a5b97" author="" date="2025-03-24T00:00:00Z"/>
16407
16548
  <bookmark id="_dda23915-8574-ef1e-29a1-822d465a5b97"/>
16408
16549
  <fmt-review-end id="_f336a8d0-08a8-4b7f-a1aa-b04688ed40c1" source="_dda23915-8574-ef1e-29a1-822d465a5b97" target="_ecfb2210-3b1b-46a2-b63a-8b8505be6686" start="_dda23915-8574-ef1e-29a1-822d465a5b97" author="" date="2025-03-24T00:00:00Z"/> -->
16409
- <xsl:when test="1 = 2 and preceding-sibling::node()[self::mn:fmt-review-start][@source = $bookmark_id] and following-sibling::node()[self::mn:fmt-review-end][@source = $bookmark_id]">
16550
+ <xsl:when test="1 = 2 and preceding-sibling::node()[self::mn:fmt-annotation-start][@source = $bookmark_id] and following-sibling::node()[self::mn:fmt-annotation-end][@source = $bookmark_id]">
16410
16551
  <!-- skip here, see the template 'fmt-review-start' -->
16411
16552
  </xsl:when>
16412
16553
  <xsl:otherwise>
16413
16554
  <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
16414
- <fo:inline id="{@id}" font-size="1pt"><xsl:if test="preceding-sibling::node()[self::mn:fmt-review-start][@source = $bookmark_id] and following-sibling::node()[self::mn:fmt-review-end][@source = $bookmark_id]"><xsl:attribute name="line-height">0.1</xsl:attribute></xsl:if><xsl:value-of select="$hair_space"/></fo:inline>
16555
+ <fo:inline id="{@id}" font-size="1pt"><xsl:if test="preceding-sibling::node()[self::mn:fmt-annotation-start][@source = $bookmark_id] and following-sibling::node()[self::mn:fmt-annotation-end][@source = $bookmark_id]"><xsl:attribute name="line-height">0.1</xsl:attribute></xsl:if><xsl:value-of select="$hair_space"/></fo:inline>
16415
16556
  <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
16416
16557
  <xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
16417
16558
  </xsl:otherwise>
@@ -16510,6 +16651,87 @@
16510
16651
  <!-- End Form's elements processing -->
16511
16652
  <!-- =================== -->
16512
16653
 
16654
+ <xsl:attribute-set name="toc-style">
16655
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
16656
+ </xsl:attribute-set>
16657
+
16658
+ <xsl:template name="refine_toc-style">
16659
+ <xsl:if test="$layoutVersion = '1987'">
16660
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
16661
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
16662
+ </xsl:if>
16663
+
16664
+ <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or ($layoutVersion = '1989' and $revision_date_num &lt;= 19981231)">
16665
+ <xsl:attribute name="margin-top">62mm</xsl:attribute>
16666
+ </xsl:if>
16667
+ </xsl:template>
16668
+
16669
+ <xsl:attribute-set name="toc-title-style">
16670
+ <xsl:attribute name="text-align-last">justify</xsl:attribute>
16671
+ <xsl:attribute name="font-size">16pt</xsl:attribute>
16672
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
16673
+ <xsl:attribute name="margin-top">10pt</xsl:attribute>
16674
+ <xsl:attribute name="margin-bottom">18pt</xsl:attribute>
16675
+ </xsl:attribute-set>
16676
+
16677
+ <xsl:attribute-set name="toc-title-page-style">
16678
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
16679
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
16680
+ <xsl:attribute name="role">SKIP</xsl:attribute>
16681
+ </xsl:attribute-set> <!-- toc-title-page-style -->
16682
+
16683
+ <xsl:attribute-set name="toc-item-block-style">
16684
+ </xsl:attribute-set>
16685
+
16686
+ <xsl:template name="refine_toc-item-block-style">
16687
+ </xsl:template>
16688
+
16689
+ <xsl:attribute-set name="toc-item-style">
16690
+ <xsl:attribute name="role">TOCI</xsl:attribute>
16691
+ </xsl:attribute-set> <!-- END: toc-item-style -->
16692
+
16693
+ <xsl:template name="refine_toc-item-style">
16694
+ <xsl:if test="@level = 1">
16695
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
16696
+ </xsl:if>
16697
+ <xsl:if test="@level = 3">
16698
+ <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
16699
+ </xsl:if>
16700
+
16701
+ <xsl:if test="$layoutVersion = '1987'">
16702
+ <xsl:if test="@type = 'section'">
16703
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
16704
+ </xsl:if>
16705
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
16706
+ </xsl:if>
16707
+ </xsl:template> <!-- END: refine_toc-item-style -->
16708
+
16709
+ <xsl:attribute-set name="toc-leader-style">
16710
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
16711
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
16712
+ <xsl:attribute name="leader-pattern">dots</xsl:attribute>
16713
+ </xsl:attribute-set> <!-- END: toc-leader-style -->
16714
+
16715
+ <xsl:attribute-set name="toc-pagenumber-style">
16716
+ </xsl:attribute-set>
16717
+
16718
+ <!-- List of Figures, Tables -->
16719
+ <xsl:attribute-set name="toc-listof-title-style">
16720
+ <xsl:attribute name="role">TOCI</xsl:attribute>
16721
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
16722
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
16723
+ </xsl:attribute-set>
16724
+
16725
+ <xsl:attribute-set name="toc-listof-item-block-style">
16726
+ </xsl:attribute-set>
16727
+
16728
+ <xsl:attribute-set name="toc-listof-item-style">
16729
+ <xsl:attribute name="role">TOCI</xsl:attribute>
16730
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
16731
+ <xsl:attribute name="text-align-last">justify</xsl:attribute>
16732
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
16733
+ </xsl:attribute-set>
16734
+
16513
16735
  <xsl:template name="processPrefaceSectionsDefault_Contents">
16514
16736
  <xsl:variable name="nodes_preface_">
16515
16737
  <xsl:for-each select="/*/mn:preface/*[not(self::mn:note or self::mn:admonition or @type = 'toc')]">
@@ -16575,7 +16797,7 @@
16575
16797
 
16576
16798
  <xsl:template name="processTables_Contents">
16577
16799
  <mnx:tables>
16578
- <xsl:for-each select="//mn:table[not(ancestor::mn:metanorma-extension)][@id and mn:name and normalize-space(@id) != '']">
16800
+ <xsl:for-each select="//mn:table[not(ancestor::mn:metanorma-extension)][@id and mn:fmt-name and normalize-space(@id) != '']">
16579
16801
  <xsl:choose>
16580
16802
  <xsl:when test="mn:fmt-name">
16581
16803
  <xsl:variable name="fmt_name">
@@ -16597,7 +16819,7 @@
16597
16819
 
16598
16820
  <xsl:template name="processFigures_Contents">
16599
16821
  <mnx:figures>
16600
- <xsl:for-each select="//mn:figure[@id and mn:name and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(mn:name, 'Figure ') and normalize-space(@id) != '']">
16822
+ <xsl:for-each select="//mn:figure[@id and mn:fmt-name and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(mn:name, 'Figure ') and normalize-space(@id) != '']">
16601
16823
  <xsl:choose>
16602
16824
  <xsl:when test="mn:fmt-name">
16603
16825
  <xsl:variable name="fmt_name">
@@ -16626,7 +16848,7 @@
16626
16848
 
16627
16849
  <xsl:template match="mn:title[following-sibling::*[1][self::mn:fmt-title]]" mode="contents"/>
16628
16850
 
16629
- <xsl:template match="mn:figure/mn:fmt-name | mn:table/mn:fmt-name | mn:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name" mode="contents">
16851
+ <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name" mode="contents">
16630
16852
  <xsl:apply-templates mode="contents"/>
16631
16853
  <xsl:text> </xsl:text>
16632
16854
  </xsl:template>
@@ -16638,7 +16860,7 @@
16638
16860
  </xsl:if>
16639
16861
  </xsl:template>
16640
16862
 
16641
- <xsl:template match="mn:figure/mn:fmt-name | mn:table/mn:fmt-name | mn:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mn:sourcecode/mn:fmt-name" mode="bookmarks">
16863
+ <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name | mn:sourcecode/mn:fmt-name | mnx:sourcecode/mn:fmt-name" mode="bookmarks">
16642
16864
  <xsl:apply-templates mode="bookmarks"/>
16643
16865
  <xsl:text> </xsl:text>
16644
16866
  </xsl:template>
@@ -16649,7 +16871,7 @@
16649
16871
  </xsl:if>
16650
16872
  </xsl:template>
16651
16873
 
16652
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:fmt-name/text()" mode="contents" priority="2">
16874
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:fmt-name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:fmt-name/text()" mode="contents" priority="2">
16653
16875
  <xsl:value-of select="."/>
16654
16876
  </xsl:template>
16655
16877
 
@@ -16659,7 +16881,7 @@
16659
16881
  </xsl:if>
16660
16882
  </xsl:template>
16661
16883
 
16662
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:fmt-name//text()" mode="bookmarks" priority="2">
16884
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:fmt-name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:fmt-name//text()" mode="bookmarks" priority="2">
16663
16885
  <xsl:value-of select="."/>
16664
16886
  </xsl:template>
16665
16887
 
@@ -17120,7 +17342,7 @@
17120
17342
  <xsl:value-of select="."/>
17121
17343
  </xsl:template>
17122
17344
 
17123
- <xsl:template match="mn:review" mode="contents_item"/>
17345
+ <xsl:template match="mn:annotation" mode="contents_item"/>
17124
17346
 
17125
17347
  <xsl:template match="mn:tab" mode="contents_item">
17126
17348
  <xsl:text> </xsl:text>
@@ -17275,7 +17497,7 @@
17275
17497
  <xsl:apply-templates/>
17276
17498
  </xsl:template>
17277
17499
 
17278
- <xsl:template match="mn:toc//mn:xref" priority="3">
17500
+ <xsl:template match="mn:toc//mn:xref | mn:toc//mn:fmt-xref" priority="3">
17279
17501
  <!-- <xref target="cgpm9th1948r6">1.6.3<tab/>&#8220;9th CGPM, 1948:<tab/>decision to establish the SI&#8221;</xref> -->
17280
17502
  <!-- New format: one tab <xref target="cgpm9th1948r6">&#8220;9th CGPM, 1948:<tab/>decision to establish the SI&#8221;</xref> -->
17281
17503
  <!-- <test><xsl:copy-of select="."/></test> -->
@@ -17343,8 +17565,8 @@
17343
17565
  <xsl:apply-templates mode="toc_table_width"/>
17344
17566
  </xsl:template>
17345
17567
 
17346
- <xsl:template match="mn:clause[@type = 'toc']/mn:title" mode="toc_table_width"/>
17347
- <xsl:template match="mn:clause[not(@type = 'toc')]/mn:title" mode="toc_table_width"/>
17568
+ <xsl:template match="mn:clause[@type = 'toc']/mn:fmt-title" mode="toc_table_width"/>
17569
+ <xsl:template match="mn:clause[not(@type = 'toc')]/mn:fmt-title" mode="toc_table_width"/>
17348
17570
 
17349
17571
  <xsl:template match="mn:li" mode="toc_table_width">
17350
17572
  <mn:tr>
@@ -17352,7 +17574,7 @@
17352
17574
  </mn:tr>
17353
17575
  </xsl:template>
17354
17576
 
17355
- <xsl:template match="mn:xref" mode="toc_table_width">
17577
+ <xsl:template match="mn:fmt-xref" mode="toc_table_width">
17356
17578
  <!-- <xref target="cgpm9th1948r6">1.6.3<tab/>&#8220;9th CGPM, 1948:<tab/>decision to establish the SI&#8221;</xref> -->
17357
17579
  <!-- New format - one tab <xref target="cgpm9th1948r6">&#8220;9th CGPM, 1948:<tab/>decision to establish the SI&#8221;</xref> -->
17358
17580
  <xsl:for-each select="mn:tab">
@@ -17432,10 +17654,10 @@
17432
17654
 
17433
17655
  </xsl:template> <!-- tab -->
17434
17656
 
17435
- <xsl:template match="mn:note/mn:name/mn:tab" priority="2"/>
17436
- <xsl:template match="mn:termnote/mn:name/mn:tab" priority="2"/>
17657
+ <xsl:template match="mn:note/mn:fmt-name/mn:tab" priority="2"/>
17658
+ <xsl:template match="mn:termnote/mn:fmt-name/mn:tab" priority="2"/>
17437
17659
 
17438
- <xsl:template match="mn:note/mn:name/mn:tab" mode="tab">
17660
+ <xsl:template match="mn:note/mn:fmt-name/mn:tab" mode="tab">
17439
17661
  <xsl:attribute name="padding-right">6mm</xsl:attribute>
17440
17662
  </xsl:template>
17441
17663
 
@@ -17450,13 +17672,13 @@
17450
17672
  </xsl:template>
17451
17673
 
17452
17674
  <xsl:variable name="reviews_">
17453
- <xsl:for-each select="//mn:review[not(parent::mn:review-container)][@from]">
17675
+ <xsl:for-each select="//mn:annotation[not(parent::mn:annotation-container)][@from]">
17454
17676
  <xsl:copy>
17455
17677
  <xsl:copy-of select="@from"/>
17456
17678
  <xsl:copy-of select="@id"/>
17457
17679
  </xsl:copy>
17458
17680
  </xsl:for-each>
17459
- <xsl:for-each select="//mn:fmt-review-start[@source]">
17681
+ <xsl:for-each select="//mn:fmt-annotation-start[@source]">
17460
17682
  <xsl:copy>
17461
17683
  <xsl:copy-of select="@source"/>
17462
17684
  <xsl:copy-of select="@id"/>
@@ -17470,7 +17692,7 @@
17470
17692
  <!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
17471
17693
  <xsl:variable name="curr_id" select="@id"/>
17472
17694
  <!-- <xsl:variable name="review_id" select="normalize-space(/@id)"/> -->
17473
- <xsl:for-each select="$reviews//mn:review[@from = $curr_id]"> <!-- $reviews//mn:fmt-review-start[@source = $curr_id] -->
17695
+ <xsl:for-each select="$reviews//mn:annotation[@from = $curr_id]"> <!-- $reviews//mn:fmt-review-start[@source = $curr_id] -->
17474
17696
  <xsl:variable name="review_id" select="normalize-space(@id)"/>
17475
17697
  <xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
17476
17698
  <fo:block keep-with-next="always" line-height="0.1" id="{$review_id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$review_id}" fox:alt-text="Annot___{$review_id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
@@ -17485,7 +17707,7 @@
17485
17707
 
17486
17708
  <!-- document text (not figures, or tables) footnotes -->
17487
17709
  <xsl:variable name="reviews_container_">
17488
- <xsl:for-each select="//mn:review-container/mn:fmt-review-body">
17710
+ <xsl:for-each select="//mn:annotation-container/mn:fmt-annotation-body">
17489
17711
  <xsl:variable name="update_xml_step1">
17490
17712
  <xsl:apply-templates select="." mode="update_xml_step1"/>
17491
17713
  </xsl:variable>
@@ -17494,10 +17716,10 @@
17494
17716
  </xsl:variable>
17495
17717
  <xsl:variable name="reviews_container" select="xalan:nodeset($reviews_container_)"/>
17496
17718
 
17497
- <xsl:template match="mn:review-container"/>
17719
+ <xsl:template match="mn:annotation-container"/>
17498
17720
 
17499
17721
  <!-- for old Presentation XML (before https://github.com/metanorma/isodoc/issues/670) -->
17500
- <xsl:template match="mn:review[not(parent::mn:review-container)]"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
17722
+ <xsl:template match="mn:annotation[not(parent::mn:annotation-container)]"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
17501
17723
  <xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
17502
17724
  <xsl:if test="$isGenerateTableIF = 'false'">
17503
17725
  <xsl:choose>
@@ -17517,7 +17739,7 @@
17517
17739
  </xsl:template>
17518
17740
 
17519
17741
  <!-- for new Presentation XML (https://github.com/metanorma/isodoc/issues/670) -->
17520
- <xsl:template match="mn:fmt-review-start" name="fmt-review-start"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
17742
+ <xsl:template match="mn:fmt-annotation-start" name="fmt-annotation-start"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
17521
17743
  <!-- comment 2019-11-29 -->
17522
17744
  <!-- <fo:block font-weight="bold">Review:</fo:block>
17523
17745
  <xsl:apply-templates /> -->
@@ -17573,7 +17795,7 @@
17573
17795
  </xsl:template>
17574
17796
 
17575
17797
  <!-- https://github.com/metanorma/mn-samples-bsi/issues/312 -->
17576
- <xsl:template match="mn:review[@type = 'other']"/>
17798
+ <xsl:template match="mn:annotation[@type = 'other']"/>
17577
17799
 
17578
17800
  <!-- ============ -->
17579
17801
  <!-- errata -->
@@ -17955,9 +18177,12 @@
17955
18177
  <xsl:choose>
17956
18178
  <xsl:when test="mn:fmt-title">
17957
18179
  <xsl:variable name="fmt_title_section">
17958
- <xsl:copy-of select="mn:fmt-title//mn:span[@class = 'fmt-caption-delim'][mn:tab][1]/preceding-sibling::node()[not(self::mn:review)]"/>
18180
+ <xsl:copy-of select="mn:fmt-title//mn:span[@class = 'fmt-caption-delim'][mn:tab][1]/preceding-sibling::node()[not(self::mn:annotation)]"/>
17959
18181
  </xsl:variable>
17960
18182
  <xsl:value-of select="normalize-space($fmt_title_section)"/>
18183
+ <xsl:if test="normalize-space($fmt_title_section) = ''">
18184
+ <xsl:value-of select="mn:fmt-title/mn:tab[1]/preceding-sibling::node()"/>
18185
+ </xsl:if>
17961
18186
  </xsl:when>
17962
18187
  <xsl:otherwise>
17963
18188
  <xsl:value-of select="mn:title/mn:tab[1]/preceding-sibling::node()"/>
@@ -17970,6 +18195,9 @@
17970
18195
  <xsl:when test="mn:fmt-title//mn:span[@class = 'fmt-caption-delim'][mn:tab]">
17971
18196
  <xsl:copy-of select="mn:fmt-title//mn:span[@class = 'fmt-caption-delim'][mn:tab][1]/following-sibling::node()"/>
17972
18197
  </xsl:when>
18198
+ <xsl:when test="mn:fmt-title/mn:tab">
18199
+ <xsl:copy-of select="mn:fmt-title/mn:tab[1]/following-sibling::node()"/>
18200
+ </xsl:when>
17973
18201
  <xsl:when test="mn:fmt-title">
17974
18202
  <xsl:copy-of select="mn:fmt-title/node()"/>
17975
18203
  </xsl:when>
@@ -18118,10 +18346,10 @@
18118
18346
 
18119
18347
  </fo:block>
18120
18348
 
18121
- <xsl:apply-templates select="mn:title[@columns = 1]"/>
18349
+ <xsl:apply-templates select="mn:fmt-title[@columns = 1]"/>
18122
18350
 
18123
18351
  <fo:block>
18124
- <xsl:apply-templates select="node()[not(self::mn:title and @columns = 1)]"/>
18352
+ <xsl:apply-templates select="node()[not(self::mn:fmt-title and @columns = 1)]"/>
18125
18353
  </fo:block>
18126
18354
  </xsl:otherwise>
18127
18355
  </xsl:choose>
@@ -18130,7 +18358,7 @@
18130
18358
  <xsl:template name="refine_annex_style">
18131
18359
  </xsl:template>
18132
18360
 
18133
- <xsl:template match="mn:name/text()">
18361
+ <xsl:template match="mn:name/text() | mn:fmt-name/text()">
18134
18362
  <!-- 0xA0 to space replacement -->
18135
18363
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
18136
18364
  </xsl:template>
@@ -18186,28 +18414,28 @@
18186
18414
  <xsl:template match="mn:amend"/>
18187
18415
 
18188
18416
  <!-- fmt-title renamed to title in update_xml_step1 -->
18189
- <xsl:template match="mn:fmt-title"/>
18417
+ <!-- <xsl:template match="mn:fmt-title" /> -->
18190
18418
 
18191
18419
  <!-- fmt-name renamed to name in update_xml_step1 -->
18192
- <xsl:template match="mn:fmt-name"/>
18420
+ <!-- <xsl:template match="mn:fmt-name" /> -->
18193
18421
 
18194
18422
  <!-- fmt-preferred renamed to preferred in update_xml_step1 -->
18195
- <xsl:template match="mn:fmt-preferred"/>
18423
+ <!-- <xsl:template match="mn:fmt-preferred" /> -->
18196
18424
 
18197
18425
  <!-- fmt-admitted renamed to admitted in update_xml_step1 -->
18198
- <xsl:template match="mn:fmt-admitted"/>
18426
+ <!-- <xsl:template match="mn:fmt-admitted" /> -->
18199
18427
 
18200
18428
  <!-- fmt-deprecates renamed to deprecates in update_xml_step1 -->
18201
- <xsl:template match="mn:fmt-deprecates"/>
18429
+ <!-- <xsl:template match="mn:fmt-deprecates" /> -->
18202
18430
 
18203
18431
  <!-- fmt-definition renamed to definition in update_xml_step1 -->
18204
- <xsl:template match="mn:fmt-definition"/>
18432
+ <!-- <xsl:template match="mn:fmt-definition" /> -->
18205
18433
 
18206
18434
  <!-- fmt-termsource renamed to termsource in update_xml_step1 -->
18207
- <xsl:template match="mn:fmt-termsource"/>
18435
+ <!-- <xsl:template match="mn:fmt-termsource" /> -->
18208
18436
 
18209
18437
  <!-- fmt-source renamed to source in update_xml_step1 -->
18210
- <xsl:template match="mn:fmt-source"/>
18438
+ <!-- <xsl:template match="mn:fmt-source" /> -->
18211
18439
 
18212
18440
  <xsl:template match="mn:semx">
18213
18441
  <xsl:apply-templates/>
@@ -18679,12 +18907,12 @@
18679
18907
  <xsl:when test="ancestor::mn:preface">
18680
18908
  <xsl:value-of select="$level_total - 2"/>
18681
18909
  </xsl:when>
18682
- <xsl:when test="ancestor::mn:sections and self::mn:title">
18910
+ <xsl:when test="ancestor::mn:sections and self::mn:fmt-title">
18683
18911
  <!-- determine 'depth' depends on upper clause with title/@depth -->
18684
18912
  <!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
18685
- <xsl:variable name="clause_with_depth_depth" select="ancestor::mn:clause[mn:title/@depth][1]/mn:title/@depth"/>
18913
+ <xsl:variable name="clause_with_depth_depth" select="ancestor::mn:clause[mn:fmt-title/@depth][1]/mn:fmt-title/@depth"/>
18686
18914
  <!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
18687
- <xsl:variable name="clause_with_depth_level" select="count(ancestor::mn:clause[mn:title/@depth][1]/ancestor::*)"/>
18915
+ <xsl:variable name="clause_with_depth_level" select="count(ancestor::mn:clause[mn:fmt-title/@depth][1]/ancestor::*)"/>
18688
18916
  <!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
18689
18917
  <xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
18690
18918
  <!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
@@ -18700,8 +18928,8 @@
18700
18928
  </xsl:otherwise>
18701
18929
  </xsl:choose>
18702
18930
  </xsl:when>
18703
- <xsl:when test="ancestor::mn:sections and self::mn:name and parent::mn:term">
18704
- <xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::mn:terms[1]/mn:title/@depth)"/>
18931
+ <xsl:when test="ancestor::mn:sections and self::mn:fmt-name and parent::mn:term">
18932
+ <xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::mn:terms[1]/mn:fmt-title/@depth)"/>
18705
18933
  <xsl:choose>
18706
18934
  <xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
18707
18935
  <xsl:value-of select="number($upper_terms_depth + 1)"/>
@@ -18712,7 +18940,7 @@
18712
18940
  </xsl:choose>
18713
18941
  </xsl:when>
18714
18942
  <xsl:when test="ancestor::mn:sections">
18715
- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[self::mn:clause or self::mn:terms][1]/mn:title/@depth)"/>
18943
+ <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[self::mn:clause or self::mn:terms][1]/mn:fmt-title/@depth)"/>
18716
18944
  <xsl:choose>
18717
18945
  <xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
18718
18946
  <xsl:value-of select="number($upper_clause_depth + 1)"/>
@@ -18728,8 +18956,8 @@
18728
18956
  <xsl:when test="parent::mn:annex">
18729
18957
  <xsl:value-of select="$level_total - 1"/>
18730
18958
  </xsl:when>
18731
- <xsl:when test="ancestor::mn:annex and self::mn:title">
18732
- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::mn:clause[2]/mn:title/@depth)"/>
18959
+ <xsl:when test="ancestor::mn:annex and self::mn:fmt-title">
18960
+ <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::mn:clause[2]/mn:fmt-title/@depth)"/>
18733
18961
  <xsl:choose>
18734
18962
  <xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
18735
18963
  <xsl:value-of select="number($upper_clause_depth + 1)"/>
@@ -18762,7 +18990,7 @@
18762
18990
  </xsl:when>
18763
18991
  <xsl:otherwise>
18764
18992
  <xsl:variable name="title_level_">
18765
- <xsl:for-each select="../preceding-sibling::mn:title[1]">
18993
+ <xsl:for-each select="../preceding-sibling::mn:fmt-title[1]">
18766
18994
  <xsl:call-template name="getLevel"/>
18767
18995
  </xsl:for-each>
18768
18996
  </xsl:variable>
@@ -18839,15 +19067,17 @@
18839
19067
  </xsl:template>
18840
19068
 
18841
19069
  <xsl:template name="setNamedDestination">
18842
- <!-- skip GUID, e.g. _33eac3cb-9663-4291-ae26-1d4b6f4635fc -->
18843
- <xsl:if test="@id and normalize-space(java:matches(java:java.lang.String.new(@id), '_[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}')) = 'false'">
18844
- <fox:destination internal-destination="{@id}"/>
18845
- </xsl:if>
18846
- <xsl:for-each select=". | mn:title | mn:name">
18847
- <xsl:if test="@named_dest">
18848
- <fox:destination internal-destination="{@named_dest}"/>
19070
+ <xsl:if test="$isGenerateTableIF = 'false'">
19071
+ <!-- skip GUID, e.g. _33eac3cb-9663-4291-ae26-1d4b6f4635fc -->
19072
+ <xsl:if test="@id and normalize-space(java:matches(java:java.lang.String.new(@id), '_[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}')) = 'false'">
19073
+ <fox:destination internal-destination="{@id}"/>
18849
19074
  </xsl:if>
18850
- </xsl:for-each>
19075
+ <xsl:for-each select=". | mn:fmt-title | mn:fmt-name">
19076
+ <xsl:if test="@named_dest">
19077
+ <fox:destination internal-destination="{@named_dest}"/>
19078
+ </xsl:if>
19079
+ </xsl:for-each>
19080
+ </xsl:if>
18851
19081
  </xsl:template>
18852
19082
 
18853
19083
  <xsl:template name="add-letter-spacing">
@@ -19195,7 +19425,7 @@
19195
19425
  </xsl:when>
19196
19426
  <xsl:otherwise>
19197
19427
  <!-- namespace-uri(ancestor::mn:title) != '' to skip title from $contents -->
19198
- <xsl:if test="namespace-uri(ancestor::mn:title) != '' and ($char_prev = '' and ../preceding-sibling::node())">
19428
+ <xsl:if test="namespace-uri(ancestor::mn:fmt-title) != '' and ($char_prev = '' and ../preceding-sibling::node())">
19199
19429
  <fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
19200
19430
  </xsl:if>
19201
19431
  <fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm" role="SKIP" text-align-last="center">
@@ -19229,7 +19459,7 @@
19229
19459
  </fo:block>
19230
19460
  </fo:block-container>
19231
19461
  </fo:inline-container>
19232
- <xsl:if test="namespace-uri(ancestor::mn:title) != '' and ($char_next != '' or ../following-sibling::node())">
19462
+ <xsl:if test="namespace-uri(ancestor::mn:fmt-title) != '' and ($char_next != '' or ../following-sibling::node())">
19233
19463
  <fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
19234
19464
  </xsl:if>
19235
19465
  </xsl:otherwise>