metanorma-ieee 1.5.4 → 1.5.6

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.
@@ -353,8 +353,6 @@
353
353
 
354
354
  <xsl:variable name="copyright_year" select="/mn:metanorma/mn:bibdata/mn:copyright/mn:from"/>
355
355
 
356
- <xsl:variable name="approved_date_year" select="substring(normalize-space(/mn:metanorma/mn:bibdata/mn:date[@type = 'issued']),1,4)"/>
357
-
358
356
  <xsl:variable name="designation" select="/mn:metanorma/mn:bibdata/mn:docnumber"/>
359
357
 
360
358
  <!-- IEEE Std 802.1X™-2020 -->
@@ -453,12 +451,13 @@
453
451
  <xsl:variable name="enabler" select="xalan:nodeset($enabler_)"/>
454
452
 
455
453
  <xsl:variable name="approved_by">IEEE SA Standards Board</xsl:variable>
456
- <xsl:variable name="approved_date">
454
+ <!-- <xsl:variable name="approved_date">
457
455
  <xsl:call-template name="convertDate">
458
456
  <xsl:with-param name="date" select="normalize-space(/mn:metanorma/mn:bibdata/mn:date[@type = 'issued'])"/>
459
457
  <xsl:with-param name="format" select="'ddMMyyyy'"/>
460
458
  </xsl:call-template>
461
- </xsl:variable>
459
+ </xsl:variable> -->
460
+ <xsl:variable name="approved_date" select="normalize-space(/mn:metanorma/mn:bibdata/mn:date[@type = 'ieee-sasb-approved' and @format = 'ddMMMyyyy'])"/>
462
461
 
463
462
  <!-- Example: Revision of IEEE Std 802.1X™-2010
464
463
  Incorporating IEEE Std 802.1Xbx™-2014
@@ -521,249 +520,29 @@
521
520
  <xsl:with-param name="history_text" select="$history_text"/>
522
521
  </xsl:call-template>
523
522
 
524
- <xsl:variable name="title_standard_coverpage_">
525
- <!-- <xsl:choose>
526
- title starts with lower-cased letter
527
- <xsl:when test="translate(substring($title_intro,1,1),$lower,'') = ''">
528
- <fo:block font-size="18pt">
529
- <xsl:value-of select="$title_prefix"/>
530
- <xsl:copy-of select="$title_intro"/>
531
- </fo:block>
532
- </xsl:when>
533
- <xsl:otherwise>
534
- Example: IEEE Standard for
535
- <fo:block font-size="18pt">
536
- <xsl:value-of select="$title_prefix"/>
537
- </fo:block>
538
- <fo:block font-size="18pt" margin-left="6mm">
539
- Example Local and Metropolitan Area Networks—
540
- <xsl:copy-of select="$title_intro"/>
541
- </fo:block>
542
- </xsl:otherwise>
543
- </xsl:choose> -->
544
-
545
- <fo:block font-size="23pt"> <!-- 18pt -->
546
- <!-- <xsl:value-of select="$title_prefix"/> -->
547
- <xsl:copy-of select="$title_main"/>
548
- </fo:block>
523
+ <xsl:call-template name="inner-cover-page">
524
+ <xsl:with-param name="document_id" select="$document_id"/>
525
+ <xsl:with-param name="title" select="$title"/>
526
+ <xsl:with-param name="society" select="$society"/>
527
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
528
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
529
+ <xsl:with-param name="committee" select="$committee"/>
530
+ <xsl:with-param name="enabler" select="$enabler"/>
531
+ <xsl:with-param name="approved_date" select="$approved_date"/>
532
+ <xsl:with-param name="approved_by" select="$approved_by"/>
533
+ <xsl:with-param name="title_main" select="$title_main"/>
534
+ <xsl:with-param name="standard_number" select="$standard_number"/>
535
+ <xsl:with-param name="history_text" select="$history_text"/>
536
+ </xsl:call-template>
549
537
 
538
+ <xsl:variable name="updated_xml_with_pages">
539
+ <xsl:call-template name="processPrefaceAndMainSectionsIEEE_items"/>
550
540
  </xsl:variable>
551
- <xsl:variable name="title_standard_coverpage" select="xalan:nodeset($title_standard_coverpage_)"/>
552
-
553
- <!-- =================== -->
554
- <!-- Second page(s) -->
555
- <!-- =================== -->
556
- <xsl:choose>
557
-
558
- <xsl:when test="$current_template = 'draft'">
559
- <!-- Legal statement -->
560
- <fo:page-sequence master-reference="document-draft" force-page-count="no-force" format="1">
561
- <xsl:call-template name="insertFootnoteSeparator"/>
562
-
563
- <xsl:call-template name="insertHeaderFooter">
564
- <xsl:with-param name="document_id" select="$document_id"/>
565
- <xsl:with-param name="title_prefix" select="$title_prefix"/>
566
- <xsl:with-param name="title" select="$title"/>
567
- <xsl:with-param name="doctype" select="$doctype"/>
568
- <xsl:with-param name="copyright_year" select="$copyright_year"/>
569
- <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
570
- <xsl:with-param name="hideFooter"><xsl:if test="not(contains('amendment corrigendum erratum', $subdoctype) and $subdoctype != '')">false</xsl:if></xsl:with-param>
571
- </xsl:call-template>
572
-
573
- <fo:flow flow-name="xsl-region-body">
574
- <fo:block>
575
- <!-- Example:
576
- Important Notices and Disclaimers Concerning IEEE Standards Documents
577
- IEEE Standards documents are made available for use subject to important notices and legal disclaimers. These notices and disclaimers, or a reference to this page (https://standards.ieee.org/ipr/disclaimers.html), appear in all standards and may be found under the heading “Important Notices and Disclaimers Concerning IEEE Standards Documents.”
578
- ...
579
- -->
580
- <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement"/>
581
- </fo:block>
582
- </fo:flow>
583
-
584
- </fo:page-sequence> <!-- End: Legal statement -->
585
-
586
- </xsl:when> <!-- $current_template = 'draft' -->
587
-
588
- <xsl:when test="$current_template = 'standard'">
589
- <!-- Second, third page -->
590
- <fo:page-sequence master-reference="document-draft" force-page-count="no-force" font-family="Arial" initial-page-number="1">
591
-
592
- <xsl:call-template name="insertFootnoteSeparator"/>
593
-
594
- <xsl:call-template name="insertHeaderFooter">
595
- <xsl:with-param name="doctype" select="$doctype"/>
596
- <xsl:with-param name="copyright_year" select="$copyright_year"/>
597
- <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
598
- <!-- <xsl:with-param name="hideHeader">true</xsl:with-param> -->
599
- <xsl:with-param name="hideFooter">true</xsl:with-param>
600
- </xsl:call-template>
601
-
602
- <fo:flow flow-name="xsl-region-body">
603
- <fo:block text-align="right" margin-top="-11.5mm" id="__internal_layout__titlepage_{generate-id()}"> <!-- margin-top="2mm" -->
604
- <fo:block font-size="12pt" font-weight="bold"><xsl:value-of select="$standard_number"/></fo:block>
605
- <fo:block font-size="9pt"><xsl:value-of select="$history_text"/></fo:block>
606
- </fo:block>
607
-
608
- <fo:block-container width="105%"> <!-- width="135mm" -->
609
- <fo:block font-weight="bold" space-before="25.5mm" line-height="1.15"> <!-- space-before="13mm" -->
610
- <xsl:copy-of select="$title_standard_coverpage"/>
611
- </fo:block>
612
- </fo:block-container>
613
-
614
- <xsl:if test="$committee != ''">
615
- <fo:block font-size="10pt" space-before="11mm" space-after="4pt"><xsl:value-of select="$developed_by"/></fo:block>
616
- <fo:block font-size="11pt" font-weight="bold" margin-top="4mm">
617
- <!-- Example: LAN/MAN Standards Committee -->
618
- <fo:block line-height="1.12"><xsl:value-of select="$committee"/></fo:block>
619
- <fo:block font-weight="normal" font-size="10pt">of the</fo:block>
620
- <!-- Example: IEEE Computer Society -->
621
- <fo:block><xsl:value-of select="$society"/></fo:block>
622
- </fo:block>
623
- </xsl:if>
624
-
625
- <xsl:if test="normalize-space($enabler) != ''">
626
- <fo:block font-size="10pt" space-before="9mm" space-after="4pt"><xsl:value-of select="$sponsored_by"/></fo:block>
627
- <fo:block font-size="11pt" font-weight="bold" margin-top="4mm">
628
- <!-- Sponsored by the
629
- LAN/MAN Standards Committee -->
630
- <xsl:for-each select="$enabler/mn:subdivision">
631
- <fo:block line-height="1.12"><xsl:value-of select="mn:subdivision/mn:name"/></fo:block>
632
- <fo:block font-weight="normal" font-size="10pt">of the</fo:block>
633
- <fo:block><xsl:value-of select="concat(../mn:abbreviation, ' ', mn:name)"/></fo:block>
634
- <xsl:if test="position() != last()">
635
- <fo:block font-weight="normal" font-size="10pt">and the</fo:block>
636
- </xsl:if>
637
- </xsl:for-each>
638
- </fo:block>
639
- </xsl:if>
640
-
641
- <fo:block font-size="10pt" space-before="8mm" space-after="4pt">Approved <xsl:value-of select="$approved_date"/></fo:block>
642
- <!-- Example: IEEE SA Standards Board -->
643
- <fo:block font-size="11pt" font-weight="bold" margin-top="4mm"><xsl:value-of select="$approved_by"/></fo:block>
644
-
645
- <fo:block break-after="page"/>
646
-
647
- <fo:block font-family="Arial" text-align="justify">
648
- <fo:block>
649
- <fo:inline font-weight="bold">
650
- <xsl:call-template name="getLocalizedString">
651
- <xsl:with-param name="key">abstract</xsl:with-param>
652
- </xsl:call-template>
653
- <xsl:text>: </xsl:text>
654
- </fo:inline>
655
- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:abstract/node()[not(self::mn:fmt-title)] | /mn:metanorma/mn:preface/mn:clause[@id = '_abstract' or mn:fmt-title = 'Abstract']/node()[not(self::mn:fmt-title)]"/>
656
- </fo:block>
657
- <fo:block> </fo:block>
658
- <fo:block>
659
- <fo:inline font-weight="bold">Keywords: </fo:inline>
660
- <xsl:for-each select="/mn:metanorma/mn:bibdata/mn:keyword">
661
- <xsl:value-of select="."/>
662
- <xsl:if test="position() != last()">, </xsl:if>
663
- </xsl:for-each>
664
- </fo:block>
665
- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:acknowledgements"/>
666
- </fo:block>
667
-
668
- <!-- Example:
669
- The Institute of Electrical and Electronics Engineers, Inc.
670
- 3 Park Avenue, New York, NY 10016-5997, USA
671
- ...
672
- PDF: ISBN 978-0-XXXX-XXXX-X STDXXXXX
673
- Print: ISBN 978-0-XXXX-XXXX-X STDPDXXXXX
674
- -->
675
- <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:feedback-statement"/>
676
-
677
- </fo:flow>
678
- </fo:page-sequence>
679
-
680
- <!-- Example:
681
- Important Notices and Disclaimers Concerning IEEE Standards Documents
682
- IEEE Standards documents are made available for use subject to important notices and legal disclaimers. These notices and disclaimers, or a reference to this page (https://standards.ieee.org/ipr/disclaimers.html), appear in all standards and may be found under the heading “Important Notices and Disclaimers Concerning IEEE Standards Documents.”
683
- ...
684
- -->
685
- <fo:page-sequence master-reference="document-draft-two-columns" force-page-count="no-force">
686
- <xsl:call-template name="insertFootnoteSeparator"/>
687
- <xsl:call-template name="insertHeaderFooter">
688
- <xsl:with-param name="document_id" select="$document_id"/>
689
- <xsl:with-param name="title_prefix" select="$title_prefix"/>
690
- <xsl:with-param name="title" select="$title"/>
691
- <xsl:with-param name="doctype" select="$doctype"/>
692
- <xsl:with-param name="copyright_year" select="$copyright_year"/>
693
- <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
694
- </xsl:call-template>
695
-
696
- <fo:flow flow-name="xsl-region-body">
697
-
698
- <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement"/>
699
-
700
- <xsl:if test="not(/mn:metanorma/mn:boilerplate/mn:legal-statement/*)">
701
- <fo:block> </fo:block>
702
- </xsl:if>
703
- </fo:flow>
704
- </fo:page-sequence>
705
- </xsl:when> <!-- $current_template = 'standard' -->
706
-
707
- <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
708
- <fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force" font-family="Calibri Light">
709
-
710
- <xsl:call-template name="insertHeaderFooter">
711
- <xsl:with-param name="doctype" select="$doctype"/>
712
- <xsl:with-param name="copyright_year" select="$copyright_year"/>
713
- <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
714
- <xsl:with-param name="hideHeader">true</xsl:with-param>
715
- </xsl:call-template>
716
-
717
- <fo:flow flow-name="xsl-region-body">
718
- <fo:block-container>
719
-
720
- <fo:block>
721
- <!-- TRADEMARKS AND DISCLAIMERS -->
722
- <!-- ACKNOWLEDGEMENTS -->
723
- <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement/*[@id = 'boilerplate-tm' or normalize-space(mn:fmt-title) = 'Trademarks and Disclaimers' or @id = 'boilerplate-participants' or normalize-space(mn:fmt-title) = 'Acknowledgements']" mode="whitepaper"/>
724
- </fo:block>
725
-
726
- <!-- Example:
727
- The Institute of Electrical and Electronics Engineers, Inc. 3 Park Avenue, New York, NY 10016-5997, USA
728
- ...
729
- PDF: STDXXXXX ISBN 978-0-XXXX-XXXX-X
730
- -->
731
- <fo:block font-style="italic">
732
- <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:feedback-statement"/>
733
- </fo:block>
734
-
735
- <!-- NOTICE AND DISCLAIMER OF LIABILITY CONCERNING THE USE OF IEEE SA DOCUMENTS -->
736
- <fo:block break-after="page"/>
737
- <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement/*[not(@id = 'boilerplate-tm') and not(normalize-space(mn:fmt-title) = 'Trademarks and Disclaimers') and not(@id = 'boilerplate-participants') and not(normalize-space(mn:title) = 'Acknowledgements')]"/>
738
-
739
- </fo:block-container>
740
- </fo:flow>
741
-
742
- </fo:page-sequence>
743
-
744
- </xsl:when> <!-- $current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report' -->
745
-
746
- </xsl:choose>
747
- <!-- =================== -->
748
- <!-- End Second page(s) -->
749
- <!-- =================== -->
750
541
 
751
542
  <!-- ================================ -->
752
543
  <!-- PREFACE pages (Introduction, Contents -->
753
544
  <!-- ================================ -->
754
545
 
755
- <xsl:variable name="structured_xml_preface">
756
- <xsl:apply-templates select="/*/mn:preface/mn:introduction" mode="flatxml"/>
757
- </xsl:variable>
758
-
759
- <!-- structured_xml_preface=<xsl:copy-of select="$structured_xml_preface"/> -->
760
-
761
- <xsl:variable name="paged_xml_preface">
762
- <xsl:call-template name="makePagedXML">
763
- <xsl:with-param name="structured_xml" select="$structured_xml_preface"/>
764
- </xsl:call-template>
765
- </xsl:variable>
766
-
767
546
  <xsl:if test="$debug = 'true'">
768
547
  <redirect:write file="contents_.xml">
769
548
  <xsl:copy-of select="$contents"/>
@@ -773,34 +552,53 @@
773
552
  <xsl:choose>
774
553
 
775
554
  <xsl:when test="$current_template = 'standard' or $current_template = 'draft'">
776
- <fo:page-sequence master-reference="document-draft" id="prefaceSequence"> <!-- format="i" initial-page-number="1" -->
777
555
 
778
- <xsl:call-template name="insertFootnoteSeparator"/>
556
+ <xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to preface/sections -->
779
557
 
780
- <xsl:call-template name="insertHeaderFooter">
781
- <xsl:with-param name="document_id" select="$document_id"/>
782
- <xsl:with-param name="title_prefix" select="$title_prefix"/>
783
- <xsl:with-param name="title" select="$title"/>
784
- <xsl:with-param name="doctype" select="$doctype"/>
785
- <xsl:with-param name="copyright_year" select="$copyright_year"/>
786
- <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
787
- </xsl:call-template>
558
+ <!-- <xsl:for-each select=".//mn:page_sequence[parent::mn:preface][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]"> -->
559
+ <xsl:for-each select=".//mn:page_sequence[mn:introduction or mn:acknowledgements]">
788
560
 
789
- <fo:flow flow-name="xsl-region-body">
561
+ <fo:page-sequence master-reference="document-draft"> <!-- format="i" initial-page-number="1" -->
790
562
 
791
- <fo:block>
792
- <xsl:for-each select="xalan:nodeset($paged_xml_preface)/mn:page">
793
- <xsl:apply-templates select="*" mode="page"/>
794
- <fo:block break-after="page"/>
795
- </xsl:for-each>
796
- </fo:block>
563
+ <xsl:call-template name="insertFootnoteSeparator"/>
797
564
 
798
- <xsl:apply-templates select="/*/mn:preface/mn:clause[@type = 'toc']">
799
- <xsl:with-param name="num" select="$num"/>
800
- </xsl:apply-templates>
565
+ <xsl:call-template name="insertHeaderFooter">
566
+ <xsl:with-param name="document_id" select="$document_id"/>
567
+ <xsl:with-param name="title" select="$title"/>
568
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
569
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
570
+ </xsl:call-template>
571
+
572
+ <fo:flow flow-name="xsl-region-body">
573
+
574
+ <fo:block>
575
+ <xsl:apply-templates/>
576
+ </fo:block>
577
+
578
+ </fo:flow>
579
+ </fo:page-sequence>
580
+ </xsl:for-each>
581
+ </xsl:for-each>
582
+
583
+ <xsl:for-each select="/*/mn:preface/mn:clause[@type = 'toc']">
584
+ <fo:page-sequence master-reference="document-draft">
585
+ <xsl:call-template name="insertFootnoteSeparator"/>
586
+
587
+ <xsl:call-template name="insertHeaderFooter">
588
+ <xsl:with-param name="document_id" select="$document_id"/>
589
+ <xsl:with-param name="title" select="$title"/>
590
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
591
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
592
+ </xsl:call-template>
593
+
594
+ <fo:flow flow-name="xsl-region-body">
595
+ <xsl:apply-templates select=".">
596
+ <xsl:with-param name="num" select="$num"/>
597
+ </xsl:apply-templates>
598
+ </fo:flow>
599
+ </fo:page-sequence>
600
+ </xsl:for-each>
801
601
 
802
- </fo:flow>
803
- </fo:page-sequence>
804
602
  </xsl:when> <!-- 'standard' or 'draft' -->
805
603
 
806
604
  <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
@@ -812,7 +610,6 @@
812
610
  <fo:page-sequence master-reference="page-toc" force-page-count="no-force">
813
611
 
814
612
  <xsl:call-template name="insertHeaderFooter">
815
- <xsl:with-param name="doctype" select="$doctype"/>
816
613
  <xsl:with-param name="copyright_year" select="$copyright_year"/>
817
614
  <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
818
615
  <xsl:with-param name="hideHeader">true</xsl:with-param>
@@ -858,239 +655,265 @@
858
655
  </xsl:choose>
859
656
 
860
657
  <!-- ================================ -->
861
- <!-- END: PREFACE pages (Table of Contents, Foreword -->
658
+ <!-- END: PREFACE pages (Introduction, Table of Contents -->
862
659
  <!-- ================================ -->
863
660
 
864
- <!-- item - page sequence -->
865
- <xsl:variable name="structured_xml_">
661
+ <xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to preface/sections -->
866
662
 
867
- <xsl:choose>
663
+ <!-- Introduction, Acknowledgements, Abstract for whitepaper and report -->
664
+ <xsl:if test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
665
+ <xsl:for-each select=".//mn:page_sequence[parent::mn:preface][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
666
+ <xsl:call-template name="insert_page-sequence">
667
+ <xsl:with-param name="document_id" select="$document_id"/>
668
+ <xsl:with-param name="title" select="$title"/>
669
+ <xsl:with-param name="doctype" select="$doctype"/>
670
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
671
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
672
+ <xsl:with-param name="is_first_sequence" select="normalize-space(position() = 1)"/>
673
+ </xsl:call-template>
674
+ </xsl:for-each>
675
+ </xsl:if>
868
676
 
869
- <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
677
+ <xsl:for-each select=".//mn:page_sequence[parent::mn:sections][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
678
+ <xsl:call-template name="insert_page-sequence">
679
+ <xsl:with-param name="document_id" select="$document_id"/>
680
+ <xsl:with-param name="title" select="$title"/>
681
+ <xsl:with-param name="doctype" select="$doctype"/>
682
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
683
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
684
+ <xsl:with-param name="is_first_sequence" select="normalize-space(position() = 1)"/>
685
+ </xsl:call-template>
686
+ </xsl:for-each>
870
687
 
871
- <item>
872
- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:introduction" mode="flatxml"/>
873
- </item>
688
+ <!-- Annexes, Bibliography and Index -->
689
+ <xsl:for-each select=".//mn:page_sequence[not(parent::mn:preface) and not(parent::mn:sections)][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
690
+ <xsl:call-template name="insert_page-sequence">
691
+ <xsl:with-param name="document_id" select="$document_id"/>
692
+ <xsl:with-param name="title" select="$title"/>
693
+ <xsl:with-param name="doctype" select="$doctype"/>
694
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
695
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
696
+ </xsl:call-template>
697
+ </xsl:for-each>
874
698
 
875
- <item>
876
- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:acknowledgements" mode="flatxml"/>
877
- </item>
699
+ </xsl:for-each>
878
700
 
879
- <item>
880
- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:abstract" mode="flatxml"/>
881
- </item>
701
+ <!-- ===================== -->
702
+ <!-- End IEEE pages -->
703
+ <!-- ===================== -->
882
704
 
883
- <xsl:for-each select="/*/mn:sections/*[not(contains(@class, 'zzSTDTitle'))]"> <!-- each section starts with a new page -->
884
- <item>
885
- <xsl:if test="position() = 1">
886
- <xsl:copy-of select="ancestor::mn:sections/*[contains(@class, 'zzSTDTitle')]"/> <!-- put title on the 1st page -->
887
- </xsl:if>
888
- <xsl:apply-templates select="." mode="flatxml"/>
889
- </item>
890
- </xsl:for-each>
891
- </xsl:when> <!-- $current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report' -->
705
+ <xsl:call-template name="back-page"/>
892
706
 
893
- <xsl:when test="$current_template = 'standard'">
894
- <xsl:choose>
895
- <xsl:when test="$page_break_between_sections = 'true'">
896
- <xsl:for-each select="/*/mn:sections/*[not(contains(@class, 'zzSTDTitle'))]"> <!-- each section starts with a new page -->
897
- <item>
898
- <xsl:if test="position() = 1">
899
- <xsl:copy-of select="ancestor::mn:sections/*[contains(@class, 'zzSTDTitle')]"/> <!-- put title on the 1st page -->
900
- </xsl:if>
901
- <xsl:apply-templates select="." mode="flatxml"/>
902
- </item>
903
- </xsl:for-each>
904
- </xsl:when>
905
- <xsl:otherwise>
906
- <item>
907
- <xsl:apply-templates select="/*/mn:sections/*" mode="flatxml"/>
908
- </item>
909
- </xsl:otherwise>
910
- </xsl:choose>
911
- </xsl:when> <!-- $current_template = 'standard' -->
707
+ <xsl:if test="not(xalan:nodeset($updated_xml_with_pages)//mn:page_sequence[*])">
708
+ <fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force">
709
+ <fo:flow flow-name="xsl-region-body">
710
+ <fo:block><!-- prevent fop error for empty document --></fo:block>
711
+ </fo:flow>
712
+ </fo:page-sequence>
713
+ </xsl:if>
912
714
 
913
- <xsl:otherwise>
914
- <item>
915
- <xsl:apply-templates select="/*/mn:sections/*" mode="flatxml"/>
916
- </item>
917
- </xsl:otherwise>
918
- </xsl:choose>
715
+ </xsl:for-each>
716
+ </xsl:for-each> <!-- END of //metanorma (former ieee-standard) iteration -->
919
717
 
920
- <!-- Annexes -->
921
- <xsl:for-each select="/*/mn:annex">
922
- <item>
923
- <xsl:apply-templates select="." mode="flatxml"/>
924
- </item>
718
+ <xsl:if test="not(//mn:metanorma)">
719
+ <fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force">
720
+ <fo:flow flow-name="xsl-region-body">
721
+ <fo:block><!-- prevent fop error for empty document --></fo:block>
722
+ </fo:flow>
723
+ </fo:page-sequence>
724
+ </xsl:if>
725
+
726
+ </fo:root>
727
+ </xsl:template>
728
+
729
+ <xsl:template name="processPrefaceAndMainSectionsIEEE_items">
730
+ <xsl:variable name="updated_xml_step_move_pagebreak">
731
+ <xsl:element name="{$root_element}" namespace="{$namespace_full}">
732
+ <xsl:call-template name="copyCommonElements"/>
733
+
734
+ <xsl:element name="preface" namespace="{$namespace_full}"> <!-- save context element -->
735
+ <xsl:element name="page_sequence" namespace="{$namespace_full}">
736
+ <xsl:for-each select="/*/mn:preface/mn:introduction">
737
+ <xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
738
+ </xsl:for-each>
739
+ <xsl:for-each select="/*/mn:preface/mn:acknowledgements">
740
+ <xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
925
741
  </xsl:for-each>
742
+ </xsl:element>
926
743
 
927
- <!-- Bibliography -->
928
- <xsl:for-each select="/*/mn:bibliography/*">
929
- <item><xsl:apply-templates select="." mode="flatxml"/></item>
744
+ <xsl:element name="page_sequence" namespace="{$namespace_full}">
745
+ <xsl:for-each select="/*/mn:preface/mn:abstract">
746
+ <xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
930
747
  </xsl:for-each>
748
+ </xsl:element>
931
749
 
932
- <item>
933
- <xsl:copy-of select="//mn:indexsect"/>
934
- </item>
750
+ </xsl:element>
935
751
 
936
- </xsl:variable>
752
+ <xsl:element name="sections" namespace="{$namespace_full}"> <!-- save context element -->
753
+ <xsl:choose>
754
+ <xsl:when test="$page_break_between_sections = 'true'">
755
+ <xsl:for-each select="/*/mn:sections/*[not(contains(@class, 'zzSTDTitle'))]"> <!-- each section starts with a new page -->
756
+ <xsl:element name="page_sequence" namespace="{$namespace_full}">
757
+ <xsl:if test="position() = 1">
758
+ <xsl:copy-of select="ancestor::mn:sections/*[contains(@class, 'zzSTDTitle')]"/> <!-- put title on the 1st page -->
759
+ </xsl:if>
760
+ <xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
761
+ </xsl:element>
762
+ </xsl:for-each>
763
+ </xsl:when>
764
+ <xsl:otherwise>
765
+ <xsl:element name="page_sequence" namespace="{$namespace_full}">
766
+ <xsl:apply-templates select="/*/mn:sections/*" mode="update_xml_step_move_pagebreak"/>
767
+ </xsl:element>
768
+ </xsl:otherwise>
769
+ </xsl:choose>
770
+ </xsl:element>
937
771
 
938
- <xsl:if test="$debug = 'true'">
939
- <redirect:write file="page_items.xml">
940
- <xsl:copy-of select="$structured_xml_"/>
941
- </redirect:write>
942
- </xsl:if>
772
+ <!-- Annexes -->
773
+ <xsl:for-each select="/*/mn:annex">
774
+ <xsl:element name="page_sequence" namespace="{$namespace_full}">
775
+ <xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
776
+ </xsl:element>
777
+ </xsl:for-each>
943
778
 
944
- <!-- page break before each section -->
945
- <xsl:variable name="structured_xml">
946
- <xsl:for-each select="xalan:nodeset($structured_xml_)/item[*]">
947
- <xsl:element name="pagebreak" namespace="{$namespace_full}"/>
948
- <xsl:copy-of select="./*"/>
949
- </xsl:for-each>
950
- </xsl:variable>
779
+ <!-- Bibliography -->
780
+ <xsl:for-each select="/*/mn:bibliography/*">
781
+ <xsl:element name="page_sequence" namespace="{$namespace_full}">
782
+ <xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
783
+ </xsl:element>
784
+ </xsl:for-each>
951
785
 
952
- <!-- structured_xml=<xsl:copy-of select="$structured_xml" />=end structured_xml -->
786
+ <xsl:element name="page_sequence" namespace="{$namespace_full}">
787
+ <xsl:copy-of select="//mn:indexsect"/>
788
+ </xsl:element>
953
789
 
954
- <xsl:variable name="paged_xml">
955
- <xsl:call-template name="makePagedXML">
956
- <xsl:with-param name="structured_xml" select="$structured_xml"/>
957
- </xsl:call-template>
958
- </xsl:variable>
790
+ </xsl:element>
791
+ </xsl:variable>
959
792
 
960
- <xsl:if test="$debug = 'true'">
961
- <redirect:write file="paged_xml.xml">
962
- <xsl:copy-of select="$paged_xml"/>
963
- </redirect:write>
964
- </xsl:if>
793
+ <xsl:variable name="updated_xml_step_move_pagebreak_filename" select="concat($output_path,'_main_', java:getTime(java:java.util.Date.new()), '.xml')"/>
965
794
 
966
- <!-- paged_xml=<xsl:copy-of select="$paged_xml"/> -->
795
+ <redirect:write file="{$updated_xml_step_move_pagebreak_filename}">
796
+ <xsl:copy-of select="$updated_xml_step_move_pagebreak"/>
797
+ </redirect:write>
967
798
 
968
- <xsl:for-each select="xalan:nodeset($paged_xml)/mn:page[*]">
969
- <fo:page-sequence master-reference="document-draft" force-page-count="no-force">
799
+ <xsl:copy-of select="document($updated_xml_step_move_pagebreak_filename)"/>
970
800
 
971
- <xsl:if test="@orientation = 'landscape'">
972
- <xsl:attribute name="master-reference">document-draft-<xsl:value-of select="@orientation"/></xsl:attribute>
973
- </xsl:if>
801
+ <xsl:if test="$debug = 'true'">
802
+ <redirect:write file="page_sequence_preface_and_main.xml">
803
+ <xsl:copy-of select="$updated_xml_step_move_pagebreak"/>
804
+ </redirect:write>
805
+ </xsl:if>
974
806
 
975
- <xsl:if test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
976
- <xsl:attribute name="master-reference">document-nonstandard</xsl:attribute>
977
- <xsl:if test="@orientation = 'landscape'">
978
- <xsl:attribute name="master-reference">document-nonstandard<xsl:value-of select="@orientation"/></xsl:attribute>
979
- </xsl:if>
980
- </xsl:if>
807
+ <xsl:call-template name="deleteFile">
808
+ <xsl:with-param name="filepath" select="$updated_xml_step_move_pagebreak_filename"/>
809
+ </xsl:call-template>
981
810
 
982
- <xsl:if test="$current_template = 'standard'">
983
- <xsl:attribute name="master-reference">document-standard<xsl:if test="position() = 1">-first</xsl:if></xsl:attribute>
984
- <xsl:if test="@orientation = 'landscape'">
985
- <xsl:attribute name="master-reference">document-standard<xsl:value-of select="@orientation"/></xsl:attribute>
986
- </xsl:if>
987
- </xsl:if>
811
+ </xsl:template> <!-- processPrefaceAndMainSectionsIEEE_items -->
988
812
 
989
- <!-- <xsl:if test="position() = 1">
990
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
991
- </xsl:if> -->
992
- <xsl:if test=".//mn:indexsect">
993
- <xsl:attribute name="master-reference">index</xsl:attribute>
994
- </xsl:if>
813
+ <xsl:template name="insert_page-sequence">
814
+ <xsl:param name="document_id"/>
815
+ <xsl:param name="title"/>
816
+ <xsl:param name="doctype"/>
817
+ <xsl:param name="copyright_year"/>
818
+ <xsl:param name="copyright_holder"/>
819
+ <xsl:param name="is_first_sequence"/>
995
820
 
996
- <xsl:call-template name="insertFootnoteSeparator"/>
821
+ <fo:page-sequence master-reference="document-draft" force-page-count="no-force">
997
822
 
998
- <xsl:choose>
999
- <xsl:when test="$current_template = 'standard' or $current_template = 'draft'">
1000
- <xsl:call-template name="insertHeaderFooter">
1001
- <xsl:with-param name="document_id" select="$document_id"/>
1002
- <xsl:with-param name="title_prefix" select="$title_prefix"/>
1003
- <xsl:with-param name="title" select="$title"/>
1004
- <xsl:with-param name="doctype" select="$doctype"/>
1005
- <xsl:with-param name="copyright_year" select="$copyright_year"/>
1006
- <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
1007
- <xsl:with-param name="orientation">@orientation</xsl:with-param>
1008
- </xsl:call-template>
1009
- </xsl:when>
1010
- <xsl:otherwise> <!-- ($current_template = 'international-standard' and $isDraft = 'false') or $current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report' -->
1011
- <xsl:call-template name="insertHeaderFooter">
1012
- <xsl:with-param name="doctype" select="$doctype"/>
1013
- <xsl:with-param name="copyright_year" select="$copyright_year"/>
1014
- <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
1015
- <xsl:with-param name="hideHeader">true</xsl:with-param>
1016
- </xsl:call-template>
1017
- </xsl:otherwise>
1018
- </xsl:choose>
823
+ <xsl:if test="@orientation = 'landscape'">
824
+ <xsl:attribute name="master-reference">document-draft-<xsl:value-of select="@orientation"/></xsl:attribute>
825
+ </xsl:if>
1019
826
 
1020
- <fo:flow flow-name="xsl-region-body">
1021
- <!-- debugpage=<xsl:copy-of select="."/> -->
827
+ <xsl:if test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
828
+ <xsl:attribute name="master-reference">document-nonstandard</xsl:attribute>
829
+ <xsl:if test="@orientation = 'landscape'">
830
+ <xsl:attribute name="master-reference">document-nonstandard<xsl:value-of select="@orientation"/></xsl:attribute>
831
+ </xsl:if>
832
+ </xsl:if>
1022
833
 
1023
- <!-- <xsl:if test="position() = 1">
1024
-
1025
- <xsl:choose>
1026
- <xsl:when test="$current_template = 'draft'">
1027
- <fo:block font-family="Arial" font-size="23pt" font-weight="bold" margin-top="70pt" margin-bottom="48pt">
1028
-
1029
- <xsl:if test="contains('amendment corrigendum erratum', $subdoctype) and $subdoctype != ''">
1030
- <xsl:attribute name="font-size">24pt</xsl:attribute>
1031
- </xsl:if>
1032
-
1033
- <xsl:copy-of select="$title_prefix"/>
1034
- <xsl:copy-of select="$title"/>
1035
-
1036
- </fo:block>
1037
- </xsl:when>
1038
-
1039
- <xsl:when test="$current_template = 'standard'">
1040
- <fo:block font-family="Arial" font-weight="bold" margin-top="13mm" space-after="12pt">
1041
- <fo:block font-weight="bold" space-before="13mm">
1042
- <xsl:copy-of select="$title_standard_coverpage"/>
1043
- </fo:block>
1044
- </fo:block>
1045
- </xsl:when>
1046
-
1047
- <xsl:otherwise> --><!-- $current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report' -->
1048
-
1049
- <!-- <xsl:attribute name="font-family">Calibri Light</xsl:attribute>
1050
- <xsl:attribute name="font-size">12pt</xsl:attribute>
1051
-
1052
- <fo:block font-family="Arial Black" font-size="20pt" margin-top="18pt">
1053
- <xsl:copy-of select="$title"/>
1054
- </fo:block>
1055
- <xsl:call-template name="addBlueBox"/>
1056
- <fo:block margin-bottom="12pt">&#xa0;</fo:block>
1057
- </xsl:otherwise>
1058
- </xsl:choose>
1059
-
1060
- </xsl:if> -->
834
+ <xsl:if test="$current_template = 'standard'">
835
+ <xsl:attribute name="master-reference">document-standard<xsl:if test="position() = 1 and $is_first_sequence = 'true'">-first</xsl:if></xsl:attribute>
836
+ <xsl:if test="@orientation = 'landscape'">
837
+ <xsl:attribute name="master-reference">document-standard<xsl:value-of select="@orientation"/></xsl:attribute>
838
+ </xsl:if>
839
+ </xsl:if>
1061
840
 
1062
- <xsl:apply-templates select="*" mode="page"/>
1063
- <xsl:if test="position() = last()"><fo:block id="lastBlockMain"/></xsl:if>
1064
- </fo:flow>
1065
- </fo:page-sequence>
1066
- </xsl:for-each>
1067
- <!-- ===================== -->
1068
- <!-- End IEEE pages -->
1069
- <!-- ===================== -->
841
+ <!-- <xsl:if test="position() = 1">
842
+ <xsl:attribute name="initial-page-number">1</xsl:attribute>
843
+ </xsl:if> -->
844
+ <xsl:if test=".//mn:indexsect">
845
+ <xsl:attribute name="master-reference">index</xsl:attribute>
846
+ </xsl:if>
1070
847
 
1071
- <xsl:call-template name="back-page"/>
848
+ <xsl:call-template name="insertFootnoteSeparator"/>
1072
849
 
1073
- <xsl:if test="not(xalan:nodeset($paged_xml)/mn:page[*])">
1074
- <fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force">
1075
- <fo:flow flow-name="xsl-region-body">
1076
- <fo:block><!-- prevent fop error for empty document --></fo:block>
1077
- </fo:flow>
1078
- </fo:page-sequence>
1079
- </xsl:if>
850
+ <xsl:choose>
851
+ <xsl:when test="$current_template = 'standard' or $current_template = 'draft'">
852
+ <xsl:call-template name="insertHeaderFooter">
853
+ <xsl:with-param name="document_id" select="$document_id"/>
854
+ <xsl:with-param name="title" select="$title"/>
855
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
856
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
857
+ <xsl:with-param name="orientation">@orientation</xsl:with-param>
858
+ </xsl:call-template>
859
+ </xsl:when>
860
+ <xsl:otherwise> <!-- ($current_template = 'international-standard' and $isDraft = 'false') or $current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report' -->
861
+ <xsl:call-template name="insertHeaderFooter">
862
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
863
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
864
+ <xsl:with-param name="hideHeader">true</xsl:with-param>
865
+ </xsl:call-template>
866
+ </xsl:otherwise>
867
+ </xsl:choose>
1080
868
 
1081
- </xsl:for-each>
1082
- </xsl:for-each> <!-- END of //metanorma (former ieee-standard) iteration -->
869
+ <fo:flow flow-name="xsl-region-body">
870
+ <!-- debugpage=<xsl:copy-of select="."/> -->
1083
871
 
1084
- <xsl:if test="not(//mn:metanorma)">
1085
- <fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force">
1086
- <fo:flow flow-name="xsl-region-body">
1087
- <fo:block><!-- prevent fop error for empty document --></fo:block>
1088
- </fo:flow>
1089
- </fo:page-sequence>
1090
- </xsl:if>
872
+ <!-- <xsl:if test="position() = 1">
873
+
874
+ <xsl:choose>
875
+ <xsl:when test="$current_template = 'draft'">
876
+ <fo:block font-family="Arial" font-size="23pt" font-weight="bold" margin-top="70pt" margin-bottom="48pt">
877
+
878
+ <xsl:if test="contains('amendment corrigendum erratum', $subdoctype) and $subdoctype != ''">
879
+ <xsl:attribute name="font-size">24pt</xsl:attribute>
880
+ </xsl:if>
881
+
882
+ <xsl:copy-of select="$title_prefix"/>
883
+ <xsl:copy-of select="$title"/>
884
+
885
+ </fo:block>
886
+ </xsl:when>
887
+
888
+ <xsl:when test="$current_template = 'standard'">
889
+ <fo:block font-family="Arial" font-weight="bold" margin-top="13mm" space-after="12pt">
890
+ <fo:block font-weight="bold" space-before="13mm">
891
+ <xsl:copy-of select="$title_standard_coverpage"/>
892
+ </fo:block>
893
+ </fo:block>
894
+ </xsl:when>
895
+
896
+ <xsl:otherwise> --><!-- $current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report' -->
897
+
898
+ <!-- <xsl:attribute name="font-family">Calibri Light</xsl:attribute>
899
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
900
+
901
+ <fo:block font-family="Arial Black" font-size="20pt" margin-top="18pt">
902
+ <xsl:copy-of select="$title"/>
903
+ </fo:block>
904
+ <xsl:call-template name="addBlueBox"/>
905
+ <fo:block margin-bottom="12pt">&#xa0;</fo:block>
906
+ </xsl:otherwise>
907
+ </xsl:choose>
908
+
909
+ </xsl:if> -->
1091
910
 
1092
- </fo:root>
1093
- </xsl:template>
911
+ <!-- <xsl:apply-templates select="*" /> --> <!-- mode="page" -->
912
+ <xsl:apply-templates/> <!-- mode="page" -->
913
+ <!-- <xsl:if test="position() = last()"><fo:block id="lastBlockMain"/></xsl:if> -->
914
+ </fo:flow>
915
+ </fo:page-sequence>
916
+ </xsl:template> <!-- insert_page-sequence -->
1094
917
 
1095
918
  <xsl:template name="cover-page">
1096
919
  <xsl:param name="num"/>
@@ -1139,10 +962,7 @@
1139
962
 
1140
963
  <xsl:call-template name="insertHeaderFooter">
1141
964
  <xsl:with-param name="document_id" select="$document_id"/>
1142
- <xsl:with-param name="title_prefix" select="$title_prefix"/>
1143
965
  <xsl:with-param name="title" select="$title"/>
1144
- <xsl:with-param name="doctype" select="$doctype"/>
1145
-
1146
966
  <xsl:with-param name="copyright_year" select="$copyright_year"/>
1147
967
  <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
1148
968
  <xsl:with-param name="hideFooter">true</xsl:with-param>
@@ -1209,14 +1029,16 @@
1209
1029
  <fo:block> </fo:block>
1210
1030
  </xsl:if>
1211
1031
 
1212
- <fo:block>
1213
- <!-- Approved <Date Approved> -->
1214
- <xsl:text>Approved </xsl:text>
1215
- <xsl:value-of select="$approved_date"/>
1216
- </fo:block>
1217
- <fo:block> </fo:block>
1218
- <!-- Example: IEEE SA Standards Board -->
1219
- <fo:block font-size="11pt" font-weight="bold"><xsl:value-of select="$approved_by"/></fo:block>
1032
+ <xsl:if test="$approved_date != ''">
1033
+ <fo:block>
1034
+ <!-- Approved <Date Approved> -->
1035
+ <xsl:text>Approved </xsl:text>
1036
+ <xsl:value-of select="$approved_date"/>
1037
+ </fo:block>
1038
+ <fo:block> </fo:block>
1039
+ <!-- Example: IEEE SA Standards Board -->
1040
+ <fo:block font-size="11pt" font-weight="bold"><xsl:value-of select="$approved_by"/></fo:block>
1041
+ </xsl:if>
1220
1042
 
1221
1043
  <xsl:if test="normalize-space($cutoff_date) != ''">
1222
1044
  <fo:block> </fo:block>
@@ -1260,7 +1082,9 @@
1260
1082
  <xsl:if test="position() != last()">, </xsl:if>
1261
1083
  </xsl:for-each>
1262
1084
  </fo:block>
1263
- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:acknowledgements"/>
1085
+ <!-- From https://github.com/metanorma/metanorma-ieee/issues/566#issuecomment-3302383104:
1086
+ the Acknowledgements section comes immediately after Introduction, as shown in the StyleMan -->
1087
+ <!-- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:acknowledgements"/> -->
1264
1088
  </fo:block>
1265
1089
 
1266
1090
  <!-- Example:
@@ -1285,7 +1109,6 @@
1285
1109
  <xsl:with-param name="enabler" select="$enabler"/>
1286
1110
  <xsl:with-param name="standard_number" select="$standard_number"/>
1287
1111
  <xsl:with-param name="history" select="$history_text"/>
1288
- <!-- <xsl:with-param name="standard_title_prefix" select="$title_prefix"/> -->
1289
1112
  <xsl:with-param name="cutoff_date" select="$cutoff_date"/>
1290
1113
  <xsl:with-param name="expiration_date" select="$expiration_date"/>
1291
1114
  </xsl:call-template>
@@ -1303,6 +1126,216 @@
1303
1126
  <!-- ======================= -->
1304
1127
  </xsl:template> <!-- END: cover-page -->
1305
1128
 
1129
+ <xsl:template name="inner-cover-page">
1130
+ <xsl:param name="document_id"/>
1131
+ <xsl:param name="title"/>
1132
+ <xsl:param name="society"/>
1133
+ <xsl:param name="copyright_holder"/>
1134
+ <xsl:param name="copyright_year"/>
1135
+ <xsl:param name="committee"/>
1136
+ <xsl:param name="enabler"/>
1137
+ <xsl:param name="approved_date"/>
1138
+ <xsl:param name="approved_by"/>
1139
+ <xsl:param name="title_main"/>
1140
+ <xsl:param name="standard_number"/>
1141
+ <xsl:param name="history_text"/>
1142
+ <!-- =================== -->
1143
+ <!-- Second page(s) -->
1144
+ <!-- =================== -->
1145
+ <xsl:choose>
1146
+
1147
+ <xsl:when test="$current_template = 'draft'">
1148
+ <!-- Legal statement -->
1149
+ <fo:page-sequence master-reference="document-draft" force-page-count="no-force" format="1">
1150
+ <xsl:call-template name="insertFootnoteSeparator"/>
1151
+
1152
+ <xsl:call-template name="insertHeaderFooter">
1153
+ <xsl:with-param name="document_id" select="$document_id"/>
1154
+ <xsl:with-param name="title" select="$title"/>
1155
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
1156
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
1157
+ <xsl:with-param name="hideFooter"><xsl:if test="not(contains('amendment corrigendum erratum', $subdoctype) and $subdoctype != '')">false</xsl:if></xsl:with-param>
1158
+ </xsl:call-template>
1159
+
1160
+ <fo:flow flow-name="xsl-region-body">
1161
+ <fo:block>
1162
+ <!-- Example:
1163
+ Important Notices and Disclaimers Concerning IEEE Standards Documents
1164
+ IEEE Standards documents are made available for use subject to important notices and legal disclaimers. These notices and disclaimers, or a reference to this page (https://standards.ieee.org/ipr/disclaimers.html), appear in all standards and may be found under the heading “Important Notices and Disclaimers Concerning IEEE Standards Documents.”
1165
+ ...
1166
+ -->
1167
+ <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement"/>
1168
+ </fo:block>
1169
+ </fo:flow>
1170
+
1171
+ </fo:page-sequence> <!-- End: Legal statement -->
1172
+
1173
+ </xsl:when> <!-- $current_template = 'draft' -->
1174
+
1175
+ <xsl:when test="$current_template = 'standard'">
1176
+ <!-- Second, third page -->
1177
+ <fo:page-sequence master-reference="document-draft" force-page-count="no-force" font-family="Arial" initial-page-number="1">
1178
+
1179
+ <xsl:call-template name="insertFootnoteSeparator"/>
1180
+
1181
+ <xsl:call-template name="insertHeaderFooter">
1182
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
1183
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
1184
+ <!-- <xsl:with-param name="hideHeader">true</xsl:with-param> -->
1185
+ <xsl:with-param name="hideFooter">true</xsl:with-param>
1186
+ </xsl:call-template>
1187
+
1188
+ <fo:flow flow-name="xsl-region-body">
1189
+ <fo:block text-align="right" margin-top="-11.5mm" id="__internal_layout__titlepage_{generate-id()}"> <!-- margin-top="2mm" -->
1190
+ <fo:block font-size="12pt" font-weight="bold"><xsl:value-of select="$standard_number"/></fo:block>
1191
+ <fo:block font-size="9pt"><xsl:value-of select="$history_text"/></fo:block>
1192
+ </fo:block>
1193
+
1194
+ <fo:block-container width="105%"> <!-- width="135mm" -->
1195
+ <fo:block font-size="23pt" font-weight="bold" space-before="25.5mm" line-height="1.15"> <!-- space-before="13mm" -->
1196
+ <xsl:copy-of select="$title_main"/>
1197
+ </fo:block>
1198
+ </fo:block-container>
1199
+
1200
+ <xsl:if test="$committee != ''">
1201
+ <fo:block font-size="10pt" space-before="11mm" space-after="4pt"><xsl:value-of select="$developed_by"/></fo:block>
1202
+ <fo:block font-size="11pt" font-weight="bold" margin-top="4mm">
1203
+ <!-- Example: LAN/MAN Standards Committee -->
1204
+ <fo:block line-height="1.12"><xsl:value-of select="$committee"/></fo:block>
1205
+ <fo:block font-weight="normal" font-size="10pt">of the</fo:block>
1206
+ <!-- Example: IEEE Computer Society -->
1207
+ <fo:block><xsl:value-of select="$society"/></fo:block>
1208
+ </fo:block>
1209
+ </xsl:if>
1210
+
1211
+ <xsl:if test="normalize-space($enabler) != ''">
1212
+ <fo:block font-size="10pt" space-before="9mm" space-after="4pt"><xsl:value-of select="$sponsored_by"/></fo:block>
1213
+ <fo:block font-size="11pt" font-weight="bold" margin-top="4mm">
1214
+ <!-- Sponsored by the
1215
+ LAN/MAN Standards Committee -->
1216
+ <xsl:for-each select="$enabler/mn:subdivision">
1217
+ <fo:block line-height="1.12"><xsl:value-of select="mn:subdivision/mn:name"/></fo:block>
1218
+ <fo:block font-weight="normal" font-size="10pt">of the</fo:block>
1219
+ <fo:block><xsl:value-of select="concat(../mn:abbreviation, ' ', mn:name)"/></fo:block>
1220
+ <xsl:if test="position() != last()">
1221
+ <fo:block font-weight="normal" font-size="10pt">and the</fo:block>
1222
+ </xsl:if>
1223
+ </xsl:for-each>
1224
+ </fo:block>
1225
+ </xsl:if>
1226
+
1227
+ <xsl:if test="$approved_date != ''">
1228
+ <fo:block font-size="10pt" space-before="8mm" space-after="4pt">Approved <xsl:value-of select="$approved_date"/></fo:block>
1229
+ <!-- Example: IEEE SA Standards Board -->
1230
+ <fo:block font-size="11pt" font-weight="bold" margin-top="4mm"><xsl:value-of select="$approved_by"/></fo:block>
1231
+ </xsl:if>
1232
+
1233
+ <fo:block break-after="page"/>
1234
+
1235
+ <fo:block font-family="Arial" text-align="justify">
1236
+ <fo:block>
1237
+ <fo:inline font-weight="bold">
1238
+ <xsl:call-template name="getLocalizedString">
1239
+ <xsl:with-param name="key">abstract</xsl:with-param>
1240
+ </xsl:call-template>
1241
+ <xsl:text>: </xsl:text>
1242
+ </fo:inline>
1243
+ <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:abstract/node()[not(self::mn:fmt-title)] | /mn:metanorma/mn:preface/mn:clause[@id = '_abstract' or mn:fmt-title = 'Abstract']/node()[not(self::mn:fmt-title)]"/>
1244
+ </fo:block>
1245
+ <fo:block> </fo:block>
1246
+ <fo:block>
1247
+ <fo:inline font-weight="bold">Keywords: </fo:inline>
1248
+ <xsl:for-each select="/mn:metanorma/mn:bibdata/mn:keyword">
1249
+ <xsl:value-of select="."/>
1250
+ <xsl:if test="position() != last()">, </xsl:if>
1251
+ </xsl:for-each>
1252
+ </fo:block>
1253
+ <!-- From https://github.com/metanorma/metanorma-ieee/issues/566#issuecomment-3302383104:
1254
+ the Acknowledgements section comes immediately after Introduction, as shown in the StyleMan -->
1255
+ <!-- <xsl:apply-templates select="/mn:metanorma/mn:preface/mn:acknowledgements"/> -->
1256
+ </fo:block>
1257
+
1258
+ <!-- Example:
1259
+ The Institute of Electrical and Electronics Engineers, Inc.
1260
+ 3 Park Avenue, New York, NY 10016-5997, USA
1261
+ ...
1262
+ PDF: ISBN 978-0-XXXX-XXXX-X STDXXXXX
1263
+ Print: ISBN 978-0-XXXX-XXXX-X STDPDXXXXX
1264
+ -->
1265
+ <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:feedback-statement"/>
1266
+
1267
+ </fo:flow>
1268
+ </fo:page-sequence>
1269
+
1270
+ <!-- Example:
1271
+ Important Notices and Disclaimers Concerning IEEE Standards Documents
1272
+ IEEE Standards documents are made available for use subject to important notices and legal disclaimers. These notices and disclaimers, or a reference to this page (https://standards.ieee.org/ipr/disclaimers.html), appear in all standards and may be found under the heading “Important Notices and Disclaimers Concerning IEEE Standards Documents.”
1273
+ ...
1274
+ -->
1275
+ <fo:page-sequence master-reference="document-draft-two-columns" force-page-count="no-force">
1276
+ <xsl:call-template name="insertFootnoteSeparator"/>
1277
+ <xsl:call-template name="insertHeaderFooter">
1278
+ <xsl:with-param name="document_id" select="$document_id"/>
1279
+ <xsl:with-param name="title" select="$title"/>
1280
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
1281
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
1282
+ </xsl:call-template>
1283
+
1284
+ <fo:flow flow-name="xsl-region-body">
1285
+
1286
+ <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement"/>
1287
+
1288
+ <xsl:if test="not(/mn:metanorma/mn:boilerplate/mn:legal-statement/*)">
1289
+ <fo:block> </fo:block>
1290
+ </xsl:if>
1291
+ </fo:flow>
1292
+ </fo:page-sequence>
1293
+ </xsl:when> <!-- $current_template = 'standard' -->
1294
+
1295
+ <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
1296
+ <fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force" font-family="Calibri Light">
1297
+
1298
+ <xsl:call-template name="insertHeaderFooter">
1299
+ <xsl:with-param name="copyright_year" select="$copyright_year"/>
1300
+ <xsl:with-param name="copyright_holder" select="$copyright_holder"/>
1301
+ <xsl:with-param name="hideHeader">true</xsl:with-param>
1302
+ </xsl:call-template>
1303
+
1304
+ <fo:flow flow-name="xsl-region-body">
1305
+ <fo:block-container>
1306
+
1307
+ <fo:block>
1308
+ <!-- TRADEMARKS AND DISCLAIMERS -->
1309
+ <!-- ACKNOWLEDGEMENTS -->
1310
+ <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement/*[@id = 'boilerplate-tm' or normalize-space(mn:fmt-title) = 'Trademarks and Disclaimers' or @id = 'boilerplate-participants' or normalize-space(mn:fmt-title) = 'Acknowledgements']" mode="whitepaper"/>
1311
+ </fo:block>
1312
+
1313
+ <!-- Example:
1314
+ The Institute of Electrical and Electronics Engineers, Inc. 3 Park Avenue, New York, NY 10016-5997, USA
1315
+ ...
1316
+ PDF: STDXXXXX ISBN 978-0-XXXX-XXXX-X
1317
+ -->
1318
+ <fo:block font-style="italic">
1319
+ <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:feedback-statement"/>
1320
+ </fo:block>
1321
+
1322
+ <!-- NOTICE AND DISCLAIMER OF LIABILITY CONCERNING THE USE OF IEEE SA DOCUMENTS -->
1323
+ <fo:block break-after="page"/>
1324
+ <xsl:apply-templates select="/mn:metanorma/mn:boilerplate/mn:legal-statement/*[not(@id = 'boilerplate-tm') and not(normalize-space(mn:fmt-title) = 'Trademarks and Disclaimers') and not(@id = 'boilerplate-participants') and not(normalize-space(mn:title) = 'Acknowledgements')]"/>
1325
+
1326
+ </fo:block-container>
1327
+ </fo:flow>
1328
+
1329
+ </fo:page-sequence>
1330
+
1331
+ </xsl:when> <!-- $current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report' -->
1332
+
1333
+ </xsl:choose>
1334
+ <!-- =================== -->
1335
+ <!-- End Second page(s) -->
1336
+ <!-- =================== -->
1337
+ </xsl:template> <!-- END: inner-cover-page -->
1338
+
1306
1339
  <xsl:template match="mn:preface/mn:clause[@type = 'toc']" priority="3">
1307
1340
  <xsl:param name="num"/>
1308
1341
 
@@ -1325,7 +1358,7 @@
1325
1358
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1326
1359
  </xsl:if>
1327
1360
 
1328
- <fo:block text-align-last="justify">
1361
+ <fo:block text-align-last="justify" role="SKIP">
1329
1362
  <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
1330
1363
  <xsl:if test="@type = 'annex'">
1331
1364
  <xsl:attribute name="font-weight">normal</xsl:attribute>
@@ -1350,27 +1383,6 @@
1350
1383
  </fo:block>
1351
1384
  </fo:block>
1352
1385
  </xsl:for-each>
1353
-
1354
- <!-- List of Tables -->
1355
- <xsl:for-each select="$contents//mnx:tables/mnx:table">
1356
- <xsl:if test="position() = 1">
1357
- <xsl:call-template name="insertListOf_Title">
1358
- <xsl:with-param name="title" select="$title-list-tables"/>
1359
- </xsl:call-template>
1360
- </xsl:if>
1361
- <xsl:call-template name="insertListOf_Item"/>
1362
- </xsl:for-each>
1363
-
1364
- <!-- List of Figures -->
1365
- <xsl:for-each select="$contents//mnx:figures/mnx:figure">
1366
- <xsl:if test="position() = 1">
1367
- <xsl:call-template name="insertListOf_Title">
1368
- <xsl:with-param name="title" select="$title-list-figures"/>
1369
- </xsl:call-template>
1370
- </xsl:if>
1371
- <xsl:call-template name="insertListOf_Item"/>
1372
- </xsl:for-each>
1373
-
1374
1386
  </xsl:when> <!-- $stage = 'draft' -->
1375
1387
 
1376
1388
  <xsl:when test="$stage = 'published' or $stage = 'approved' or $stage_published = 'true'">
@@ -1388,14 +1400,14 @@
1388
1400
 
1389
1401
  <xsl:attribute name="margin-left"><xsl:value-of select="$provisional-distance-between-starts * (@level - 1)"/>mm</xsl:attribute>
1390
1402
 
1391
- <fo:list-item>
1392
- <fo:list-item-label end-indent="label-end()">
1393
- <fo:block>
1403
+ <fo:list-item role="SKIP">
1404
+ <fo:list-item-label end-indent="label-end()" role="SKIP">
1405
+ <fo:block role="SKIP">
1394
1406
  <xsl:value-of select="@section"/>
1395
1407
  </fo:block>
1396
1408
  </fo:list-item-label>
1397
- <fo:list-item-body start-indent="body-start()">
1398
- <fo:block text-align-last="justify">
1409
+ <fo:list-item-body start-indent="body-start()" role="SKIP">
1410
+ <fo:block text-align-last="justify" role="SKIP">
1399
1411
 
1400
1412
  <xsl:if test="@type = 'annex'">
1401
1413
  <xsl:attribute name="font-weight">normal</xsl:attribute>
@@ -1418,36 +1430,34 @@
1418
1430
  </fo:basic-link>
1419
1431
  </fo:block>
1420
1432
  </fo:list-item-body>
1421
- </fo:list-item>
1422
-
1423
- </fo:list-block>
1424
- </xsl:for-each>
1425
-
1426
- <!-- List of Figures -->
1427
- <xsl:for-each select="$contents//mnx:figures/mnx:figure">
1428
- <xsl:if test="position() = 1">
1429
- <fo:block break-after="page"/>
1430
- <xsl:call-template name="insertListOf_Title">
1431
- <xsl:with-param name="title" select="'Figures'"/>
1432
- </xsl:call-template>
1433
- </xsl:if>
1434
- <xsl:call-template name="insertListOf_Item"/>
1435
- </xsl:for-each>
1433
+ </fo:list-item>
1436
1434
 
1437
- <!-- List of Tables -->
1438
- <xsl:for-each select="$contents//mnx:tables/mnx:table">
1439
- <xsl:if test="position() = 1">
1440
- <fo:block break-after="page"/>
1441
- <xsl:call-template name="insertListOf_Title">
1442
- <xsl:with-param name="title" select="'Tables'"/>
1443
- </xsl:call-template>
1444
- </xsl:if>
1445
- <xsl:call-template name="insertListOf_Item"/>
1435
+ </fo:list-block>
1446
1436
  </xsl:for-each>
1447
-
1448
1437
  </xsl:when> <!-- $stage = 'published' or 'approved' -->
1449
1438
  </xsl:choose>
1450
1439
 
1440
+ <!-- List of Tables -->
1441
+ <xsl:for-each select="$contents//mnx:tables/mnx:table">
1442
+ <xsl:if test="position() = 1">
1443
+ <!-- <fo:block break-after="page"/> -->
1444
+ <xsl:call-template name="insertListOf_Title">
1445
+ <xsl:with-param name="title" select="$title-list-tables"/>
1446
+ </xsl:call-template>
1447
+ </xsl:if>
1448
+ <xsl:call-template name="insertListOf_Item"/>
1449
+ </xsl:for-each>
1450
+
1451
+ <!-- List of Figures -->
1452
+ <xsl:for-each select="$contents//mnx:figures/mnx:figure">
1453
+ <xsl:if test="position() = 1">
1454
+ <!-- <fo:block break-after="page"/> -->
1455
+ <xsl:call-template name="insertListOf_Title">
1456
+ <xsl:with-param name="title" select="$title-list-figures"/>
1457
+ </xsl:call-template>
1458
+ </xsl:if>
1459
+ <xsl:call-template name="insertListOf_Item"/>
1460
+ </xsl:for-each>
1451
1461
  </xsl:when> <!-- 'standard' or 'draft' -->
1452
1462
 
1453
1463
  <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
@@ -1879,7 +1889,7 @@
1879
1889
  <fo:inline><xsl:apply-templates/></fo:inline>
1880
1890
  </xsl:template>
1881
1891
 
1882
- <xsl:template match="mn:preface/mn:acknowledgements" priority="3">
1892
+ <xsl:template match="mn:preface//mn:acknowledgements" priority="3">
1883
1893
  <fo:block>
1884
1894
  <xsl:apply-templates/>
1885
1895
  </fo:block>
@@ -1940,46 +1950,6 @@
1940
1950
  </xsl:copy>
1941
1951
  </xsl:template>
1942
1952
 
1943
- <xsl:template name="makePagedXML">
1944
- <xsl:param name="structured_xml"/>
1945
- <xsl:choose>
1946
- <xsl:when test="not(xalan:nodeset($structured_xml)/mn:pagebreak)">
1947
- <xsl:element name="page" namespace="{$namespace_full}">
1948
- <xsl:copy-of select="xalan:nodeset($structured_xml)"/>
1949
- </xsl:element>
1950
- </xsl:when>
1951
- <xsl:otherwise>
1952
- <xsl:for-each select="xalan:nodeset($structured_xml)/mn:pagebreak">
1953
-
1954
- <xsl:variable name="pagebreak_id" select="generate-id()"/>
1955
- <!-- <xsl:variable name="pagebreak_previous_orientation" select="normalize-space(preceding-sibling::mn:pagebreak[1]/@orientation)"/> -->
1956
-
1957
- <!-- copy elements before pagebreak -->
1958
- <xsl:element name="page" namespace="{$namespace_full}">
1959
- <xsl:if test="not(preceding-sibling::mn:pagebreak)">
1960
- <xsl:copy-of select="../@*"/>
1961
- </xsl:if>
1962
- <!-- copy previous pagebreak orientation -->
1963
- <xsl:copy-of select="preceding-sibling::mn:pagebreak[1]/@orientation"/>
1964
- <!-- <xsl:if test="$pagebreak_previous_orientation != ''">
1965
- <xsl:attribute name="orientation"><xsl:value-of select="$pagebreak_previous_orientation"/></xsl:attribute>
1966
- </xsl:if> -->
1967
- <xsl:copy-of select="preceding-sibling::node()[following-sibling::mn:pagebreak[1][generate-id(.) = $pagebreak_id]][not(self::mn:pagebreak)]"/>
1968
- </xsl:element>
1969
-
1970
- <!-- copy elements after last page break -->
1971
- <xsl:if test="position() = last() and following-sibling::node()">
1972
- <xsl:element name="page" namespace="{$namespace_full}">
1973
- <xsl:copy-of select="@orientation"/>
1974
- <xsl:copy-of select="following-sibling::node()"/>
1975
- </xsl:element>
1976
- </xsl:if>
1977
-
1978
- </xsl:for-each>
1979
- </xsl:otherwise>
1980
- </xsl:choose>
1981
- </xsl:template>
1982
-
1983
1953
  <xsl:template match="mn:p[@class = 'zzSTDTitle1']" priority="4">
1984
1954
  <xsl:choose>
1985
1955
  <xsl:when test="$current_template = 'draft' or $current_template = 'standard'">
@@ -2151,10 +2121,10 @@
2151
2121
 
2152
2122
  <xsl:choose>
2153
2123
  <xsl:when test="$current_template = 'standard'">
2154
- <fo:list-block xsl:use-attribute-sets="toc-listof-item-style">
2155
- <fo:list-item>
2156
- <fo:list-item-label end-indent="label-end()">
2157
- <fo:block>
2124
+ <fo:list-block xsl:use-attribute-sets="toc-listof-item-style" role="TOCI">
2125
+ <fo:list-item role="SKIP">
2126
+ <fo:list-item-label end-indent="label-end()" role="SKIP">
2127
+ <fo:block role="SKIP">
2158
2128
  <fo:basic-link internal-destination="{@id}">
2159
2129
  <xsl:call-template name="setAltText">
2160
2130
  <xsl:with-param name="value" select="@alt-text"/>
@@ -2163,8 +2133,8 @@
2163
2133
  </fo:basic-link>
2164
2134
  </fo:block>
2165
2135
  </fo:list-item-label>
2166
- <fo:list-item-body start-indent="body-start()">
2167
- <fo:block text-align-last="justify">
2136
+ <fo:list-item-body start-indent="body-start()" role="SKIP">
2137
+ <fo:block text-align-last="justify" role="SKIP">
2168
2138
  <fo:basic-link internal-destination="{@id}">
2169
2139
  <xsl:call-template name="setAltText">
2170
2140
  <xsl:with-param name="value" select="@alt-text"/>
@@ -2235,214 +2205,9 @@
2235
2205
  <!-- display titles -->
2236
2206
  <!-- ==================== -->
2237
2207
 
2238
- <!-- ================================= -->
2239
- <!-- XML Flattening -->
2240
- <!-- ================================= -->
2241
- <xsl:template match="@*|node()" mode="flatxml">
2242
- <xsl:copy>
2243
- <xsl:apply-templates select="@*|node()" mode="flatxml"/>
2244
- </xsl:copy>
2245
- </xsl:template>
2246
-
2247
- <xsl:template match="processing-instruction()" mode="flatxml">
2248
- <xsl:copy-of select="."/>
2249
- </xsl:template>
2250
-
2251
- <xsl:template match="mn:preface//mn:clause[@type = 'front_notes']" mode="flatxml" priority="2">
2252
- <!-- ignore processing (source STS is front/notes) -->
2253
- </xsl:template>
2254
-
2255
- <xsl:template match="mn:foreword | mn:foreword//mn:clause | mn:preface//mn:clause[not(@type = 'corrigenda') and not(@type = 'related-refs') and not(@type = 'toc') ] | mn:introduction | mn:introduction//mn:clause | mn:sections//mn:clause | mn:annex | mn:annex//mn:clause | mn:references | mn:bibliography/mn:clause | mn:sections//mn:terms | mn:sections//mn:definitions | mn:annex//mn:definitions" mode="flatxml" name="clause">
2256
- <!-- From:
2257
- <clause>
2258
- <title>...</title>
2259
- <p>...</p>
2260
- </clause>
2261
- To:
2262
- <clause/>
2263
- <title>...</title>
2264
- <p>...</p>
2265
- -->
2266
- <xsl:copy>
2267
- <xsl:apply-templates select="@*" mode="flatxml"/>
2268
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2269
- <xsl:if test="self::mn:foreword or self::mn:introduction or parent::mn:preface or parent::mn:sections or (self::mn:references and parent::mn:bibliography) or (self::mn:clause and parent::mn:bibliography) or self::mn:annex or parent::mn:annex">
2270
- <xsl:attribute name="mainsection">true</xsl:attribute>
2271
- </xsl:if>
2272
-
2273
- </xsl:copy>
2274
- <xsl:apply-templates mode="flatxml"/>
2275
-
2276
- </xsl:template>
2277
-
2278
- <xsl:template match="mn:term" mode="flatxml" priority="2">
2279
- <xsl:copy>
2280
- <xsl:apply-templates select="@*" mode="flatxml"/>
2281
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2282
- <xsl:variable name="level">
2283
- <xsl:call-template name="getLevel"/>
2284
- </xsl:variable>
2285
- <xsl:attribute name="depth"><xsl:value-of select="$level"/></xsl:attribute>
2286
- <xsl:attribute name="ancestor">sections</xsl:attribute>
2287
- <xsl:apply-templates select="node()[not(self::mn:term)]" mode="flatxml"/>
2288
- </xsl:copy>
2289
- <xsl:apply-templates select="mn:term" mode="flatxml"/>
2290
- </xsl:template>
2291
-
2292
- <xsl:template match="mn:introduction//mn:fmt-title | mn:foreword//mn:fmt-title | mn:sections//mn:fmt-title | mn:annex//mn:fmt-title | mn:bibliography/mn:clause/mn:fmt-title | mn:references/mn:fmt-title" mode="flatxml" priority="2"> <!-- | mn:term -->
2293
- <xsl:copy>
2294
- <xsl:apply-templates select="@*" mode="flatxml"/>
2295
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2296
- <xsl:variable name="level">
2297
- <xsl:call-template name="getLevel"/>
2298
- </xsl:variable>
2299
- <xsl:attribute name="depth"><xsl:value-of select="$level"/></xsl:attribute>
2300
- <xsl:if test="parent::mn:annex">
2301
- <xsl:attribute name="depth">1</xsl:attribute>
2302
- </xsl:if>
2303
- <xsl:if test="../@inline-header = 'true'">
2304
- <xsl:copy-of select="../@inline-header"/>
2305
- </xsl:if>
2306
- <xsl:attribute name="ancestor">
2307
- <xsl:choose>
2308
- <xsl:when test="ancestor::mn:foreword">foreword</xsl:when>
2309
- <xsl:when test="ancestor::mn:introduction">introduction</xsl:when>
2310
- <xsl:when test="ancestor::mn:sections">sections</xsl:when>
2311
- <xsl:when test="ancestor::mn:annex">annex</xsl:when>
2312
- <xsl:when test="ancestor::mn:bibliography">bibliography</xsl:when>
2313
- </xsl:choose>
2314
- </xsl:attribute>
2315
-
2316
- <xsl:apply-templates mode="flatxml"/>
2317
- </xsl:copy>
2318
- </xsl:template>
2319
-
2320
- <!-- recalculate table width -->
2321
- <!-- 210 - (15+22+20) = 153 -->
2322
- <xsl:variable name="max_table_width_mm" select="$pageWidth - ($marginLeftRight1 + $marginLeftRight2)"/>
2323
- <!-- 153 / 25.4 * 96 dpi = 578px-->
2324
- <xsl:variable name="max_table_width_px" select="round($max_table_width_mm div 25.4 * 96)"/>
2325
- <!-- landscape table -->
2326
- <xsl:variable name="max_table_landscape_width_mm" select="$pageHeight - ($marginTop + $marginBottom)"/>
2327
- <xsl:variable name="max_table_landscape_width_px" select="round($max_table_landscape_width_mm div 25.4 * 96)"/>
2328
-
2329
- <xsl:template match="mn:table/@width[contains(., 'px')]" mode="flatxml">
2330
- <xsl:variable name="width" select="number(substring-before(., 'px'))"/>
2331
- <xsl:variable name="isLandscapeTable" select="../preceding-sibling::*[not(self::mn:table)][1]/@orientation = 'landscape'"/>
2332
- <xsl:attribute name="width">
2333
- <xsl:choose>
2334
- <xsl:when test="normalize-space($isLandscapeTable) = 'true' and $width &gt; $max_table_landscape_width_px"><xsl:value-of select="$max_table_landscape_width_px"/>px</xsl:when>
2335
- <xsl:when test="normalize-space($isLandscapeTable) = 'false' and $width &gt; $max_table_width_px"><xsl:value-of select="$max_table_width_px"/>px</xsl:when>
2336
- <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
2337
- </xsl:choose>
2338
- </xsl:attribute>
2339
- </xsl:template>
2340
-
2341
- <!-- add @to = figure, table, clause -->
2342
- <!-- add @depth = from -->
2343
- <xsl:template match="mn:fmt-xref" mode="flatxml">
2344
- <xsl:copy>
2345
- <xsl:apply-templates select="@*" mode="flatxml"/>
2346
- <xsl:variable name="target" select="@target"/>
2347
- <xsl:attribute name="to">
2348
- <xsl:value-of select="local-name(//*[@id = current()/@target][1])"/>
2349
- </xsl:attribute>
2350
- <xsl:attribute name="depth">
2351
- <xsl:value-of select="//*[@id = current()/@target][1]/mn:fmt-title/@depth"/>
2352
- </xsl:attribute>
2353
- <xsl:apply-templates select="node()" mode="flatxml"/>
2354
- </xsl:copy>
2355
- </xsl:template>
2356
-
2357
- <xsl:template match="text()" mode="flatxml">
2358
- <xsl:choose>
2359
- <xsl:when test="contains(., $non_breaking_hyphen)">
2360
- <xsl:call-template name="replaceChar">
2361
- <xsl:with-param name="text" select="."/>
2362
- <xsl:with-param name="replace" select="$non_breaking_hyphen"/>
2363
- <xsl:with-param name="by" select="'-'"/>
2364
- </xsl:call-template>
2365
- </xsl:when>
2366
- <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
2367
- </xsl:choose>
2368
-
2369
- </xsl:template>
2370
-
2371
- <!-- remove newlines chars (0xd 0xa, 0xa, 0xd) in p, em, strong (except in sourcecode). -->
2372
- <xsl:template match="*[not(ancestor::mn:sourcecode)]/*[self::mn:p or self::mn:strong or self::mn:em]/text()" mode="flatxml">
2373
- <xsl:choose>
2374
- <xsl:when test=". = '&#13;' or . = '&#10;' or . = '&#13;&#10;'"/>
2375
- <xsl:when test="contains(., $non_breaking_hyphen)">
2376
- <xsl:call-template name="replaceChar">
2377
- <xsl:with-param name="text" select="."/>
2378
- <xsl:with-param name="replace" select="$non_breaking_hyphen"/>
2379
- <xsl:with-param name="by" select="'-'"/>
2380
- </xsl:call-template>
2381
- </xsl:when>
2382
- <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
2383
- </xsl:choose>
2384
- </xsl:template>
2385
-
2386
- <!-- change @reference to actual value, and add skip_footnote_body="true" for repeatable (2nd, 3rd, ...) -->
2387
- <!--
2388
- <fn reference="1">
2389
- <p id="_8e5cf917-f75a-4a49-b0aa-1714cb6cf954">Formerly denoted as 15 % (m/m).</p>
2390
- </fn>
2391
- -->
2392
-
2393
- <xsl:template match="mn:fn[not(ancestor::*[(self::mn:table or self::mn:figure)] and not(ancestor::mn:fmt-name))]" mode="flatxml">
2394
- <xsl:variable name="p_fn_">
2395
- <xsl:call-template name="get_fn_list"/>
2396
- </xsl:variable>
2397
- <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
2398
- <xsl:variable name="gen_id" select="generate-id(.)"/>
2399
-
2400
- <xsl:copy>
2401
- <xsl:apply-templates select="@*" mode="flatxml"/>
2402
- <xsl:attribute name="skip_footnote_body"> <!-- false for repeatable footnote -->
2403
- <xsl:value-of select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
2404
- </xsl:attribute>
2405
- <xsl:apply-templates select="node()" mode="flatxml"/>
2406
- </xsl:copy>
2407
- </xsl:template>
2408
-
2409
- <!-- <xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" mode="flatxml">
2410
- <xsl:variable name="p_fn_">
2411
- <xsl:call-template name="get_fn_list"/>
2412
- </xsl:variable>
2413
- <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
2414
- <xsl:variable name="gen_id" select="generate-id(.)"/>
2415
- <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
2416
- <xsl:variable name="reference" select="@reference"/> --><!-- @reference added to bibitem/note in step 'update_xml_step2' -->
2417
- <!-- fn sequence number in document -->
2418
- <!-- <xsl:variable name="current_fn_number" select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" />
2419
- <xsl:copy>
2420
- <xsl:apply-templates select="@*" mode="flatxml"/> -->
2421
- <!-- put actual reference number -->
2422
- <!-- <xsl:attribute name="current_fn_number">
2423
- <xsl:value-of select="$current_fn_number"/>
2424
- </xsl:attribute>
2425
- <xsl:apply-templates select="node()" mode="flatxml"/>
2426
- </xsl:copy>
2427
- </xsl:template> -->
2428
-
2429
- <xsl:template match="mn:p[@type = 'section-title']" priority="3" mode="flatxml">
2430
- <xsl:copy>
2431
- <xsl:apply-templates select="@*" mode="flatxml"/>
2432
- <xsl:if test="@depth = '1'">
2433
- <xsl:attribute name="mainsection">true</xsl:attribute>
2434
- </xsl:if>
2435
- <xsl:apply-templates select="node()" mode="flatxml"/>
2436
- </xsl:copy>
2437
- </xsl:template>
2438
-
2439
- <!-- ================================= -->
2440
- <!-- END of XML Flattening -->
2441
- <!-- ================================= -->
2442
-
2443
- <xsl:template match="*" priority="3" mode="page">
2208
+ <!-- <xsl:template match="*" priority="3" mode="page">
2444
2209
  <xsl:call-template name="elementProcessing"/>
2445
- </xsl:template>
2210
+ </xsl:template> -->
2446
2211
 
2447
2212
  <xsl:template match="mn:clauses_union/*" priority="3" mode="clauses_union">
2448
2213
  <xsl:call-template name="elementProcessing"/>
@@ -2520,7 +2285,8 @@
2520
2285
  </fo:block>
2521
2286
  </xsl:template>
2522
2287
 
2523
- <xsl:template match="mn:fmt-title[@inline-header = 'true'][following-sibling::*[1][self::mn:p] or following-sibling::*[1][self::mn:clause] or not(following-sibling::*)]" priority="3">
2288
+ <!-- <xsl:template match="mn:fmt-title[@inline-header = 'true'][following-sibling::*[1][self::mn:p] or following-sibling::*[1][self::mn:clause] or not(following-sibling::*)]" priority="3"> -->
2289
+ <xsl:template match="mn:fmt-title[../@inline-header = 'true'][following-sibling::*[1][self::mn:p] or following-sibling::*[1][self::mn:clause] or not(following-sibling::*)]" priority="3">
2524
2290
  <fo:block>
2525
2291
  <xsl:attribute name="space-before">
2526
2292
  <xsl:call-template name="getTitleMarginTop"/>
@@ -2550,24 +2316,26 @@
2550
2316
  <xsl:choose>
2551
2317
  <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
2552
2318
  <xsl:choose>
2553
- <xsl:when test="$level = 2">22.4pt</xsl:when>
2554
- <xsl:when test="$level = 3">4.6pt</xsl:when>
2319
+ <xsl:when test="$level = 2">28.4pt</xsl:when> <!-- 22.4pt -->
2320
+ <xsl:when test="$level = 3">12.6pt</xsl:when> <!-- 4.6pt -->
2555
2321
  <xsl:otherwise>0mm</xsl:otherwise>
2556
2322
  </xsl:choose>
2557
2323
  </xsl:when>
2558
2324
  <xsl:when test="$current_template = 'standard'">
2559
2325
  <xsl:choose>
2560
- <xsl:when test="$level = 1">12pt</xsl:when>
2561
- <xsl:when test="$level = 2">12pt</xsl:when>
2562
- <xsl:when test="$level &gt;= 3">12pt</xsl:when>
2326
+ <xsl:when test="$level = 1 and (ancestor::mn:preface or ancestor::mn:introduction or ancestor::mn:annex)">12pt</xsl:when> <!-- 12pt -->
2327
+ <xsl:when test="$level = 1 and ancestor::mn:acknowledgements">16pt</xsl:when>
2328
+ <xsl:when test="$level = 1">20pt</xsl:when> <!-- 12pt -->
2329
+ <xsl:when test="$level = 2">20pt</xsl:when>
2330
+ <xsl:when test="$level &gt;= 3">18pt</xsl:when>
2563
2331
  <xsl:otherwise>0mm</xsl:otherwise>
2564
2332
  </xsl:choose>
2565
2333
  </xsl:when>
2566
2334
  <xsl:otherwise>
2567
2335
  <xsl:choose>
2568
- <xsl:when test="$level = 1">18pt</xsl:when>
2569
- <xsl:when test="$level = 2">18pt</xsl:when>
2570
- <xsl:when test="$level &gt;= 3">12pt</xsl:when>
2336
+ <xsl:when test="$level = 1">26pt</xsl:when> <!-- 18pt -->
2337
+ <xsl:when test="$level = 2">28pt</xsl:when> <!-- 20pt -->
2338
+ <xsl:when test="$level &gt;= 3">18pt</xsl:when> <!-- 12pt -->
2571
2339
  <xsl:otherwise>0mm</xsl:otherwise>
2572
2340
  </xsl:choose>
2573
2341
  </xsl:otherwise>
@@ -2575,6 +2343,9 @@
2575
2343
  </xsl:template>
2576
2344
 
2577
2345
  <xsl:template name="getTitleMarginBottom">
2346
+ <xsl:variable name="level">
2347
+ <xsl:call-template name="getLevel"/>
2348
+ </xsl:variable>
2578
2349
  <xsl:choose>
2579
2350
  <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
2580
2351
  <xsl:choose>
@@ -2582,7 +2353,14 @@
2582
2353
  <xsl:otherwise>12pt</xsl:otherwise>
2583
2354
  </xsl:choose>
2584
2355
  </xsl:when>
2585
- <xsl:otherwise>12pt</xsl:otherwise>
2356
+ <xsl:otherwise>
2357
+ <xsl:choose>
2358
+ <xsl:when test="$level = 1 and (ancestor::mn:preface or ancestor::mn:introduction or ancestor::mn:acknowledgements)">12pt</xsl:when>
2359
+ <xsl:when test="$level = 1 and not(following-sibling::*[1][self::mn:clause])">12pt</xsl:when>
2360
+ <xsl:when test="$level = 1">24pt</xsl:when>
2361
+ <xsl:otherwise>12pt</xsl:otherwise>
2362
+ </xsl:choose>
2363
+ </xsl:otherwise>
2586
2364
  </xsl:choose>
2587
2365
  </xsl:template>
2588
2366
 
@@ -2613,7 +2391,7 @@
2613
2391
  <xsl:otherwise>
2614
2392
  <xsl:choose>
2615
2393
  <xsl:when test="@type = 'section-title'">12pt</xsl:when>
2616
- <xsl:when test="ancestor::mn:acknowledgements">inherit</xsl:when>
2394
+ <xsl:when test="$level = 1 and ancestor::mn:acknowledgements">11pt</xsl:when>
2617
2395
  <xsl:when test="$level = 1">12pt</xsl:when>
2618
2396
  <xsl:when test="$level = 2">11pt</xsl:when>
2619
2397
  <xsl:otherwise>10pt</xsl:otherwise> <!-- 3rd, 4th, ... levels -->
@@ -2627,7 +2405,8 @@
2627
2405
  <xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">normal</xsl:when>
2628
2406
  <xsl:otherwise>
2629
2407
  <xsl:choose>
2630
- <xsl:when test="@ancestor = 'annex' and $level = 1">normal</xsl:when>
2408
+ <!-- <xsl:when test="@ancestor = 'annex' and $level = 1">normal</xsl:when> -->
2409
+ <xsl:when test="ancestor::mn:annex and $level = 1">normal</xsl:when>
2631
2410
  <xsl:otherwise>bold</xsl:otherwise>
2632
2411
  </xsl:choose>
2633
2412
  </xsl:otherwise>
@@ -2649,7 +2428,7 @@
2649
2428
 
2650
2429
  <xsl:variable name="element-name">
2651
2430
  <xsl:choose>
2652
- <xsl:when test="@inline-header = 'true'">fo:inline</xsl:when>
2431
+ <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
2653
2432
  <xsl:otherwise>fo:block</xsl:otherwise>
2654
2433
  </xsl:choose>
2655
2434
  </xsl:variable>
@@ -2660,6 +2439,8 @@
2660
2439
  <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
2661
2440
  <xsl:attribute name="font-weight"><xsl:value-of select="$font-weight"/></xsl:attribute>
2662
2441
  <xsl:attribute name="space-before"><xsl:value-of select="$margin-top"/></xsl:attribute>
2442
+ <!-- <xsl:attribute name="margin-top"><xsl:value-of select="$margin-top"/></xsl:attribute> -->
2443
+ <xsl:if test="ancestor::mn:introduction"><xsl:attribute name="margin-top"><xsl:value-of select="$margin-top"/></xsl:attribute></xsl:if>
2663
2444
  <xsl:attribute name="margin-bottom"><xsl:value-of select="$margin-bottom"/></xsl:attribute>
2664
2445
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
2665
2446
  <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
@@ -2742,7 +2523,8 @@
2742
2523
  </xsl:otherwise>
2743
2524
  </xsl:choose>
2744
2525
 
2745
- <xsl:if test="($current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report') and preceding-sibling::*[1][self::mn:references[@normative = 'false']]">
2526
+ <!-- <xsl:if test="($current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report') and preceding-sibling::*[1][self::mn:references[@normative = 'false']]"> -->
2527
+ <xsl:if test="($current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report') and ancestor::*[1][self::mn:references[@normative = 'false']]">
2746
2528
  <xsl:call-template name="addBlueBox"/>
2747
2529
  </xsl:if>
2748
2530
 
@@ -2761,7 +2543,7 @@
2761
2543
  </xsl:template>
2762
2544
 
2763
2545
  <!-- add blue box after first break in Annex title -->
2764
- <xsl:template match="mn:br[ancestor::mn:fmt-title[preceding-sibling::*[1][self::mn:annex]]]" priority="2">
2546
+ <xsl:template match="mn:br[ancestor::mn:fmt-title[parent::mn:annex]]" priority="2">
2765
2547
  <xsl:choose>
2766
2548
  <xsl:when test="($current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report') ">
2767
2549
  <xsl:if test="not(preceding-sibling::mn:br)">
@@ -2785,8 +2567,10 @@
2785
2567
  <fo:block>@ancestor=<xsl:value-of select="@ancestor"/></fo:block> -->
2786
2568
  <xsl:variable name="font-size">
2787
2569
  <xsl:choose>
2788
- <xsl:when test="@ancestor = 'sections' and $level = '2'">11pt</xsl:when>
2789
- <xsl:when test="@ancestor = 'sections' and $level &gt; 2">11pt</xsl:when>
2570
+ <!-- <xsl:when test="@ancestor = 'sections' and $level = '2'">11pt</xsl:when>
2571
+ <xsl:when test="@ancestor = 'sections' and $level &gt; 2">11pt</xsl:when> -->
2572
+ <xsl:when test="$level = '2'">11pt</xsl:when>
2573
+ <xsl:when test="$level &gt; 2">11pt</xsl:when>
2790
2574
  <xsl:otherwise>11.5pt</xsl:otherwise>
2791
2575
  </xsl:choose>
2792
2576
  </xsl:variable>
@@ -2799,12 +2583,14 @@
2799
2583
  </xsl:variable>
2800
2584
 
2801
2585
  <fo:block margin-bottom="16pt">
2802
- <xsl:if test="@ancestor = 'sections' and $level &gt; 2">
2586
+ <!-- <xsl:if test="@ancestor = 'sections' and $level &gt; 2"> -->
2587
+ <xsl:if test="$level &gt; 2">
2803
2588
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2804
2589
  </xsl:if>
2805
2590
  <xsl:copy-of select="@id"/>
2806
2591
  <fo:block font-size="{$font-size}" font-weight="bold" margin-bottom="6pt" keep-with-next="always" role="H{$level}">
2807
- <xsl:if test="@ancestor = 'sections' and $level &gt; 2">
2592
+ <!-- <xsl:if test="@ancestor = 'sections' and $level &gt; 2"> -->
2593
+ <xsl:if test="$level &gt; 2">
2808
2594
  <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
2809
2595
  </xsl:if>
2810
2596
  <!-- term/name -->
@@ -2855,11 +2641,11 @@
2855
2641
 
2856
2642
  <xsl:choose>
2857
2643
 
2858
- <xsl:when test="preceding-sibling::*[1][self::mn:fmt-title]/@inline-header = 'true' and $inline-header = 'false'"/> <!-- paragraph displayed in title template -->
2644
+ <xsl:when test="preceding-sibling::*[1][self::mn:fmt-title]/../@inline-header = 'true' and $inline-header = 'false'"/> <!-- paragraph displayed in title template -->
2859
2645
 
2860
2646
  <xsl:otherwise>
2861
2647
 
2862
- <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
2648
+ <!-- <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/> -->
2863
2649
  <xsl:variable name="element-name">fo:block</xsl:variable>
2864
2650
  <!-- <xsl:choose>
2865
2651
  <xsl:when test="$inline = 'true'">fo:inline</xsl:when> -->
@@ -3070,7 +2856,7 @@
3070
2856
  <xsl:value-of select="normalize-space()"/>
3071
2857
  </xsl:template>
3072
2858
 
3073
- <xsl:template match="mn:bibitem[preceding-sibling::mn:references[1][not(@normative='true')]]" priority="3">
2859
+ <xsl:template match="mn:bibitem[ancestor::mn:references[1][not(@normative='true')]]" priority="3">
3074
2860
  <xsl:call-template name="bibitem_non_normative"/>
3075
2861
  </xsl:template>
3076
2862
 
@@ -3078,7 +2864,9 @@
3078
2864
  <!-- Index processing -->
3079
2865
  <!-- =================== -->
3080
2866
 
3081
- <xsl:template match="mn:indexsect"/>
2867
+ <xsl:template match="mn:indexsect">
2868
+ <xsl:apply-templates select="." mode="index"/>
2869
+ </xsl:template>
3082
2870
  <xsl:template match="mn:indexsect" mode="index">
3083
2871
  <fo:block id="{@id}" span="all">
3084
2872
  <xsl:apply-templates select="mn:title"/>
@@ -3190,9 +2978,7 @@
3190
2978
  </xsl:template>
3191
2979
 
3192
2980
  <xsl:template name="insertHeaderFooter">
3193
- <xsl:param name="doctype"/>
3194
2981
  <xsl:param name="document_id"/>
3195
- <xsl:param name="title_prefix"/>
3196
2982
  <xsl:param name="title"/>
3197
2983
 
3198
2984
  <xsl:param name="copyright_year"/>
@@ -3304,38 +3090,59 @@
3304
3090
  </xsl:choose>
3305
3091
  </xsl:variable>
3306
3092
 
3093
+ <xsl:if test="$hideHeader = 'false'">
3094
+ <xsl:call-template name="insertHeader">
3095
+ <xsl:with-param name="orientation" select="$orientation"/>
3096
+ <xsl:with-param name="header" select="$header"/>
3097
+ </xsl:call-template>
3098
+ </xsl:if>
3099
+
3100
+ <xsl:if test="$hideFooter = 'false'">
3101
+ <xsl:call-template name="insertFooter">
3102
+ <xsl:with-param name="orientation" select="$orientation"/>
3103
+ <xsl:with-param name="footer" select="$footer"/>
3104
+ </xsl:call-template>
3105
+ </xsl:if>
3106
+ </xsl:template>
3107
+
3108
+ <xsl:template name="insertHeader">
3109
+ <xsl:param name="orientation"/>
3110
+ <xsl:param name="header"/>
3307
3111
  <xsl:choose>
3308
3112
  <xsl:when test="$orientation = 'landscape'">
3309
- <xsl:if test="$hideHeader = 'false'">
3310
- <fo:static-content flow-name="right-region-landscape" role="artifact">
3311
- <fo:block-container reference-orientation="270" margin-left="13mm">
3312
- <xsl:copy-of select="$header"/>
3313
- </fo:block-container>
3314
- </fo:static-content>
3315
- </xsl:if>
3316
- <xsl:if test="$hideFooter = 'false'">
3317
- <fo:static-content flow-name="left-region-landspace" role="artifact">
3318
- <fo:block-container reference-orientation="270" margin-left="13mm">
3319
- <xsl:copy-of select="$footer"/>
3320
- </fo:block-container>
3321
- </fo:static-content>
3322
- </xsl:if>
3113
+ <fo:static-content flow-name="right-region-landscape" role="artifact">
3114
+ <fo:block-container reference-orientation="270" margin-left="13mm">
3115
+ <xsl:copy-of select="$header"/>
3116
+ </fo:block-container>
3117
+ </fo:static-content>
3323
3118
  </xsl:when>
3324
3119
  <xsl:otherwise>
3325
- <xsl:if test="$hideHeader = 'false'">
3326
- <fo:static-content flow-name="header" role="artifact">
3327
- <fo:block-container margin-top="12.7mm">
3328
- <xsl:copy-of select="$header"/>
3329
- </fo:block-container>
3330
- </fo:static-content>
3331
- </xsl:if>
3332
- <xsl:if test="$hideFooter = 'false'">
3333
- <fo:static-content flow-name="footer" role="artifact">
3334
- <fo:block-container display-align="after" height="100%">
3335
- <xsl:copy-of select="$footer"/>
3336
- </fo:block-container>
3337
- </fo:static-content>
3338
- </xsl:if>
3120
+ <fo:static-content flow-name="header" role="artifact">
3121
+ <fo:block-container margin-top="12.7mm">
3122
+ <xsl:copy-of select="$header"/>
3123
+ </fo:block-container>
3124
+ </fo:static-content>
3125
+ </xsl:otherwise>
3126
+ </xsl:choose>
3127
+ </xsl:template>
3128
+
3129
+ <xsl:template name="insertFooter">
3130
+ <xsl:param name="orientation"/>
3131
+ <xsl:param name="footer"/>
3132
+ <xsl:choose>
3133
+ <xsl:when test="$orientation = 'landscape'">
3134
+ <fo:static-content flow-name="left-region-landspace" role="artifact">
3135
+ <fo:block-container reference-orientation="270" margin-left="13mm">
3136
+ <xsl:copy-of select="$footer"/>
3137
+ </fo:block-container>
3138
+ </fo:static-content>
3139
+ </xsl:when>
3140
+ <xsl:otherwise>
3141
+ <fo:static-content flow-name="footer" role="artifact">
3142
+ <fo:block-container display-align="after" height="100%">
3143
+ <xsl:copy-of select="$footer"/>
3144
+ </fo:block-container>
3145
+ </fo:static-content>
3339
3146
  </xsl:otherwise>
3340
3147
  </xsl:choose>
3341
3148
  </xsl:template>
@@ -3499,7 +3306,6 @@
3499
3306
  <xsl:param name="enabler"/>
3500
3307
  <xsl:param name="standard_number"/>
3501
3308
  <xsl:param name="history"/>
3502
- <!-- <xsl:param name="standard_title_prefix" /> -->
3503
3309
  <xsl:param name="cutoff_date"/>
3504
3310
  <xsl:param name="expiration_date"/>
3505
3311
 
@@ -4285,6 +4091,7 @@
4285
4091
  <xsl:variable name="en_dash">–</xsl:variable>
4286
4092
  <xsl:variable name="em_dash">—</xsl:variable>
4287
4093
  <xsl:variable name="nonbreak_space_em_dash_space"> — </xsl:variable>
4094
+ <xsl:variable name="nonbreak_space_em_dash"> —</xsl:variable>
4288
4095
  <xsl:variable name="cr">&#13;</xsl:variable>
4289
4096
  <xsl:variable name="lf">
4290
4097
  </xsl:variable>
@@ -4828,6 +4635,7 @@
4828
4635
  <xsl:template match="mn:title[following-sibling::*[1][self::mn:fmt-title]]" mode="update_xml_step1"/>
4829
4636
  <xsl:template match="mn:name[following-sibling::*[1][self::mn:fmt-name]]" mode="update_xml_step1"/>
4830
4637
  <xsl:template match="mn:section-title[following-sibling::*[1][self::mn:p][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
4638
+ <xsl:template match="mn:floating-title[following-sibling::*[1][self::mn:p][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
4831
4639
  <!-- <xsl:template match="mn:preferred[following-sibling::*[not(local-name() = 'preferred')][1][local-name() = 'fmt-preferred']]" mode="update_xml_step1"/> -->
4832
4640
  <xsl:template match="mn:preferred" mode="update_xml_step1"/>
4833
4641
  <!-- <xsl:template match="mn:admitted[following-sibling::*[not(local-name() = 'admitted')][1][local-name() = 'fmt-admitted']]" mode="update_xml_step1"/> -->
@@ -4842,10 +4650,10 @@
4842
4650
 
4843
4651
  <xsl:template match="mn:term[@unnumbered = 'true'][not(.//*[starts-with(local-name(), 'fmt-')])]" mode="update_xml_step1"/>
4844
4652
 
4845
- <xsl:template match="mn:p[@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][self::mn:section-title]]" mode="update_xml_step1">
4653
+ <xsl:template match="mn:p[@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][self::mn:section-title or self::mn:floating-title]]" mode="update_xml_step1">
4846
4654
  <xsl:copy>
4847
4655
  <xsl:apply-templates select="@*" mode="update_xml_step1"/>
4848
- <xsl:copy-of select="preceding-sibling::*[1][self::mn:section-title]/@depth"/>
4656
+ <xsl:copy-of select="preceding-sibling::*[1][self::mn:section-title or self::mn:floating-title]/@depth"/>
4849
4657
  <xsl:apply-templates select="node()" mode="update_xml_step1"/>
4850
4658
  </xsl:copy>
4851
4659
  </xsl:template>
@@ -5823,7 +5631,6 @@
5823
5631
  </xsl:attribute-set> <!-- feedback-statement-title-style -->
5824
5632
 
5825
5633
  <xsl:template name="refine_feedback-statement-title-style">
5826
-
5827
5634
  </xsl:template>
5828
5635
 
5829
5636
  <xsl:attribute-set name="feedback-statement-p-style">
@@ -6090,6 +5897,12 @@
6090
5897
  <xsl:template name="refine_sourcecode-style">
6091
5898
  </xsl:template> <!-- refine_sourcecode-style -->
6092
5899
 
5900
+ <xsl:attribute-set name="sourcecode-number-style">
5901
+ </xsl:attribute-set>
5902
+
5903
+ <xsl:template name="refine_sourcecode-number-style">
5904
+ </xsl:template>
5905
+
6093
5906
  <xsl:attribute-set name="sourcecode-name-style">
6094
5907
  <xsl:attribute name="font-size">11pt</xsl:attribute>
6095
5908
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -7477,6 +7290,12 @@
7477
7290
  <xsl:template name="refine_term-name-style">
7478
7291
  </xsl:template>
7479
7292
 
7293
+ <xsl:attribute-set name="preferred-style">
7294
+ </xsl:attribute-set> <!-- preferred-style -->
7295
+
7296
+ <xsl:template name="refine_preferred-style">
7297
+ </xsl:template>
7298
+
7480
7299
  <xsl:attribute-set name="preferred-block-style">
7481
7300
  </xsl:attribute-set> <!-- preferred-block-style -->
7482
7301
 
@@ -8135,6 +7954,12 @@
8135
7954
  <xsl:call-template name="setBordersTableArray"/>
8136
7955
  </xsl:template> <!-- refine_table-style -->
8137
7956
 
7957
+ <xsl:attribute-set name="table-number-style">
7958
+ </xsl:attribute-set>
7959
+
7960
+ <xsl:template name="refine_table-number-style">
7961
+ </xsl:template>
7962
+
8138
7963
  <xsl:attribute-set name="table-name-style">
8139
7964
  <xsl:attribute name="role">Caption</xsl:attribute>
8140
7965
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
@@ -11640,15 +11465,22 @@
11640
11465
  </xsl:attribute-set> <!-- quote-style -->
11641
11466
 
11642
11467
  <xsl:template name="refine_quote-style">
11643
- </xsl:template>
11468
+ </xsl:template> <!-- refine_quote-style -->
11644
11469
 
11645
11470
  <xsl:attribute-set name="quote-source-style">
11646
11471
  <xsl:attribute name="text-align">right</xsl:attribute>
11647
- </xsl:attribute-set>
11472
+ </xsl:attribute-set> <!-- quote-source-style -->
11648
11473
 
11649
11474
  <xsl:template name="refine_quote-source-style">
11650
11475
  </xsl:template>
11651
11476
 
11477
+ <xsl:attribute-set name="source-style">
11478
+ </xsl:attribute-set> <!-- source-style -->
11479
+
11480
+ <xsl:template name="refine_source-style">
11481
+
11482
+ </xsl:template> <!-- refine_source-style -->
11483
+
11652
11484
  <!-- ====== -->
11653
11485
  <!-- quote -->
11654
11486
  <!-- source -->
@@ -11696,7 +11528,9 @@
11696
11528
  </xsl:if>
11697
11529
  <xsl:choose>
11698
11530
  <xsl:when test="not(parent::quote)">
11699
- <fo:block>
11531
+ <fo:block xsl:use-attribute-sets="source-style">
11532
+ <xsl:call-template name="refine_source-style"/>
11533
+
11700
11534
  <xsl:call-template name="insert_basic_link">
11701
11535
  <xsl:with-param name="element">
11702
11536
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
@@ -11743,6 +11577,12 @@
11743
11577
  <xsl:template name="refine_figure-style">
11744
11578
  </xsl:template>
11745
11579
 
11580
+ <xsl:attribute-set name="figure-number-style">
11581
+ </xsl:attribute-set>
11582
+
11583
+ <xsl:template name="refine_figure-number-style">
11584
+ </xsl:template>
11585
+
11746
11586
  <xsl:attribute-set name="figure-name-style">
11747
11587
  <xsl:attribute name="role">Caption</xsl:attribute>
11748
11588
  <xsl:attribute name="font-family">Arial</xsl:attribute>
@@ -13841,7 +13681,7 @@
13841
13681
 
13842
13682
  <xsl:template name="refine_fn-reference-style">
13843
13683
  <!-- https://github.com/metanorma/metanorma-ieee/issues/595 -->
13844
- <xsl:if test="preceding-sibling::node()[normalize-space() != ''][1][self::mn:fn]">,</xsl:if>
13684
+ <xsl:if test="preceding-sibling::node()[normalize-space() != ''][1][self::mn:fn]">, </xsl:if><!-- <xsl:if test="$namespace = 'bsi' or $namespace = 'pas'"></xsl:if> -->
13845
13685
  </xsl:template> <!-- refine_fn-reference-style -->
13846
13686
 
13847
13687
  <xsl:attribute-set name="fn-style">
@@ -13852,6 +13692,7 @@
13852
13692
  </xsl:template>
13853
13693
 
13854
13694
  <xsl:attribute-set name="fn-num-style">
13695
+ <xsl:attribute name="role">Reference</xsl:attribute>
13855
13696
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
13856
13697
  <xsl:attribute name="font-size">65%</xsl:attribute>
13857
13698
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -13933,33 +13774,16 @@
13933
13774
  <xsl:variable name="ref_id" select="@target"/>
13934
13775
 
13935
13776
  <xsl:variable name="footnote_inline">
13936
- <fo:inline role="Reference">
13937
-
13938
- <xsl:variable name="fn_styles">
13939
- <xsl:choose>
13940
- <xsl:when test="ancestor::mn:bibitem">
13941
- <fn_styles xsl:use-attribute-sets="bibitem-note-fn-style">
13942
- <xsl:call-template name="refine_bibitem-note-fn-style"/>
13943
- </fn_styles>
13944
- </xsl:when>
13945
- <xsl:otherwise>
13946
- <fn_styles xsl:use-attribute-sets="fn-num-style">
13947
- <xsl:call-template name="refine_fn-num-style"/>
13948
- </fn_styles>
13949
- </xsl:otherwise>
13950
- </xsl:choose>
13951
- </xsl:variable>
13777
+ <fo:inline xsl:use-attribute-sets="fn-num-style">
13952
13778
 
13953
- <xsl:for-each select="xalan:nodeset($fn_styles)/fn_styles/@*">
13954
- <xsl:copy-of select="."/>
13955
- </xsl:for-each>
13779
+ <xsl:call-template name="refine_fn-num-style"/>
13956
13780
 
13957
13781
  <!-- https://github.com/metanorma/metanorma-ieee/issues/595 -->
13958
13782
  <!-- <xsl:if test="following-sibling::node()[normalize-space() != ''][1][self::mn:fn]">
13959
13783
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
13960
13784
  </xsl:if> -->
13961
13785
 
13962
- <xsl:if test="preceding-sibling::node()[normalize-space() != ''][1][self::mn:fn]">,</xsl:if>
13786
+ <xsl:if test="preceding-sibling::node()[normalize-space() != ''][1][self::mn:fn]">, </xsl:if>
13963
13787
 
13964
13788
  <xsl:call-template name="insert_basic_link">
13965
13789
  <xsl:with-param name="element">
@@ -14309,33 +14133,6 @@
14309
14133
  <xsl:template name="refine_bibitem-non-normative-list-body-style">
14310
14134
  </xsl:template>
14311
14135
 
14312
- <!-- footnote reference number for bibitem, in the text -->
14313
- <xsl:attribute-set name="bibitem-note-fn-style">
14314
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
14315
- <xsl:attribute name="font-size">65%</xsl:attribute>
14316
- <xsl:attribute name="font-size">8pt</xsl:attribute>
14317
- <xsl:attribute name="baseline-shift">30%</xsl:attribute>
14318
- </xsl:attribute-set> <!-- bibitem-note-fn-style -->
14319
-
14320
- <xsl:template name="refine_bibitem-note-fn-style">
14321
- </xsl:template>
14322
-
14323
- <!-- footnote number on the page bottom -->
14324
- <xsl:attribute-set name="bibitem-note-fn-number-style">
14325
- <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
14326
- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
14327
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
14328
- </xsl:attribute-set> <!-- bibitem-note-fn-number-style -->
14329
-
14330
- <!-- footnote body (text) on the page bottom -->
14331
- <xsl:attribute-set name="bibitem-note-fn-body-style">
14332
- <xsl:attribute name="font-size">10pt</xsl:attribute>
14333
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
14334
- <xsl:attribute name="start-indent">0pt</xsl:attribute>
14335
- <xsl:attribute name="font-size">8pt</xsl:attribute>
14336
- <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
14337
- </xsl:attribute-set> <!-- bibitem-note-fn-body-style -->
14338
-
14339
14136
  <xsl:attribute-set name="references-non-normative-style">
14340
14137
  </xsl:attribute-set> <!-- references-non-normative-style -->
14341
14138
 
@@ -14414,7 +14211,7 @@
14414
14211
 
14415
14212
  <fo:list-item>
14416
14213
  <fo:list-item-label end-indent="label-end()">
14417
- <fo:block role="SKIP">
14214
+ <fo:block role="SKIP" id="__internal_layout__bibitem_{@id}_{generate-id()}">
14418
14215
  <fo:inline role="SKIP">
14419
14216
  <xsl:if test="($current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report')">
14420
14217
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
@@ -15124,7 +14921,7 @@
15124
14921
  <!-- List of Figures, Tables -->
15125
14922
  <xsl:attribute-set name="toc-listof-title-style">
15126
14923
  <xsl:attribute name="role">TOCI</xsl:attribute>
15127
- <xsl:attribute name="space-before">12pt</xsl:attribute>
14924
+ <xsl:attribute name="space-before">18pt</xsl:attribute>
15128
14925
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
15129
14926
  </xsl:attribute-set>
15130
14927
 
@@ -16358,7 +16155,7 @@
16358
16155
  <xsl:attribute name="font-size">23pt</xsl:attribute>
16359
16156
  <xsl:attribute name="font-weight">bold</xsl:attribute>
16360
16157
  <xsl:attribute name="margin-top">84pt</xsl:attribute>
16361
- <xsl:attribute name="margin-bottom">40pt</xsl:attribute>
16158
+ <xsl:attribute name="margin-bottom">52pt</xsl:attribute>
16362
16159
  <xsl:attribute name="line-height">1.1</xsl:attribute>
16363
16160
  </xsl:attribute-set>
16364
16161
 
@@ -16706,10 +16503,28 @@
16706
16503
  </xsl:choose>
16707
16504
  </xsl:template>
16708
16505
 
16506
+ <xsl:attribute-set name="clause-style">
16507
+
16508
+ </xsl:attribute-set>
16509
+
16510
+ <xsl:template name="refine_clause-style">
16511
+ <!-- commented for https://github.com/metanorma/metanorma-ribose/issues/421 -->
16512
+ <!-- <xsl:if test="$namespace = 'rsd'">
16513
+ <xsl:variable name="level">
16514
+ <xsl:call-template name="getLevel">
16515
+ <xsl:with-param name="depth" select="mn:fmt-title/@depth"/>
16516
+ </xsl:call-template>
16517
+ </xsl:variable>
16518
+ <xsl:if test="$level &gt;= 4">
16519
+ <xsl:attribute name="margin-left">13mm</xsl:attribute>
16520
+ </xsl:if>
16521
+ </xsl:if> -->
16522
+ </xsl:template>
16523
+
16709
16524
  <!-- main sections -->
16710
16525
  <xsl:template match="/*/mn:sections/*" name="sections_node" priority="2">
16711
16526
  <xsl:call-template name="setNamedDestination"/>
16712
- <fo:block>
16527
+ <fo:block role="Sect">
16713
16528
  <xsl:call-template name="setId"/>
16714
16529
 
16715
16530
  <xsl:call-template name="sections_element_style"/>
@@ -16742,6 +16557,14 @@
16742
16557
  </xsl:template>
16743
16558
 
16744
16559
  <xsl:template name="sections_element_style">
16560
+ <xsl:variable name="pos"><xsl:number count="*"/></xsl:variable>
16561
+ <xsl:if test="$pos &gt;= 2">
16562
+ <xsl:attribute name="space-before">
16563
+ <xsl:for-each select="mn:fmt-title[1]">
16564
+ <xsl:call-template name="getTitleMarginTop"/>
16565
+ </xsl:for-each>
16566
+ </xsl:attribute>
16567
+ </xsl:if>
16745
16568
  </xsl:template> <!-- sections_element_style -->
16746
16569
 
16747
16570
  <xsl:template match="//mn:metanorma/mn:preface/*" priority="2" name="preface_node"> <!-- /*/mn:preface/* -->
@@ -16833,6 +16656,10 @@
16833
16656
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
16834
16657
  </xsl:template>
16835
16658
 
16659
+ <!-- for case when update_xml_step1 (common.updatexml.xsl) doesn't apply when $table_if = 'true' -->
16660
+ <xsl:template match="mn:title[following-sibling::*[1][self::mn:fmt-title]]"/>
16661
+ <xsl:template match="mn:name[following-sibling::*[1][self::mn:fmt-name]]"/>
16662
+
16836
16663
  <!-- insert fo:basic-link, if external-destination or internal-destination is non-empty, otherwise insert fo:inline -->
16837
16664
  <xsl:template name="insert_basic_link">
16838
16665
  <xsl:param name="element"/>