metanorma-iho 0.4.3 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,8 +9,7 @@
9
9
 
10
10
 
11
11
 
12
- <!-- <xsl:key name="kfn" match="iho:fn[local-name(..) = 'p' or local-name(..) = 'title']" use="@reference"/> -->
13
- <xsl:key name="kfn" match="iho:fn[local-name(..) = 'p' or ancestor::*[local-name() = 'title']]" use="@reference"/>
12
+ <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
14
13
 
15
14
 
16
15
 
@@ -45,7 +44,7 @@
45
44
  <xsl:template match="/">
46
45
 
47
46
  <xsl:variable name="xslfo">
48
- <fo:root font-family="Arial, Cambria Math" font-size="12pt" xml:lang="{$lang}">
47
+ <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
49
48
  <fo:layout-master-set>
50
49
  <!-- cover page -->
51
50
  <fo:simple-page-master master-name="cover" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
@@ -363,9 +362,6 @@
363
362
  <!-- ============================= -->
364
363
  <!-- CONTENTS -->
365
364
  <!-- ============================= -->
366
- <xsl:template match="node()" mode="contents">
367
- <xsl:apply-templates mode="contents"/>
368
- </xsl:template>
369
365
 
370
366
  <!-- element with title -->
371
367
  <xsl:template match="*[iho:title]" mode="contents">
@@ -377,7 +373,7 @@
377
373
 
378
374
  <xsl:variable name="display">
379
375
  <xsl:choose>
380
- <xsl:when test="$level &lt;= 2">true</xsl:when>
376
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
381
377
  <xsl:otherwise>false</xsl:otherwise>
382
378
  </xsl:choose>
383
379
  </xsl:variable>
@@ -420,8 +416,6 @@
420
416
 
421
417
  </xsl:template>
422
418
 
423
-
424
- <xsl:template match="iho:references/iho:bibitem" mode="contents"/>
425
419
  <!-- ============================= -->
426
420
  <!-- END CONTENTS -->
427
421
  <!-- ============================= -->
@@ -467,7 +461,7 @@
467
461
  </fo:block>
468
462
  </xsl:template>
469
463
 
470
- <xsl:template match="iho:title">
464
+ <xsl:template match="iho:title" name="title">
471
465
 
472
466
  <xsl:variable name="level">
473
467
  <xsl:call-template name="getLevel"/>
@@ -524,7 +518,7 @@
524
518
  <!-- ====== -->
525
519
 
526
520
 
527
- <xsl:template match="iho:p">
521
+ <xsl:template match="iho:p" name="paragraph">
528
522
  <xsl:param name="inline" select="'false'"/>
529
523
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
530
524
  <xsl:variable name="element-name">
@@ -575,61 +569,6 @@
575
569
  </xsl:if>
576
570
  </xsl:template>
577
571
 
578
- <!--
579
- <fn reference="1">
580
- <p id="_8e5cf917-f75a-4a49-b0aa-1714cb6cf954">Formerly denoted as 15 % (m/m).</p>
581
- </fn>
582
- -->
583
-
584
- <xsl:variable name="p_fn">
585
- <!-- <xsl:for-each select="//iho:p/iho:fn[generate-id(.)=generate-id(key('kfn',@reference)[1])]"> -->
586
- <xsl:for-each select="//iho:fn[local-name(..) = 'p' or ancestor::*[local-name() = 'title']][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
587
- <!-- copy unique fn -->
588
- <fn gen_id="{generate-id(.)}">
589
- <xsl:copy-of select="@*"/>
590
- <xsl:copy-of select="node()"/>
591
- </fn>
592
- </xsl:for-each>
593
- </xsl:variable>
594
-
595
- <!-- iho:p/iho:fn -->
596
- <xsl:template match="iho:fn[local-name(..) = 'p' or ancestor::*[local-name() = 'title']]" priority="2">
597
- <xsl:variable name="gen_id" select="generate-id(.)"/>
598
- <xsl:variable name="reference" select="@reference"/>
599
- <xsl:variable name="number">
600
- <!-- <xsl:number level="any" count="iho:p/iho:fn"/> -->
601
- <xsl:value-of select="count(xalan:nodeset($p_fn)//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
602
- </xsl:variable>
603
- <xsl:choose>
604
- <xsl:when test="xalan:nodeset($p_fn)//fn[@gen_id = $gen_id]">
605
- <fo:footnote>
606
- <fo:inline font-size="70%" keep-with-previous.within-line="always" vertical-align="super"> <!-- -->
607
- <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
608
- <!-- <xsl:value-of select="@reference"/> -->
609
- <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
610
- </fo:basic-link>
611
- </fo:inline>
612
- <fo:footnote-body>
613
- <fo:block font-size="10pt" margin-bottom="12pt">
614
- <fo:inline id="footnote_{@reference}_{$number}" font-size="60%" vertical-align="super" keep-with-next.within-line="always" padding-right="1mm"> <!-- font-size="60%" alignment-baseline="hanging" -->
615
- <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
616
- </fo:inline>
617
- <xsl:for-each select="iho:p">
618
- <xsl:apply-templates/>
619
- </xsl:for-each>
620
- </fo:block>
621
- </fo:footnote-body>
622
- </fo:footnote>
623
- </xsl:when>
624
- <xsl:otherwise>
625
- <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
626
- <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
627
- <xsl:value-of select="$number + count(//iho:bibitem/iho:note)"/>
628
- </fo:basic-link>
629
- </fo:inline>
630
- </xsl:otherwise>
631
- </xsl:choose>
632
- </xsl:template>
633
572
 
634
573
  <xsl:template match="iho:p/iho:fn/iho:p">
635
574
  <xsl:apply-templates/>
@@ -648,8 +587,8 @@
648
587
  <xsl:template match="iho:ul//iho:note | iho:ol//iho:note" priority="2"/>
649
588
  <xsl:template match="iho:ul//iho:note | iho:ol//iho:note" mode="process">
650
589
  <fo:block id="{@id}">
651
- <xsl:apply-templates select="iho:name" mode="presentation"/>
652
- <xsl:apply-templates mode="process"/>
590
+ <xsl:apply-templates select="iho:name"/>
591
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
653
592
  </fo:block>
654
593
  </xsl:template>
655
594
  <xsl:template match="iho:ul//iho:note/iho:name | iho:ol//iho:note/iho:name" mode="process" priority="2"/>
@@ -691,21 +630,6 @@
691
630
  </xsl:choose>
692
631
  </xsl:template>
693
632
 
694
-
695
-
696
- <xsl:template match="iho:admonition">
697
- <fo:block-container border="0.5pt solid rgb(79, 129, 189)" color="rgb(79, 129, 189)" margin-left="16mm" margin-right="16mm" margin-bottom="12pt">
698
- <fo:block-container margin-left="0mm" margin-right="0mm" padding="2mm" padding-top="3mm">
699
- <fo:block font-size="11pt" margin-bottom="6pt" font-weight="bold" font-style="italic" text-align="center">
700
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/>
701
- </fo:block>
702
- <fo:block font-style="italic">
703
- <xsl:apply-templates/>
704
- </fo:block>
705
- </fo:block-container>
706
- </fo:block-container>
707
- </xsl:template>
708
-
709
633
 
710
634
  <xsl:template match="iho:formula/iho:stem">
711
635
  <fo:block margin-top="6pt" margin-bottom="12pt" text-align="center">
@@ -714,82 +638,6 @@
714
638
  </xsl:template>
715
639
 
716
640
 
717
-
718
- <xsl:template match="iho:references"><!-- [position() &gt; 1] -->
719
- <fo:block id="{@id}">
720
- <xsl:apply-templates/>
721
- </fo:block>
722
- </xsl:template>
723
-
724
-
725
- <!-- IHO documents:
726
- "[1] S57 edition 3.1: IHO Transfer Standard for Digital Hydrographic Data, International Hydrographic Organization (www.iho.int)”
727
- [{number}] {docID} edition {edition}: {title}, {author/organization}
728
-
729
- Non-IHO documents:
730
- Provide title and publisher -->
731
- <xsl:template match="iho:bibitem">
732
- <fo:list-block margin-bottom="12pt" provisional-distance-between-starts="12mm" line-height="115%">
733
- <fo:list-item>
734
- <fo:list-item-label end-indent="label-end()">
735
- <fo:block>
736
- <fo:inline id="{@id}">
737
- <xsl:number format="[1]"/>
738
- </fo:inline>
739
- </fo:block>
740
- </fo:list-item-label>
741
- <fo:list-item-body start-indent="body-start()">
742
- <fo:block>
743
- <xsl:call-template name="processBibitem"/>
744
- </fo:block>
745
- </fo:list-item-body>
746
- </fo:list-item>
747
- </fo:list-block>
748
- </xsl:template>
749
-
750
- <xsl:template match="iho:bibitem/iho:edition">
751
- <xsl:text> edition </xsl:text>
752
- <xsl:value-of select="."/>
753
- </xsl:template>
754
-
755
- <xsl:template match="iho:bibitem/iho:title">
756
- <fo:inline font-style="italic">
757
- <xsl:apply-templates/>
758
- </fo:inline>
759
- </xsl:template>
760
-
761
- <xsl:template match="iho:bibitem/iho:uri">
762
- <xsl:text> (</xsl:text>
763
- <fo:inline xsl:use-attribute-sets="link-style">
764
- <fo:basic-link external-destination="." fox:alt-text=".">
765
- <xsl:value-of select="."/>
766
- </fo:basic-link>
767
- </fo:inline>
768
- <xsl:text>)</xsl:text>
769
- </xsl:template>
770
-
771
- <xsl:template match="iho:bibitem/iho:note" priority="2">
772
- <fo:footnote>
773
- <xsl:variable name="number">
774
- <xsl:number level="any" count="iho:bibitem/iho:note"/>
775
- </xsl:variable>
776
- <fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
777
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
778
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
779
- </fo:basic-link>
780
- </fo:inline>
781
- <fo:footnote-body>
782
- <fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
783
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
784
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
785
- </fo:inline>
786
- <xsl:apply-templates/>
787
- </fo:block>
788
- </fo:footnote-body>
789
- </fo:footnote>
790
- </xsl:template>
791
-
792
-
793
641
 
794
642
  <xsl:template match="iho:example/iho:p" priority="2">
795
643
  <fo:block-container xsl:use-attribute-sets="example-p-style">
@@ -817,7 +665,7 @@
817
665
  </xsl:variable>
818
666
  <fo:block line-height="1.1" role="H{$levelTerm}">
819
667
  <fo:block font-weight="bold" keep-with-next="always">
820
- <xsl:apply-templates select="ancestor::iho:term[1]/iho:name" mode="presentation"/>
668
+ <xsl:apply-templates select="ancestor::iho:term[1]/iho:name"/>
821
669
  </fo:block>
822
670
  <fo:block font-weight="bold" keep-with-next="always">
823
671
  <xsl:call-template name="setStyle_preferred"/>
@@ -876,7 +724,9 @@
876
724
 
877
725
  <xsl:template name="getListItemFormat">
878
726
  <xsl:choose>
879
- <xsl:when test="local-name(..) = 'ul'">—</xsl:when> <!-- dash -->
727
+ <xsl:when test="local-name(..) = 'ul'">
728
+ <xsl:call-template name="setULLabel"/>
729
+ </xsl:when>
880
730
  <xsl:otherwise> <!-- for ordered lists -->
881
731
  <xsl:choose>
882
732
  <xsl:when test="../@type = 'arabic'">
@@ -969,29 +819,19 @@
969
819
  <xsl:text>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</xsl:text>
970
820
  </xsl:variable>
971
821
 
972
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
973
-
974
- <title-annex lang="en">Annex </title-annex>
975
- <title-annex lang="fr">Annexe </title-annex>
976
-
977
- <title-annex lang="zh">Annex </title-annex>
978
-
979
-
822
+ <xsl:variable name="titles_">
980
823
 
981
824
  <title-edition lang="en">
982
825
 
983
- <xsl:text>Edition </xsl:text>
984
-
985
-
826
+ <xsl:text>Edition </xsl:text>
827
+
986
828
  </title-edition>
987
829
 
988
830
  <title-edition lang="fr">
989
-
990
- <xsl:text>Édition </xsl:text>
991
-
831
+ <xsl:text>Édition </xsl:text>
992
832
  </title-edition>
993
833
 
994
-
834
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
995
835
  <title-toc lang="en">
996
836
 
997
837
  <xsl:text>Contents</xsl:text>
@@ -1000,24 +840,13 @@
1000
840
 
1001
841
  </title-toc>
1002
842
  <title-toc lang="fr">
843
+ <xsl:text>Sommaire</xsl:text>
844
+ </title-toc>
845
+ <title-toc lang="zh">
1003
846
 
1004
- <xsl:text>Sommaire</xsl:text>
1005
-
1006
-
1007
- </title-toc>
1008
-
1009
- <title-toc lang="zh">Contents</title-toc>
1010
-
1011
-
1012
-
1013
- <title-page lang="en">Page</title-page>
1014
- <title-page lang="fr">Page</title-page>
1015
-
1016
- <title-key lang="en">Key</title-key>
1017
- <title-key lang="fr">Légende</title-key>
1018
-
1019
- <title-where lang="en">where</title-where>
1020
- <title-where lang="fr">où</title-where>
847
+ <xsl:text>Contents</xsl:text>
848
+
849
+ </title-toc>
1021
850
 
1022
851
  <title-descriptors lang="en">Descriptors</title-descriptors>
1023
852
 
@@ -1033,32 +862,9 @@
1033
862
  </title-part>
1034
863
  <title-part lang="zh">第 # 部分:</title-part>
1035
864
 
1036
- <title-subpart lang="en">
1037
-
1038
- </title-subpart>
1039
- <title-subpart lang="fr">
1040
-
1041
- </title-subpart>
1042
-
1043
- <title-modified lang="en">modified</title-modified>
1044
- <title-modified lang="fr">modifiée</title-modified>
1045
-
1046
- <title-modified lang="zh">modified</title-modified>
1047
-
1048
-
1049
-
1050
- <title-source lang="en">
1051
-
1052
- <xsl:text>SOURCE</xsl:text>
1053
-
1054
-
1055
- </title-source>
1056
-
1057
- <title-keywords lang="en">Keywords</title-keywords>
865
+ <title-subpart lang="en">Sub-part #</title-subpart>
866
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
1058
867
 
1059
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
1060
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
1061
-
1062
868
  <title-list-tables lang="en">List of Tables</title-list-tables>
1063
869
 
1064
870
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -1067,41 +873,12 @@
1067
873
 
1068
874
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1069
875
 
1070
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
1071
-
1072
- <title-abstract lang="en">Abstract</title-abstract>
1073
-
1074
876
  <title-summary lang="en">Summary</title-summary>
1075
877
 
1076
- <title-in lang="en">in </title-in>
1077
-
1078
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
1079
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
1080
-
1081
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
1082
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
1083
-
1084
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
1085
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
1086
-
1087
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
1088
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
1089
-
1090
- <title-obligation-normative lang="en">normative</title-obligation-normative>
1091
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
1092
-
1093
- <title-caution lang="en">CAUTION</title-caution>
1094
- <title-caution lang="zh">注意</title-caution>
1095
-
1096
- <title-warning lang="en">WARNING</title-warning>
1097
- <title-warning lang="zh">警告</title-warning>
1098
-
1099
- <title-amendment lang="en">AMENDMENT</title-amendment>
1100
-
1101
878
  <title-continued lang="en">(continued)</title-continued>
1102
879
  <title-continued lang="fr">(continué)</title-continued>
1103
880
 
1104
- </xsl:variable><xsl:variable name="bibdata">
881
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
1105
882
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
1106
883
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
1107
884
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -1130,6 +907,23 @@
1130
907
  </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
1131
908
 
1132
909
 
910
+
911
+
912
+
913
+
914
+
915
+ <xsl:attribute name="font-family">Arial, Cambria Math</xsl:attribute>
916
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
1133
927
  </xsl:attribute-set><xsl:attribute-set name="link-style">
1134
928
 
1135
929
 
@@ -1139,6 +933,9 @@
1139
933
 
1140
934
 
1141
935
 
936
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
937
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
938
+
1142
939
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1143
940
  <xsl:attribute name="white-space">pre</xsl:attribute>
1144
941
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -1148,8 +945,6 @@
1148
945
 
1149
946
 
1150
947
 
1151
-
1152
-
1153
948
 
1154
949
 
1155
950
  <xsl:attribute name="font-family">Fira Code</xsl:attribute>
@@ -1157,6 +952,15 @@
1157
952
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1158
953
  <xsl:attribute name="line-height">113%</xsl:attribute>
1159
954
 
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
1160
964
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1161
965
 
1162
966
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -1202,6 +1006,7 @@
1202
1006
 
1203
1007
 
1204
1008
 
1009
+
1205
1010
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1206
1011
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
1207
1012
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1218,7 +1023,9 @@
1218
1023
 
1219
1024
 
1220
1025
 
1026
+
1221
1027
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1028
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1222
1029
 
1223
1030
 
1224
1031
 
@@ -1244,6 +1051,7 @@
1244
1051
 
1245
1052
 
1246
1053
 
1054
+
1247
1055
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1248
1056
  <xsl:attribute name="margin-left">12.7mm</xsl:attribute>
1249
1057
 
@@ -1267,108 +1075,108 @@
1267
1075
 
1268
1076
  </xsl:attribute-set><xsl:variable name="table-border_">
1269
1077
 
1270
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
1271
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1272
-
1078
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1079
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1080
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1273
1081
 
1274
1082
 
1275
1083
 
1276
1084
 
1277
- <xsl:attribute name="text-align">center</xsl:attribute>
1278
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1279
- <xsl:attribute name="font-weight">normal</xsl:attribute>
1280
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1281
1085
 
1282
-
1283
1086
 
1284
1087
 
1285
1088
 
1286
-
1089
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
1287
1090
 
1288
1091
 
1289
1092
 
1290
1093
 
1291
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1292
1094
 
1293
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1294
1095
 
1295
1096
 
1296
1097
 
1297
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1298
1098
 
1299
1099
 
1300
1100
 
1301
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
1101
+
1302
1102
 
1303
1103
 
1104
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
1105
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1106
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
1107
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1108
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1304
1109
 
1305
- <xsl:attribute name="color">blue</xsl:attribute>
1306
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1307
1110
 
1308
1111
 
1309
1112
 
1310
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
1311
1113
 
1312
1114
 
1313
1115
 
1314
1116
 
1117
+
1315
1118
 
1316
1119
 
1317
- </xsl:attribute-set><xsl:attribute-set name="note-style">
1318
1120
 
1319
1121
 
1320
1122
 
1321
1123
 
1322
-
1323
1124
 
1324
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1325
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
1326
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1327
- <xsl:attribute name="text-align">justify</xsl:attribute>
1328
1125
 
1329
1126
 
1330
1127
 
1331
1128
 
1332
1129
 
1333
1130
 
1131
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1132
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1133
+
1334
1134
 
1335
1135
 
1336
1136
 
1337
1137
 
1138
+ <xsl:attribute name="text-align">center</xsl:attribute>
1139
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1140
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1141
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1338
1142
 
1339
- </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1143
+
1340
1144
 
1341
1145
 
1342
1146
 
1147
+
1343
1148
 
1344
1149
 
1345
1150
 
1346
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1347
- <xsl:attribute name="padding-right">2mm</xsl:attribute>
1348
1151
 
1152
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
1153
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
1349
1154
 
1350
1155
 
1351
1156
 
1352
1157
 
1158
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
1159
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1353
1160
 
1354
1161
 
1355
1162
 
1356
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1357
1163
 
1358
1164
 
1359
1165
 
1360
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1361
- <xsl:attribute name="padding-right">3mm</xsl:attribute>
1362
1166
 
1167
+
1363
1168
 
1364
- </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1169
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1365
1170
 
1366
1171
 
1367
1172
 
1368
-
1369
-
1370
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
1371
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1173
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1174
+
1175
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
1176
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1177
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1178
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1179
+ <xsl:attribute name="display-align">center</xsl:attribute>
1372
1180
 
1373
1181
 
1374
1182
 
@@ -1378,80 +1186,69 @@
1378
1186
 
1379
1187
 
1380
1188
 
1381
- </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1382
1189
 
1383
1190
 
1384
1191
 
1385
1192
 
1386
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1387
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
1388
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1389
- <xsl:attribute name="text-align">justify</xsl:attribute>
1193
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
1194
+ <xsl:attribute name="display-align">center</xsl:attribute>
1195
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1196
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1390
1197
 
1391
1198
 
1392
1199
 
1393
1200
 
1394
- </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1395
1201
 
1396
-
1397
1202
 
1203
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1398
1204
 
1399
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1400
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
1401
1205
 
1402
1206
 
1403
1207
 
1404
1208
 
1405
-
1406
- <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
1407
- <xsl:attribute name="margin-right">14mm</xsl:attribute>
1408
1209
 
1409
1210
 
1410
1211
 
1411
- </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1212
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1213
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1214
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1215
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1216
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1412
1217
 
1413
1218
 
1414
- <xsl:attribute name="text-align">right</xsl:attribute>
1415
-
1416
-
1417
- </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1418
1219
 
1419
1220
 
1420
1221
 
1421
1222
 
1422
1223
 
1423
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1224
+
1424
1225
 
1425
1226
 
1426
1227
 
1427
- </xsl:attribute-set><xsl:attribute-set name="origin-style">
1228
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
1229
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1230
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1428
1231
 
1429
1232
 
1430
- <xsl:attribute name="color">blue</xsl:attribute>
1431
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1432
1233
 
1433
1234
 
1434
1235
 
1435
- </xsl:attribute-set><xsl:attribute-set name="term-style">
1436
1236
 
1437
- <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
1237
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
1438
1238
 
1439
- </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1440
1239
 
1441
1240
 
1442
-
1241
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1242
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1443
1243
 
1444
1244
 
1445
1245
 
1446
1246
 
1447
1247
 
1448
1248
 
1449
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1450
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1451
- <xsl:attribute name="text-align">center</xsl:attribute>
1452
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
1453
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1454
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1249
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1250
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1251
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1455
1252
 
1456
1253
 
1457
1254
 
@@ -1459,29 +1256,244 @@
1459
1256
 
1460
1257
 
1461
1258
 
1462
-
1259
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1463
1260
 
1464
1261
 
1465
1262
 
1466
-
1467
- </xsl:attribute-set><xsl:attribute-set name="formula-style">
1468
1263
 
1469
- </xsl:attribute-set><xsl:attribute-set name="image-style">
1470
- <xsl:attribute name="text-align">center</xsl:attribute>
1471
1264
 
1472
1265
 
1266
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
1267
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1268
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1473
1269
 
1474
1270
 
1271
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
1475
1272
 
1273
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
1274
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1275
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1276
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1476
1277
 
1477
- </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1278
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
1279
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1280
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1478
1281
 
1479
- </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1282
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
1480
1283
 
1481
1284
 
1482
- <xsl:attribute name="width">100%</xsl:attribute>
1483
- <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1484
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1285
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
1286
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1287
+
1288
+
1289
+
1290
+
1291
+
1292
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1293
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1301
+
1302
+
1303
+
1304
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1305
+
1306
+
1307
+
1308
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
1309
+
1310
+
1311
+
1312
+ <xsl:attribute name="color">blue</xsl:attribute>
1313
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1314
+
1315
+
1316
+
1317
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1332
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
1333
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1334
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1354
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1364
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
1365
+
1366
+
1367
+
1368
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1369
+
1370
+
1371
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1372
+
1373
+
1374
+
1375
+
1376
+
1377
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
1378
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1389
+
1390
+
1391
+
1392
+
1393
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1394
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
1395
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1396
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1397
+
1398
+
1399
+
1400
+
1401
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1402
+
1403
+
1404
+
1405
+
1406
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1407
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+ <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
1414
+ <xsl:attribute name="margin-right">14mm</xsl:attribute>
1415
+
1416
+
1417
+
1418
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1419
+
1420
+
1421
+ <xsl:attribute name="text-align">right</xsl:attribute>
1422
+
1423
+
1424
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1425
+
1426
+
1427
+
1428
+
1429
+
1430
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1431
+
1432
+
1433
+
1434
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
1435
+
1436
+
1437
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
1438
+
1439
+
1440
+ <xsl:attribute name="color">blue</xsl:attribute>
1441
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1442
+
1443
+
1444
+
1445
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
1446
+
1447
+ <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
1448
+
1449
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
1450
+
1451
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1452
+
1453
+
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1462
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1463
+ <xsl:attribute name="text-align">center</xsl:attribute>
1464
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1465
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1466
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
1480
+
1481
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
1482
+ <xsl:attribute name="text-align">center</xsl:attribute>
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1490
+
1491
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1492
+
1493
+
1494
+ <xsl:attribute name="width">100%</xsl:attribute>
1495
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1496
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1485
1497
 
1486
1498
 
1487
1499
 
@@ -1490,77 +1502,339 @@
1490
1502
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1491
1503
 
1492
1504
 
1493
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1505
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
1506
+
1507
+
1508
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1509
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1510
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1511
+ <xsl:attribute name="text-align">center</xsl:attribute>
1512
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1513
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1514
+
1515
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
1516
+
1517
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1518
+
1519
+
1520
+
1521
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1522
+
1523
+
1524
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
1525
+
1526
+
1527
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1528
+
1529
+
1530
+ </xsl:attribute-set><xsl:variable name="color-added-text">
1531
+ <xsl:text>rgb(0, 255, 0)</xsl:text>
1532
+ </xsl:variable><xsl:attribute-set name="add-style">
1533
+ <xsl:attribute name="color">red</xsl:attribute>
1534
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1535
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
1536
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
1537
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1538
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
1539
+ </xsl:attribute-set><xsl:variable name="color-deleted-text">
1540
+ <xsl:text>red</xsl:text>
1541
+ </xsl:variable><xsl:attribute-set name="del-style">
1542
+ <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
1543
+ <xsl:attribute name="text-decoration">line-through</xsl:attribute>
1544
+ </xsl:attribute-set><xsl:attribute-set name="mathml-style">
1545
+ <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1546
+
1547
+
1548
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
1549
+
1550
+ </xsl:attribute-set><xsl:attribute-set name="toc-style">
1551
+ <xsl:attribute name="line-height">135%</xsl:attribute>
1552
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
1553
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1554
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
1564
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1565
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1566
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+ <xsl:attribute name="font-size">70%</xsl:attribute>
1575
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
1587
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1588
+ <xsl:attribute name="font-style">normal</xsl:attribute>
1589
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1590
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1599
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
1613
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+ <xsl:attribute name="font-size">60%</xsl:attribute>
1622
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1623
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+
1635
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+ <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
1643
+ <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
1644
+ <xsl:attribute name="margin-left">16mm</xsl:attribute>
1645
+ <xsl:attribute name="margin-right">16mm</xsl:attribute>
1646
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1657
+
1658
+
1659
+
1660
+
1661
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1662
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1663
+ <xsl:attribute name="padding">2mm</xsl:attribute>
1664
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
1673
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1680
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1681
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1682
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1683
+ <xsl:attribute name="text-align">center</xsl:attribute>
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
1694
+
1695
+
1696
+
1697
+
1698
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
1727
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1728
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+ <xsl:attribute name="line-height">115%</xsl:attribute>
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
1743
+
1744
+
1745
+
1746
+
1747
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
1748
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1749
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1750
+
1751
+
1752
+
1753
+
1754
+
1755
+ <xsl:attribute name="line-height">115%</xsl:attribute>
1756
+
1757
+
1494
1758
 
1495
1759
 
1496
- </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1497
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1498
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1499
- <xsl:attribute name="text-align">center</xsl:attribute>
1760
+
1761
+
1762
+
1763
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1764
+
1765
+
1766
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1767
+
1768
+
1769
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1770
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1771
+ <xsl:attribute name="font-size">65%</xsl:attribute>
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
1780
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
1792
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
1801
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
1813
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1500
1814
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1501
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1815
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
1502
1816
 
1503
- </xsl:attribute-set><xsl:attribute-set name="domain-style">
1504
-
1505
- </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1506
1817
 
1507
1818
 
1508
1819
 
1509
- </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1510
1820
 
1821
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
1511
1822
 
1512
- </xsl:attribute-set><xsl:attribute-set name="definition-style">
1513
1823
 
1514
1824
 
1515
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1516
1825
 
1517
1826
 
1518
- </xsl:attribute-set><xsl:variable name="color-added-text">
1519
- <xsl:text>rgb(0, 255, 0)</xsl:text>
1520
- </xsl:variable><xsl:attribute-set name="add-style">
1521
- <xsl:attribute name="color">red</xsl:attribute>
1522
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1523
- <!-- <xsl:attribute name="color">black</xsl:attribute>
1524
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
1525
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
1526
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
1527
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
1528
- <xsl:text>red</xsl:text>
1529
- </xsl:variable><xsl:attribute-set name="del-style">
1530
- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
1531
- <xsl:attribute name="text-decoration">line-through</xsl:attribute>
1532
- </xsl:attribute-set><xsl:attribute-set name="mathml-style">
1533
- <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1534
1827
 
1535
1828
 
1536
- </xsl:attribute-set><xsl:attribute-set name="list-style">
1829
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
1537
1830
 
1538
- </xsl:attribute-set><xsl:attribute-set name="toc-style">
1539
- <xsl:attribute name="line-height">135%</xsl:attribute>
1540
- </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="OLD_processPrefaceSectionsDefault_Contents">
1541
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1542
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1543
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1544
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1545
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1546
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
1831
+
1832
+
1833
+ </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
1547
1834
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1548
1835
  <xsl:sort select="@displayorder" data-type="number"/>
1549
1836
  <xsl:apply-templates select="." mode="contents"/>
1550
1837
  </xsl:for-each>
1551
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
1552
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1553
-
1554
- <!-- Normative references -->
1555
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
1556
- <!-- Terms and definitions -->
1557
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
1558
- <!-- Another main sections -->
1559
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
1560
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1561
- <!-- Bibliography -->
1562
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
1563
-
1564
1838
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1565
1839
 
1566
1840
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
@@ -1577,29 +1851,11 @@
1577
1851
  <xsl:sort select="@displayorder" data-type="number"/>
1578
1852
  <xsl:apply-templates select="." mode="contents"/>
1579
1853
  </xsl:for-each>
1580
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
1581
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1582
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1583
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1584
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1585
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1586
1854
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1587
1855
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1588
1856
  <xsl:sort select="@displayorder" data-type="number"/>
1589
1857
  <xsl:apply-templates select="."/>
1590
1858
  </xsl:for-each>
1591
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
1592
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1593
-
1594
- <!-- Normative references -->
1595
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1596
- <!-- Terms and definitions -->
1597
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
1598
- <!-- Another main sections -->
1599
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
1600
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1601
- <!-- Bibliography -->
1602
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1603
1859
  </xsl:template><xsl:template name="processMainSectionsDefault">
1604
1860
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
1605
1861
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -1636,43 +1892,19 @@
1636
1892
  <xsl:call-template name="getSimpleTable"/>
1637
1893
  </xsl:variable>
1638
1894
 
1639
- <!-- <xsl:if test="$namespace = 'bipm'">
1640
- <fo:block>&#xA0;</fo:block>
1641
- </xsl:if> -->
1642
-
1643
1895
 
1644
1896
  <!-- Display table's name before table as standalone block -->
1645
1897
  <!-- $namespace = 'iso' or -->
1646
1898
 
1647
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1648
-
1649
-
1650
-
1651
-
1899
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
1900
+
1652
1901
 
1653
- <xsl:call-template name="fn_name_display"/>
1654
1902
 
1903
+ <xsl:call-template name="table_name_fn_display"/>
1655
1904
 
1656
1905
 
1657
1906
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
1658
1907
 
1659
- <!-- <xsl:variable name="cols-count">
1660
- <xsl:choose>
1661
- <xsl:when test="*[local-name()='thead']">
1662
- <xsl:call-template name="calculate-columns-numbers">
1663
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1664
- </xsl:call-template>
1665
- </xsl:when>
1666
- <xsl:otherwise>
1667
- <xsl:call-template name="calculate-columns-numbers">
1668
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1669
- </xsl:call-template>
1670
- </xsl:otherwise>
1671
- </xsl:choose>
1672
- </xsl:variable> -->
1673
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1674
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1675
-
1676
1908
  <xsl:variable name="colwidths">
1677
1909
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
1678
1910
  <xsl:call-template name="calculate-column-widths">
@@ -1683,17 +1915,8 @@
1683
1915
  </xsl:variable>
1684
1916
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
1685
1917
 
1686
- <!-- <xsl:variable name="colwidths2">
1687
- <xsl:call-template name="calculate-column-widths">
1688
- <xsl:with-param name="cols-count" select="$cols-count"/>
1689
- </xsl:call-template>
1690
- </xsl:variable> -->
1691
-
1692
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1693
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
1694
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1695
1918
 
1696
- <xsl:variable name="margin-left">
1919
+ <xsl:variable name="margin-side">
1697
1920
  <xsl:choose>
1698
1921
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1699
1922
  <xsl:otherwise>0</xsl:otherwise>
@@ -1701,70 +1924,61 @@
1701
1924
  </xsl:variable>
1702
1925
 
1703
1926
 
1704
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1705
-
1706
-
1707
-
1708
-
1709
-
1710
-
1711
-
1712
-
1713
-
1927
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
1928
+
1714
1929
 
1930
+
1715
1931
 
1932
+
1716
1933
 
1934
+
1717
1935
 
1718
1936
 
1719
- <xsl:attribute name="space-after">18pt</xsl:attribute>
1720
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1721
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1722
1937
 
1938
+
1723
1939
 
1724
1940
 
1725
1941
 
1726
1942
 
1727
1943
 
1944
+ <!-- end table block-container attributes -->
1728
1945
 
1729
1946
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
1730
1947
 
1731
1948
 
1949
+ <xsl:variable name="table_width_default">100%</xsl:variable>
1732
1950
  <xsl:variable name="table_width">
1733
1951
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
1734
- 100%
1735
-
1736
-
1952
+ <xsl:value-of select="$table_width_default"/>
1737
1953
  </xsl:variable>
1738
1954
 
1955
+
1739
1956
  <xsl:variable name="table_attributes">
1740
- <attribute name="table-layout">fixed</attribute>
1741
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
1742
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
1743
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
1744
-
1745
-
1746
-
1747
-
1748
-
1749
-
1750
-
1751
-
1752
-
1753
-
1754
-
1755
- <attribute name="margin-left">0mm</attribute>
1756
- <attribute name="margin-right">0mm</attribute>
1757
-
1758
-
1759
-
1760
-
1957
+
1958
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
1959
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+ </xsl:element>
1761
1975
  </xsl:variable>
1762
1976
 
1763
1977
 
1764
- <fo:table id="{@id}" table-omit-footer-at-break="true">
1978
+ <fo:table id="{@id}">
1765
1979
 
1766
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
1767
- <xsl:attribute name="{@name}">
1980
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
1981
+ <xsl:attribute name="{local-name()}">
1768
1982
  <xsl:value-of select="."/>
1769
1983
  </xsl:attribute>
1770
1984
  </xsl:for-each>
@@ -1775,7 +1989,6 @@
1775
1989
  </xsl:if>
1776
1990
 
1777
1991
 
1778
-
1779
1992
  <xsl:choose>
1780
1993
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1781
1994
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -1801,7 +2014,7 @@
1801
2014
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1802
2015
  </xsl:when>
1803
2016
  <xsl:otherwise>
1804
- <xsl:apply-templates/>
2017
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1805
2018
  </xsl:otherwise>
1806
2019
  </xsl:choose>
1807
2020
 
@@ -1816,25 +2029,6 @@
1816
2029
  </xsl:call-template>
1817
2030
  </xsl:for-each>
1818
2031
 
1819
- <!-- insert footer as table -->
1820
- <!-- <fo:table>
1821
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
1822
- <xsl:attribute name="{@name}">
1823
- <xsl:value-of select="."/>
1824
- </xsl:attribute>
1825
- </xsl:for-each>
1826
-
1827
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
1828
- <xsl:choose>
1829
- <xsl:when test=". = 1 or . = 0">
1830
- <fo:table-column column-width="proportional-column-width(2)"/>
1831
- </xsl:when>
1832
- <xsl:otherwise>
1833
- <fo:table-column column-width="proportional-column-width({.})"/>
1834
- </xsl:otherwise>
1835
- </xsl:choose>
1836
- </xsl:for-each>
1837
- </fo:table>-->
1838
2032
 
1839
2033
 
1840
2034
 
@@ -1895,18 +2089,17 @@
1895
2089
  </xsl:otherwise>
1896
2090
  </xsl:choose>
1897
2091
 
1898
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2092
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
1899
2093
  <xsl:param name="continued"/>
1900
2094
  <xsl:if test="normalize-space() != ''">
1901
2095
  <fo:block xsl:use-attribute-sets="table-name-style">
1902
-
2096
+
1903
2097
 
1904
2098
 
1905
2099
 
1906
2100
 
1907
2101
  <xsl:choose>
1908
2102
  <xsl:when test="$continued = 'true'">
1909
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
1910
2103
 
1911
2104
  </xsl:when>
1912
2105
  <xsl:otherwise>
@@ -1969,13 +2162,6 @@
1969
2162
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
1970
2163
  <xsl:variable name="td_text">
1971
2164
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
1972
-
1973
- <!-- <xsl:if test="$namespace = 'bipm'">
1974
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
1975
- <word><xsl:value-of select="normalize-space(.)"/></word>
1976
- </xsl:for-each>
1977
- </xsl:if> -->
1978
-
1979
2165
  </xsl:variable>
1980
2166
  <xsl:variable name="words">
1981
2167
  <xsl:variable name="string_with_added_zerospaces">
@@ -2012,7 +2198,6 @@
2012
2198
  </xsl:otherwise>
2013
2199
  </xsl:choose>
2014
2200
  </xsl:variable>
2015
-
2016
2201
 
2017
2202
  <column>
2018
2203
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2048,7 +2233,6 @@
2048
2233
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2049
2234
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2050
2235
  <xsl:param name="cols-count"/>
2051
- <!-- font-weight="bold" -->
2052
2236
  <fo:table-header>
2053
2237
 
2054
2238
 
@@ -2060,13 +2244,12 @@
2060
2244
  <fo:table-row>
2061
2245
  <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
2062
2246
 
2063
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
2247
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2064
2248
  <xsl:with-param name="continued">true</xsl:with-param>
2065
2249
  </xsl:apply-templates>
2066
2250
 
2067
2251
 
2068
2252
 
2069
-
2070
2253
  </fo:table-cell>
2071
2254
  </fo:table-row>
2072
2255
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -2082,64 +2265,6 @@
2082
2265
  <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2083
2266
  </fo:table-footer>
2084
2267
  </xsl:if>
2085
- </xsl:template><xsl:template name="insertTableFooter2">
2086
- <xsl:param name="cols-count"/>
2087
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2088
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2089
-
2090
- <fo:table-footer>
2091
-
2092
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2093
-
2094
- <!-- if there are note(s) or fn(s) then create footer row -->
2095
- <xsl:if test="$isNoteOrFnExist = 'true'">
2096
-
2097
-
2098
-
2099
- <fo:table-row>
2100
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2101
-
2102
-
2103
-
2104
- <!-- fn will be processed inside 'note' processing -->
2105
-
2106
-
2107
-
2108
-
2109
-
2110
-
2111
- <!-- except gb -->
2112
-
2113
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2114
-
2115
-
2116
- <!-- show Note under table in preface (ex. abstract) sections -->
2117
- <!-- empty, because notes show at page side in main sections -->
2118
- <!-- <xsl:if test="$namespace = 'bipm'">
2119
- <xsl:choose>
2120
- <xsl:when test="ancestor::*[local-name()='preface']">
2121
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2122
- </xsl:when>
2123
- <xsl:otherwise>
2124
- <fo:block/>
2125
- </xsl:otherwise>
2126
- </xsl:choose>
2127
- </xsl:if> -->
2128
-
2129
-
2130
- <!-- horizontal row separator -->
2131
-
2132
-
2133
- <!-- fn processing -->
2134
- <xsl:call-template name="fn_display"/>
2135
-
2136
- </fo:table-cell>
2137
- </fo:table-row>
2138
-
2139
- </xsl:if>
2140
- </fo:table-footer>
2141
-
2142
- </xsl:if>
2143
2268
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2144
2269
  <xsl:param name="table_attributes"/>
2145
2270
  <xsl:param name="colwidths"/>
@@ -2165,17 +2290,18 @@
2165
2290
  </xsl:variable>
2166
2291
 
2167
2292
  <fo:table keep-with-previous="always">
2168
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2293
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2294
+ <xsl:variable name="name" select="local-name()"/>
2169
2295
  <xsl:choose>
2170
- <xsl:when test="@name = 'border-top'">
2171
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
2296
+ <xsl:when test="$name = 'border-top'">
2297
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2172
2298
  </xsl:when>
2173
- <xsl:when test="@name = 'border'">
2174
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2299
+ <xsl:when test="$name = 'border'">
2300
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2175
2301
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
2176
2302
  </xsl:when>
2177
2303
  <xsl:otherwise>
2178
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2304
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2179
2305
  </xsl:otherwise>
2180
2306
  </xsl:choose>
2181
2307
  </xsl:for-each>
@@ -2204,9 +2330,10 @@
2204
2330
 
2205
2331
  <fo:table-body>
2206
2332
  <fo:table-row>
2207
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2333
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2208
2334
 
2209
2335
 
2336
+
2210
2337
 
2211
2338
 
2212
2339
  <!-- fn will be processed inside 'note' processing -->
@@ -2216,37 +2343,20 @@
2216
2343
 
2217
2344
 
2218
2345
 
2219
-
2220
-
2221
-
2222
2346
  <!-- for BSI (not PAS) display Notes before footnotes -->
2223
2347
 
2224
2348
 
2225
- <!-- except gb -->
2226
-
2227
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2349
+ <!-- except gb and bsi -->
2228
2350
 
2229
-
2230
- <!-- <xsl:if test="$namespace = 'bipm'">
2231
- <xsl:choose>
2232
- <xsl:when test="ancestor::*[local-name()='preface']">
2233
- show Note under table in preface (ex. abstract) sections
2234
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2235
- </xsl:when>
2236
- <xsl:otherwise>
2237
- empty, because notes show at page side in main sections
2238
- <fo:block/>
2239
- </xsl:otherwise>
2240
- </xsl:choose>
2241
- </xsl:if> -->
2351
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2352
+
2242
2353
 
2243
2354
 
2244
2355
  <!-- horizontal row separator -->
2245
2356
 
2246
2357
 
2247
2358
  <!-- fn processing -->
2248
- <xsl:call-template name="fn_display"/>
2249
-
2359
+ <xsl:call-template name="table_fn_display"/>
2250
2360
 
2251
2361
  <!-- for PAS display Notes after footnotes -->
2252
2362
 
@@ -2288,78 +2398,57 @@
2288
2398
 
2289
2399
 
2290
2400
  <xsl:apply-templates/>
2291
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
2292
-
2401
+
2293
2402
  </fo:table-body>
2294
2403
 
2295
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2296
- <xsl:choose>
2297
- <xsl:when test="substring-after(., '—') != ''">
2298
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2299
- </xsl:when>
2300
- <xsl:otherwise>
2301
- <xsl:value-of select="."/>
2302
- </xsl:otherwise>
2303
- </xsl:choose>
2304
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2305
- <xsl:apply-templates mode="presentation_name"/>
2306
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2307
- <xsl:apply-templates select="."/>
2308
- </xsl:template><xsl:template match="*[local-name()='tr']">
2309
- <xsl:variable name="parent-name" select="local-name(..)"/>
2310
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2311
- <fo:table-row min-height="4mm">
2312
- <xsl:if test="$parent-name = 'thead'">
2313
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2314
-
2315
-
2316
-
2317
-
2318
-
2319
-
2320
-
2321
-
2322
- </xsl:if>
2323
- <xsl:if test="$parent-name = 'tfoot'">
2324
-
2325
-
2326
-
2327
- </xsl:if>
2328
-
2329
-
2330
-
2331
-
2332
-
2333
-
2334
-
2335
-
2336
-
2337
-
2338
- <!-- <xsl:if test="$namespace = 'bipm'">
2339
- <xsl:attribute name="height">8mm</xsl:attribute>
2340
- </xsl:if> -->
2341
-
2342
- <xsl:apply-templates/>
2343
- </fo:table-row>
2344
- </xsl:template><xsl:template match="*[local-name()='th']">
2345
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2346
- <xsl:attribute name="text-align">
2347
- <xsl:choose>
2348
- <xsl:when test="@align">
2349
- <xsl:call-template name="setAlignment"/>
2350
- <!-- <xsl:value-of select="@align"/> -->
2351
- </xsl:when>
2352
- <xsl:otherwise>center</xsl:otherwise>
2353
- </xsl:choose>
2354
- </xsl:attribute>
2404
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
2405
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
2406
+
2407
+
2408
+
2355
2409
 
2410
+
2411
+
2412
+
2413
+ <xsl:call-template name="setTableRowAttributes"/>
2414
+
2415
+ <xsl:apply-templates/>
2416
+ </fo:table-row>
2417
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
2418
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
2356
2419
 
2420
+ <xsl:call-template name="setTableRowAttributes"/>
2421
+ <xsl:apply-templates/>
2422
+ </fo:table-row>
2423
+ </xsl:template><xsl:template match="*[local-name()='tr']">
2424
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
2425
+
2357
2426
 
2427
+
2358
2428
 
2429
+
2430
+ <xsl:call-template name="setTableRowAttributes"/>
2431
+ <xsl:apply-templates/>
2432
+ </fo:table-row>
2433
+ </xsl:template><xsl:template name="setTableRowAttributes">
2434
+
2435
+
2436
+
2437
+
2438
+
2439
+
2440
+
2441
+
2442
+ </xsl:template><xsl:template match="*[local-name()='th']">
2443
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
2444
+ <xsl:call-template name="setTextAlignment">
2445
+ <xsl:with-param name="default">center</xsl:with-param>
2446
+ </xsl:call-template>
2359
2447
 
2360
2448
 
2361
2449
 
2362
2450
 
2451
+
2363
2452
 
2364
2453
 
2365
2454
 
@@ -2368,21 +2457,25 @@
2368
2457
  <xsl:if test="$lang = 'ar'">
2369
2458
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2370
2459
  </xsl:if>
2371
- <xsl:if test="@colspan">
2372
- <xsl:attribute name="number-columns-spanned">
2373
- <xsl:value-of select="@colspan"/>
2374
- </xsl:attribute>
2375
- </xsl:if>
2376
- <xsl:if test="@rowspan">
2377
- <xsl:attribute name="number-rows-spanned">
2378
- <xsl:value-of select="@rowspan"/>
2379
- </xsl:attribute>
2380
- </xsl:if>
2381
- <xsl:call-template name="display-align"/>
2460
+
2461
+ <xsl:call-template name="setTableCellAttributes"/>
2462
+
2382
2463
  <fo:block>
2383
2464
  <xsl:apply-templates/>
2384
2465
  </fo:block>
2385
2466
  </fo:table-cell>
2467
+ </xsl:template><xsl:template name="setTableCellAttributes">
2468
+ <xsl:if test="@colspan">
2469
+ <xsl:attribute name="number-columns-spanned">
2470
+ <xsl:value-of select="@colspan"/>
2471
+ </xsl:attribute>
2472
+ </xsl:if>
2473
+ <xsl:if test="@rowspan">
2474
+ <xsl:attribute name="number-rows-spanned">
2475
+ <xsl:value-of select="@rowspan"/>
2476
+ </xsl:attribute>
2477
+ </xsl:if>
2478
+ <xsl:call-template name="display-align"/>
2386
2479
  </xsl:template><xsl:template name="display-align">
2387
2480
  <xsl:if test="@valign">
2388
2481
  <xsl:attribute name="display-align">
@@ -2395,24 +2488,19 @@
2395
2488
  </xsl:attribute>
2396
2489
  </xsl:if>
2397
2490
  </xsl:template><xsl:template match="*[local-name()='td']">
2398
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2399
- <xsl:attribute name="text-align">
2400
- <xsl:choose>
2401
- <xsl:when test="@align">
2402
- <xsl:call-template name="setAlignment"/>
2403
- <!-- <xsl:value-of select="@align"/> -->
2404
- </xsl:when>
2405
- <xsl:otherwise>left</xsl:otherwise>
2406
- </xsl:choose>
2407
- </xsl:attribute>
2491
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
2492
+ <xsl:call-template name="setTextAlignment">
2493
+ <xsl:with-param name="default">left</xsl:with-param>
2494
+ </xsl:call-template>
2495
+
2408
2496
  <xsl:if test="$lang = 'ar'">
2409
2497
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2410
2498
  </xsl:if>
2411
- <!-- and ancestor::*[local-name() = 'thead'] -->
2412
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2413
2499
 
2414
2500
 
2415
2501
 
2502
+ <!-- bsi -->
2503
+
2416
2504
 
2417
2505
 
2418
2506
 
@@ -2420,65 +2508,150 @@
2420
2508
 
2421
2509
 
2422
2510
 
2511
+
2423
2512
 
2424
2513
 
2425
2514
 
2426
2515
 
2427
2516
 
2428
2517
 
2429
- <xsl:if test=".//*[local-name() = 'table']">
2518
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
2430
2519
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2431
2520
  </xsl:if>
2432
- <xsl:if test="@colspan">
2433
- <xsl:attribute name="number-columns-spanned">
2434
- <xsl:value-of select="@colspan"/>
2435
- </xsl:attribute>
2436
- </xsl:if>
2437
- <xsl:if test="@rowspan">
2438
- <xsl:attribute name="number-rows-spanned">
2439
- <xsl:value-of select="@rowspan"/>
2440
- </xsl:attribute>
2441
- </xsl:if>
2442
- <xsl:call-template name="display-align"/>
2521
+
2522
+ <xsl:call-template name="setTableCellAttributes"/>
2523
+
2443
2524
  <fo:block>
2444
-
2525
+
2526
+
2527
+
2445
2528
  <xsl:apply-templates/>
2446
2529
  </fo:block>
2447
2530
  </fo:table-cell>
2448
2531
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2532
+
2533
+ <fo:block xsl:use-attribute-sets="table-note-style">
2534
+
2535
+
2536
+
2537
+
2449
2538
 
2450
-
2451
- <fo:block font-size="10pt" margin-bottom="12pt">
2452
-
2539
+ <!-- Table's note name (NOTE, for example) -->
2540
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
2453
2541
 
2454
2542
 
2455
2543
 
2456
2544
 
2457
- <xsl:attribute name="font-size">12pt</xsl:attribute>
2458
2545
 
2459
2546
 
2460
2547
 
2461
-
2462
- <!-- Table's note name (NOTE, for example) -->
2463
-
2464
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2548
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
2465
2549
 
2466
-
2467
-
2468
-
2469
-
2470
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2471
-
2472
- </fo:inline>
2473
-
2474
-
2475
-
2476
- <xsl:apply-templates mode="process"/>
2477
- </fo:block>
2550
+ </fo:inline>
2551
+
2552
+
2553
+
2554
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
2555
+ </fo:block>
2478
2556
 
2479
2557
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
2480
2558
  <xsl:apply-templates/>
2481
- </xsl:template><xsl:template name="fn_display">
2559
+ </xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
2560
+
2561
+ <!-- list of footnotes to calculate actual footnotes number -->
2562
+ <xsl:variable name="p_fn_">
2563
+ <xsl:choose>
2564
+ <xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
2565
+ <fn gen_id="{generate-id(.)}">
2566
+ <xsl:copy-of select="@*"/>
2567
+ <xsl:copy-of select="node()"/>
2568
+ </fn>
2569
+ </xsl:when>
2570
+ <xsl:otherwise>
2571
+ <!-- itetation for:
2572
+ footnotes in bibdata/title
2573
+ footnotes in bibliography
2574
+ footnotes in document's body (except table's head/body/foot and figure text)
2575
+ -->
2576
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
2577
+ <fn gen_id="{generate-id(.)}">
2578
+ <xsl:copy-of select="@*"/>
2579
+ <xsl:copy-of select="node()"/>
2580
+ </fn>
2581
+ </xsl:for-each>
2582
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
2583
+ <xsl:sort select="@displayorder" data-type="number"/>
2584
+ <xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
2585
+ <!-- copy unique fn -->
2586
+ <fn gen_id="{generate-id(.)}">
2587
+ <xsl:copy-of select="@*"/>
2588
+ <xsl:copy-of select="node()"/>
2589
+ </fn>
2590
+ </xsl:for-each>
2591
+ </xsl:for-each>
2592
+ </xsl:otherwise>
2593
+ </xsl:choose>
2594
+ </xsl:variable>
2595
+ <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
2596
+
2597
+ <xsl:variable name="gen_id" select="generate-id(.)"/>
2598
+ <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
2599
+ <xsl:variable name="reference" select="@reference"/>
2600
+ <!-- fn sequence number in document -->
2601
+ <xsl:variable name="current_fn_number">
2602
+ <xsl:choose>
2603
+ <xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
2604
+ <xsl:otherwise>
2605
+ <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
2606
+ </xsl:otherwise>
2607
+ </xsl:choose>
2608
+ </xsl:variable>
2609
+ <xsl:variable name="current_fn_number_text">
2610
+ <xsl:value-of select="$current_fn_number"/>
2611
+
2612
+
2613
+ </xsl:variable>
2614
+
2615
+ <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
2616
+ <xsl:variable name="footnote_inline">
2617
+ <fo:inline xsl:use-attribute-sets="fn-num-style">
2618
+
2619
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
2620
+ <xsl:value-of select="$current_fn_number_text"/>
2621
+ </fo:basic-link>
2622
+ </fo:inline>
2623
+ </xsl:variable>
2624
+ <!-- DEBUG: p_fn=<xsl:copy-of select="$p_fn"/>
2625
+ gen_id=<xsl:value-of select="$gen_id"/> -->
2626
+ <xsl:choose>
2627
+ <xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
2628
+ <xsl:copy-of select="$footnote_inline"/>
2629
+ </xsl:when>
2630
+ <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
2631
+ <fo:footnote xsl:use-attribute-sets="fn-style">
2632
+ <xsl:copy-of select="$footnote_inline"/>
2633
+ <fo:footnote-body>
2634
+
2635
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
2636
+
2637
+ <fo:block xsl:use-attribute-sets="fn-body-style">
2638
+
2639
+
2640
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
2641
+
2642
+ <xsl:value-of select="$current_fn_number_text"/>
2643
+ </fo:inline>
2644
+ <xsl:apply-templates/>
2645
+ </fo:block>
2646
+ </fo:block-container>
2647
+ </fo:footnote-body>
2648
+ </fo:footnote>
2649
+ </xsl:when>
2650
+ <xsl:otherwise>
2651
+ <xsl:copy-of select="$footnote_inline"/>
2652
+ </xsl:otherwise>
2653
+ </xsl:choose>
2654
+ </xsl:template><xsl:template name="table_fn_display">
2482
2655
  <xsl:variable name="references">
2483
2656
 
2484
2657
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -2489,33 +2662,26 @@
2489
2662
  <xsl:for-each select="xalan:nodeset($references)//fn">
2490
2663
  <xsl:variable name="reference" select="@reference"/>
2491
2664
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2492
- <fo:block margin-bottom="12pt">
2665
+ <fo:block xsl:use-attribute-sets="table-fn-style">
2493
2666
 
2494
2667
 
2495
2668
 
2496
-
2497
-
2498
-
2499
-
2500
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
2669
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
2501
2670
 
2502
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2503
2671
 
2504
2672
 
2505
2673
 
2506
2674
 
2675
+ <xsl:value-of select="@reference"/>
2507
2676
 
2508
2677
 
2509
2678
 
2510
2679
 
2511
- <xsl:value-of select="@reference"/>
2512
2680
 
2513
2681
 
2514
2682
 
2515
2683
  </fo:inline>
2516
- <fo:inline>
2517
-
2518
- <!-- <xsl:apply-templates /> -->
2684
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
2519
2685
  <xsl:copy-of select="./node()"/>
2520
2686
  </fo:inline>
2521
2687
  </fo:block>
@@ -2527,15 +2693,7 @@
2527
2693
 
2528
2694
  <xsl:apply-templates/>
2529
2695
  </fn>
2530
- </xsl:template><xsl:template name="fn_name_display">
2531
- <!-- <xsl:variable name="references">
2532
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2533
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2534
- <xsl:apply-templates />
2535
- </fn>
2536
- </xsl:for-each>
2537
- </xsl:variable>
2538
- $references=<xsl:copy-of select="$references"/> -->
2696
+ </xsl:template><xsl:template name="table_name_fn_display">
2539
2697
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2540
2698
  <xsl:variable name="reference" select="@reference"/>
2541
2699
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -2544,9 +2702,7 @@
2544
2702
  </fo:block>
2545
2703
  </xsl:for-each>
2546
2704
  </xsl:template><xsl:template name="fn_display_figure">
2547
- <xsl:variable name="key_iso">
2548
- <!-- and (not(@class) or @class !='pseudocode') -->
2549
- </xsl:variable>
2705
+
2550
2706
  <xsl:variable name="references">
2551
2707
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
2552
2708
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -2554,50 +2710,52 @@
2554
2710
  </fn>
2555
2711
  </xsl:for-each>
2556
2712
  </xsl:variable>
2713
+
2714
+ <xsl:if test="xalan:nodeset($references)//fn">
2557
2715
 
2558
- <!-- current hierarchy is 'figure' element -->
2559
- <xsl:variable name="following_dl_colwidths">
2560
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2561
- <xsl:variable name="html-table">
2562
- <xsl:variable name="doc_ns">
2716
+ <xsl:variable name="key_iso">
2717
+
2718
+ </xsl:variable>
2719
+
2720
+ <!-- current hierarchy is 'figure' element -->
2721
+ <xsl:variable name="following_dl_colwidths">
2722
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2723
+ <xsl:variable name="html-table">
2724
+ <xsl:variable name="doc_ns">
2725
+
2726
+ </xsl:variable>
2727
+ <xsl:variable name="ns">
2728
+ <xsl:choose>
2729
+ <xsl:when test="normalize-space($doc_ns) != ''">
2730
+ <xsl:value-of select="normalize-space($doc_ns)"/>
2731
+ </xsl:when>
2732
+ <xsl:otherwise>
2733
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
2734
+ </xsl:otherwise>
2735
+ </xsl:choose>
2736
+ </xsl:variable>
2563
2737
 
2564
- </xsl:variable>
2565
- <xsl:variable name="ns">
2566
- <xsl:choose>
2567
- <xsl:when test="normalize-space($doc_ns) != ''">
2568
- <xsl:value-of select="normalize-space($doc_ns)"/>
2569
- </xsl:when>
2570
- <xsl:otherwise>
2571
- <xsl:value-of select="substring-before(name(/*), '-')"/>
2572
- </xsl:otherwise>
2573
- </xsl:choose>
2574
- </xsl:variable>
2575
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2576
- <!-- <xsl:element name="{$ns}:table"> -->
2577
2738
  <xsl:for-each select="*[local-name() = 'dl'][1]">
2578
2739
  <tbody>
2579
2740
  <xsl:apply-templates mode="dl"/>
2580
2741
  </tbody>
2581
2742
  </xsl:for-each>
2582
- <!-- </xsl:element> -->
2583
- </xsl:variable>
2584
-
2585
- <xsl:call-template name="calculate-column-widths">
2586
- <xsl:with-param name="cols-count" select="2"/>
2587
- <xsl:with-param name="table" select="$html-table"/>
2588
- </xsl:call-template>
2589
-
2590
- </xsl:if>
2591
- </xsl:variable>
2592
-
2593
-
2594
- <xsl:variable name="maxlength_dt">
2595
- <xsl:for-each select="*[local-name() = 'dl'][1]">
2596
- <xsl:call-template name="getMaxLength_dt"/>
2597
- </xsl:for-each>
2598
- </xsl:variable>
2599
-
2600
- <xsl:if test="xalan:nodeset($references)//fn">
2743
+ </xsl:variable>
2744
+
2745
+ <xsl:call-template name="calculate-column-widths">
2746
+ <xsl:with-param name="cols-count" select="2"/>
2747
+ <xsl:with-param name="table" select="$html-table"/>
2748
+ </xsl:call-template>
2749
+
2750
+ </xsl:if>
2751
+ </xsl:variable>
2752
+
2753
+ <xsl:variable name="maxlength_dt">
2754
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
2755
+ <xsl:call-template name="getMaxLength_dt"/>
2756
+ </xsl:for-each>
2757
+ </xsl:variable>
2758
+
2601
2759
  <fo:block>
2602
2760
  <fo:table width="95%" table-layout="fixed">
2603
2761
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -2624,20 +2782,18 @@
2624
2782
  <fo:table-row>
2625
2783
  <fo:table-cell>
2626
2784
  <fo:block>
2627
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
2628
-
2785
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
2629
2786
  <xsl:value-of select="@reference"/>
2630
2787
  </fo:inline>
2631
2788
  </fo:block>
2632
2789
  </fo:table-cell>
2633
2790
  <fo:table-cell>
2634
- <fo:block text-align="justify" margin-bottom="12pt">
2635
-
2791
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
2636
2792
  <xsl:if test="normalize-space($key_iso) = 'true'">
2637
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
2793
+
2794
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
2795
+
2638
2796
  </xsl:if>
2639
-
2640
- <!-- <xsl:apply-templates /> -->
2641
2797
  <xsl:copy-of select="./node()"/>
2642
2798
  </fo:block>
2643
2799
  </fo:table-cell>
@@ -2650,14 +2806,8 @@
2650
2806
  </xsl:if>
2651
2807
 
2652
2808
  </xsl:template><xsl:template match="*[local-name()='fn']">
2653
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2654
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
2655
-
2656
-
2657
-
2658
-
2659
-
2660
-
2809
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
2810
+
2661
2811
 
2662
2812
 
2663
2813
 
@@ -2670,6 +2820,8 @@
2670
2820
 
2671
2821
  </fo:basic-link>
2672
2822
  </fo:inline>
2823
+ </xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
2824
+ <fo:inline><xsl:value-of select="."/></fo:inline>
2673
2825
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
2674
2826
  <fo:inline>
2675
2827
  <xsl:apply-templates/>
@@ -2679,10 +2831,10 @@
2679
2831
  <xsl:variable name="isDeleted" select="@deleted"/>
2680
2832
  <fo:block-container>
2681
2833
 
2682
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2683
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2684
- </xsl:if>
2685
-
2834
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2835
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2836
+ </xsl:if>
2837
+
2686
2838
 
2687
2839
  <xsl:if test="parent::*[local-name() = 'note']">
2688
2840
  <xsl:attribute name="margin-left">
@@ -2699,11 +2851,11 @@
2699
2851
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
2700
2852
  </xsl:call-template>
2701
2853
 
2702
- <fo:block-container>
2703
-
2704
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2705
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2854
+ <fo:block-container margin-left="0mm">
2855
+
2706
2856
 
2857
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2858
+
2707
2859
 
2708
2860
  <xsl:variable name="parent" select="local-name(..)"/>
2709
2861
 
@@ -2714,23 +2866,19 @@
2714
2866
  <xsl:choose>
2715
2867
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2716
2868
 
2717
-
2718
- <fo:block margin-bottom="12pt" text-align="left">
2719
-
2720
- <xsl:variable name="title-where">
2869
+ <fo:block margin-bottom="12pt" text-align="left">
2721
2870
 
2722
-
2723
- <xsl:call-template name="getTitle">
2724
- <xsl:with-param name="name" select="'title-where'"/>
2871
+ <xsl:variable name="title-where">
2872
+ <xsl:call-template name="getLocalizedString">
2873
+ <xsl:with-param name="key">where</xsl:with-param>
2725
2874
  </xsl:call-template>
2726
-
2727
- </xsl:variable>
2728
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2729
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2730
- <xsl:text/>
2731
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2732
- </fo:block>
2733
-
2875
+ </xsl:variable>
2876
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2877
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
2878
+ <xsl:text/>
2879
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2880
+ </fo:block>
2881
+
2734
2882
  </xsl:when>
2735
2883
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2736
2884
  <fo:block margin-bottom="12pt" text-align="left">
@@ -2739,12 +2887,9 @@
2739
2887
 
2740
2888
 
2741
2889
  <xsl:variable name="title-where">
2742
-
2743
-
2744
- <xsl:call-template name="getTitle">
2745
- <xsl:with-param name="name" select="'title-where'"/>
2746
- </xsl:call-template>
2747
-
2890
+ <xsl:call-template name="getLocalizedString">
2891
+ <xsl:with-param name="key">where</xsl:with-param>
2892
+ </xsl:call-template>
2748
2893
  </xsl:variable>
2749
2894
  <xsl:value-of select="$title-where"/>
2750
2895
  </fo:block>
@@ -2756,12 +2901,9 @@
2756
2901
 
2757
2902
 
2758
2903
  <xsl:variable name="title-key">
2759
-
2760
-
2761
- <xsl:call-template name="getTitle">
2762
- <xsl:with-param name="name" select="'title-key'"/>
2763
- </xsl:call-template>
2764
-
2904
+ <xsl:call-template name="getLocalizedString">
2905
+ <xsl:with-param name="key">key</xsl:with-param>
2906
+ </xsl:call-template>
2765
2907
  </xsl:variable>
2766
2908
  <xsl:value-of select="$title-key"/>
2767
2909
  </fo:block>
@@ -2787,9 +2929,7 @@
2787
2929
  <fo:table width="95%" table-layout="fixed">
2788
2930
 
2789
2931
  <xsl:choose>
2790
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2791
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2792
- </xsl:when>
2932
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
2793
2933
  <xsl:when test="normalize-space($key_iso) = 'true'">
2794
2934
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2795
2935
 
@@ -2810,12 +2950,9 @@
2810
2950
  </xsl:otherwise>
2811
2951
  </xsl:choose>
2812
2952
  </xsl:variable>
2813
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2814
- <!-- <xsl:element name="{$ns}:table"> -->
2815
- <tbody>
2816
- <xsl:apply-templates mode="dl"/>
2817
- </tbody>
2818
- <!-- </xsl:element> -->
2953
+ <tbody>
2954
+ <xsl:apply-templates mode="dl"/>
2955
+ </tbody>
2819
2956
  </xsl:variable>
2820
2957
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
2821
2958
  <xsl:variable name="colwidths">
@@ -2895,8 +3032,6 @@
2895
3032
  </xsl:for-each>
2896
3033
  </xsl:otherwise>
2897
3034
  </xsl:choose>
2898
- <!-- <fo:table-column column-width="15%"/>
2899
- <fo:table-column column-width="85%"/> -->
2900
3035
  </xsl:otherwise>
2901
3036
  </xsl:choose>
2902
3037
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -2911,12 +3046,6 @@
2911
3046
  </xsl:for-each>
2912
3047
  </xsl:variable>
2913
3048
  <xsl:variable name="maxLength">
2914
- <!-- <xsl:for-each select="*[local-name()='dt']">
2915
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
2916
- <xsl:if test="position() = 1">
2917
- <xsl:value-of select="string-length(normalize-space(.))"/>
2918
- </xsl:if>
2919
- </xsl:for-each> -->
2920
3049
  <xsl:for-each select="xalan:nodeset($lengths)/length">
2921
3050
  <xsl:sort select="." data-type="number" order="descending"/>
2922
3051
  <xsl:if test="position() = 1">
@@ -2942,12 +3071,12 @@
2942
3071
  <xsl:if test="normalize-space($key_iso) = 'true'">
2943
3072
  <xsl:attribute name="margin-top">0</xsl:attribute>
2944
3073
  </xsl:if>
2945
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3074
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
2946
3075
  </fo:block>
2947
3076
  </fo:table-cell>
2948
3077
  <fo:table-cell>
2949
3078
  <fo:block>
2950
- <xsl:apply-templates/>
3079
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
2951
3080
  </fo:block>
2952
3081
  </fo:table-cell>
2953
3082
  </fo:table-row>
@@ -2958,82 +3087,41 @@
2958
3087
  </td>
2959
3088
  <td>
2960
3089
 
2961
-
2962
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2963
-
3090
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3091
+
2964
3092
  </td>
2965
3093
  </tr>
2966
3094
 
2967
3095
  </xsl:template><xsl:template match="*[local-name()='dt']">
2968
3096
  <xsl:param name="key_iso"/>
2969
3097
 
2970
- <fo:table-row>
2971
-
2972
-
3098
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
2973
3099
  <fo:table-cell>
2974
3100
 
2975
- <fo:block margin-top="6pt">
3101
+ <fo:block xsl:use-attribute-sets="dt-style">
2976
3102
  <xsl:copy-of select="@id"/>
2977
3103
 
2978
-
2979
3104
  <xsl:if test="normalize-space($key_iso) = 'true'">
2980
3105
  <xsl:attribute name="margin-top">0</xsl:attribute>
2981
-
2982
3106
  </xsl:if>
2983
3107
 
2984
3108
 
2985
3109
 
2986
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
2987
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2988
-
2989
-
2990
-
2991
-
2992
-
2993
3110
  <xsl:apply-templates/>
2994
- <!-- <xsl:if test="$namespace = 'gb'">
2995
- <xsl:if test="ancestor::*[local-name()='formula']">
2996
- <xsl:text>—</xsl:text>
2997
- </xsl:if>
2998
- </xsl:if> -->
2999
3111
  </fo:block>
3000
3112
  </fo:table-cell>
3001
3113
  <fo:table-cell>
3002
3114
  <fo:block>
3003
3115
 
3004
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3005
- <xsl:if test="local-name(*[1]) != 'stem'">
3006
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3007
- </xsl:if>
3008
- </xsl:if> -->
3009
-
3010
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3011
-
3116
+
3117
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3012
3118
  </fo:block>
3013
- </fo:table-cell>
3014
- </fo:table-row>
3015
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3016
- <xsl:if test="local-name(*[1]) = 'stem'">
3017
- <fo:table-row>
3018
- <fo:table-cell>
3019
- <fo:block margin-top="6pt">
3020
- <xsl:if test="normalize-space($key_iso) = 'true'">
3021
- <xsl:attribute name="margin-top">0</xsl:attribute>
3022
- </xsl:if>
3023
- <xsl:text>&#xA0;</xsl:text>
3024
- </fo:block>
3025
- </fo:table-cell>
3026
- <fo:table-cell>
3027
- <fo:block>
3028
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3029
- </fo:block>
3030
- </fo:table-cell>
3031
- </fo:table-row>
3032
- </xsl:if>
3033
- </xsl:if> -->
3119
+ </fo:table-cell>
3120
+ </fo:table-row>
3034
3121
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3035
3122
  <xsl:apply-templates/>
3036
3123
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3124
+ <xsl:apply-templates select="@language"/>
3037
3125
  <xsl:apply-templates/>
3038
3126
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3039
3127
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -3058,6 +3146,7 @@
3058
3146
  </fo:inline>
3059
3147
  </xsl:template><xsl:template match="*[local-name()='tt']">
3060
3148
  <fo:inline xsl:use-attribute-sets="tt-style">
3149
+
3061
3150
  <xsl:variable name="_font-size">
3062
3151
 
3063
3152
 
@@ -3094,7 +3183,22 @@
3094
3183
  <xsl:apply-templates/>
3095
3184
  </fo:inline>
3096
3185
  </xsl:template><xsl:template match="*[local-name()='add']">
3186
+ <xsl:param name="skip">true</xsl:param>
3097
3187
  <xsl:choose>
3188
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3189
+ <xsl:choose>
3190
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3191
+ <xsl:otherwise>
3192
+ <fo:inline>
3193
+ <xsl:call-template name="insertTag">
3194
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3195
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3196
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3197
+ </xsl:call-template>
3198
+ </fo:inline>
3199
+ </xsl:otherwise>
3200
+ </xsl:choose>
3201
+ </xsl:when>
3098
3202
  <xsl:when test="@amendment">
3099
3203
  <fo:inline>
3100
3204
  <xsl:call-template name="insertTag">
@@ -3129,7 +3233,6 @@
3129
3233
  </fo:inline>
3130
3234
  </xsl:otherwise>
3131
3235
  </xsl:choose>
3132
-
3133
3236
  </xsl:template><xsl:template name="insertTag">
3134
3237
  <xsl:param name="type"/>
3135
3238
  <xsl:param name="kind"/>
@@ -3137,22 +3240,20 @@
3137
3240
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
3138
3241
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
3139
3242
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
3140
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
3141
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
3142
3243
  <xsl:attribute name="height">5mm</xsl:attribute>
3143
3244
  <xsl:attribute name="content-width">100%</xsl:attribute>
3144
3245
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
3145
3246
  <xsl:attribute name="scaling">uniform</xsl:attribute>
3146
3247
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
3147
3248
  <g>
3148
- <xsl:if test="$type = 'closing'">
3249
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3149
3250
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
3150
3251
  </xsl:if>
3151
3252
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
3152
3253
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
3153
3254
  </g>
3154
3255
  <text font-family="Arial" x="15" y="57" font-size="40pt">
3155
- <xsl:if test="$type = 'closing'">
3256
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3156
3257
  <xsl:attribute name="x">25</xsl:attribute>
3157
3258
  </xsl:if>
3158
3259
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -3356,14 +3457,6 @@
3356
3457
 
3357
3458
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3358
3459
 
3359
- <!-- <xsl:choose>
3360
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3361
-
3362
- </xsl:when>
3363
- <xsl:otherwise>
3364
- <xsl:copy-of select="current()"/>
3365
- </xsl:otherwise>
3366
- </xsl:choose> -->
3367
3460
  </xsl:variable>
3368
3461
  <xsl:copy-of select="$simple-table"/>
3369
3462
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -3482,8 +3575,6 @@
3482
3575
  <xsl:choose>
3483
3576
  <xsl:when test="contains($str2, ' ')">
3484
3577
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3485
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3486
- <xsl:value-of select="substring($substr, 2)"/> -->
3487
3578
  <xsl:call-template name="capitalize">
3488
3579
  <xsl:with-param name="str" select="$substr"/>
3489
3580
  </xsl:call-template>
@@ -3493,8 +3584,6 @@
3493
3584
  </xsl:call-template>
3494
3585
  </xsl:when>
3495
3586
  <xsl:otherwise>
3496
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3497
- <xsl:value-of select="substring($str2, 2)"/> -->
3498
3587
  <xsl:call-template name="capitalize">
3499
3588
  <xsl:with-param name="str" select="$str2"/>
3500
3589
  </xsl:call-template>
@@ -3522,6 +3611,7 @@
3522
3611
  <xsl:apply-templates select="." mode="mathml"/>
3523
3612
  </xsl:variable>
3524
3613
  <fo:instream-foreign-object fox:alt-text="Math">
3614
+
3525
3615
 
3526
3616
 
3527
3617
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -3553,7 +3643,7 @@
3553
3643
  </xsl:attribute>
3554
3644
 
3555
3645
 
3556
- <!-- <xsl:copy-of select="."/> -->
3646
+
3557
3647
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3558
3648
  </fo:instream-foreign-object>
3559
3649
  </fo:inline>
@@ -3612,6 +3702,10 @@
3612
3702
 
3613
3703
 
3614
3704
 
3705
+
3706
+
3707
+
3708
+
3615
3709
  <xsl:choose>
3616
3710
  <xsl:when test="$target_text = ''">
3617
3711
  <xsl:apply-templates/>
@@ -3645,9 +3739,9 @@
3645
3739
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
3646
3740
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3647
3741
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3648
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3742
+ <xsl:apply-templates select="*[local-name()='name']"/>
3649
3743
  </fo:block>
3650
- <xsl:apply-templates/>
3744
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
3651
3745
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
3652
3746
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3653
3747
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -3667,25 +3761,8 @@
3667
3761
  <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
3668
3762
  <xsl:apply-templates/>
3669
3763
  </fo:inline>
3670
- </xsl:template><xsl:template match="*[local-name() = 'modification']">
3671
- <xsl:variable name="title-modified">
3672
-
3673
-
3674
- <xsl:call-template name="getTitle">
3675
- <xsl:with-param name="name" select="'title-modified'"/>
3676
- </xsl:call-template>
3677
-
3678
- </xsl:variable>
3679
-
3680
- <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
3681
- <xsl:choose>
3682
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
3683
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
3684
- </xsl:choose>
3685
- <xsl:apply-templates/>
3686
3764
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
3687
3765
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3688
-
3689
3766
  <xsl:apply-templates/>
3690
3767
  </fo:basic-link>
3691
3768
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -3713,22 +3790,26 @@
3713
3790
  <fo:inline>
3714
3791
  <xsl:apply-templates/>
3715
3792
  </fo:inline>
3716
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
3793
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
3717
3794
  <xsl:if test="normalize-space() != ''">
3718
3795
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3719
3796
  </xsl:if>
3720
3797
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3721
3798
 
3722
3799
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
3800
+
3723
3801
 
3724
3802
 
3725
3803
 
3726
3804
 
3727
3805
 
3806
+
3807
+
3808
+
3809
+
3810
+
3728
3811
  <fo:block-container margin-left="0mm">
3729
-
3730
-
3731
-
3812
+
3732
3813
 
3733
3814
 
3734
3815
 
@@ -3736,30 +3817,41 @@
3736
3817
  <xsl:attribute name="font-size">12pt</xsl:attribute>
3737
3818
  </xsl:if>
3738
3819
 
3739
-
3820
+
3740
3821
 
3741
- <fo:block>
3742
-
3743
-
3744
-
3745
-
3746
-
3822
+ <fo:block>
3823
+
3824
+
3747
3825
 
3748
- <fo:inline xsl:use-attribute-sets="note-name-style">
3749
3826
 
3750
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3751
- </fo:inline>
3752
- <xsl:apply-templates/>
3753
- </fo:block>
3754
-
3755
-
3827
+
3828
+
3829
+
3830
+ <fo:inline xsl:use-attribute-sets="note-name-style">
3831
+
3832
+
3833
+
3834
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
3835
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
3836
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
3837
+ <xsl:with-param name="skip">false</xsl:with-param>
3838
+ </xsl:apply-templates>
3839
+ </xsl:if>
3840
+
3841
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3842
+
3843
+ </fo:inline>
3844
+
3845
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3846
+ </fo:block>
3847
+
3756
3848
  </fo:block-container>
3757
3849
  </fo:block-container>
3758
3850
 
3759
3851
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
3760
3852
  <xsl:variable name="num"><xsl:number/></xsl:variable>
3761
3853
  <xsl:choose>
3762
- <xsl:when test="$num = 1">
3854
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
3763
3855
  <fo:inline xsl:use-attribute-sets="note-p-style">
3764
3856
  <xsl:apply-templates/>
3765
3857
  </fo:inline>
@@ -3774,12 +3866,16 @@
3774
3866
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
3775
3867
 
3776
3868
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
3869
+
3870
+
3871
+
3872
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3777
3873
 
3778
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3779
3874
  </fo:inline>
3780
- <xsl:apply-templates/>
3875
+
3876
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3781
3877
  </fo:block>
3782
- </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
3878
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
3783
3879
  <xsl:param name="sfx"/>
3784
3880
  <xsl:variable name="suffix">
3785
3881
  <xsl:choose>
@@ -3796,7 +3892,7 @@
3796
3892
  <xsl:apply-templates/>
3797
3893
  <xsl:value-of select="$suffix"/>
3798
3894
  </xsl:if>
3799
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
3895
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
3800
3896
  <xsl:param name="sfx"/>
3801
3897
  <xsl:variable name="suffix">
3802
3898
  <xsl:choose>
@@ -3821,25 +3917,23 @@
3821
3917
  <xsl:apply-templates/>
3822
3918
  </fo:block>
3823
3919
  </xsl:template><xsl:template match="*[local-name() = 'term']">
3824
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
3825
3920
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
3826
3921
 
3827
3922
 
3923
+
3924
+
3828
3925
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
3829
3926
 
3830
3927
  </xsl:if>
3831
- <xsl:apply-templates/>
3928
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3832
3929
  </fo:block>
3833
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
3930
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
3834
3931
  <xsl:if test="normalize-space() != ''">
3835
3932
  <xsl:variable name="level">
3836
3933
  <xsl:call-template name="getLevelTermName"/>
3837
3934
  </xsl:variable>
3838
3935
  <fo:inline role="H{$level}">
3839
3936
  <xsl:apply-templates/>
3840
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
3841
- <xsl:text>.</xsl:text>
3842
- </xsl:if> -->
3843
3937
  </fo:inline>
3844
3938
  </xsl:if>
3845
3939
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -3852,9 +3946,10 @@
3852
3946
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3853
3947
  </xsl:call-template>
3854
3948
 
3855
- <fo:block>
3856
-
3857
- <xsl:apply-templates/>
3949
+
3950
+
3951
+ <fo:block xsl:use-attribute-sets="figure-style">
3952
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3858
3953
  </fo:block>
3859
3954
  <xsl:call-template name="fn_display_figure"/>
3860
3955
  <xsl:for-each select="*[local-name() = 'note']">
@@ -3862,14 +3957,15 @@
3862
3957
  </xsl:for-each>
3863
3958
 
3864
3959
 
3865
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3960
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
3961
+
3866
3962
 
3867
3963
  </fo:block-container>
3868
3964
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
3869
3965
  <fo:block id="{@id}">
3870
- <xsl:apply-templates/>
3966
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3871
3967
  </fo:block>
3872
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3968
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3873
3969
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3874
3970
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3875
3971
  <xsl:apply-templates/>
@@ -3976,9 +4072,7 @@
3976
4072
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
3977
4073
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
3978
4074
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
3979
- <!-- width=<xsl:value-of select="$width"/> -->
3980
4075
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
3981
- <!-- height=<xsl:value-of select="$height"/> -->
3982
4076
  <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
3983
4077
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
3984
4078
  <xsl:call-template name="svg_cross">
@@ -4248,7 +4342,7 @@
4248
4342
  </fo:basic-link>
4249
4343
  </fo:block>
4250
4344
  </fo:block-container>
4251
- </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4345
+ </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4252
4346
  <xsl:apply-templates mode="contents"/>
4253
4347
  <xsl:text> </xsl:text>
4254
4348
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
@@ -4260,11 +4354,58 @@
4260
4354
  <xsl:value-of select="."/>
4261
4355
  </xsl:template><xsl:template match="node()" mode="contents">
4262
4356
  <xsl:apply-templates mode="contents"/>
4357
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
4358
+ <xsl:variable name="level">
4359
+ <xsl:call-template name="getLevel">
4360
+ <xsl:with-param name="depth" select="@depth"/>
4361
+ </xsl:call-template>
4362
+ </xsl:variable>
4363
+
4364
+ <xsl:variable name="section">
4365
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4366
+ </xsl:variable>
4367
+
4368
+ <xsl:variable name="type">floating-title</xsl:variable>
4369
+
4370
+ <xsl:variable name="display">
4371
+ <xsl:choose>
4372
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
4373
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
4374
+ <xsl:otherwise>false</xsl:otherwise>
4375
+ </xsl:choose>
4376
+ </xsl:variable>
4377
+
4378
+ <xsl:variable name="skip">false</xsl:variable>
4379
+
4380
+ <xsl:if test="$skip = 'false'">
4381
+
4382
+ <xsl:variable name="title">
4383
+ <xsl:choose>
4384
+ <xsl:when test="*[local-name() = 'tab']">
4385
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4386
+ </xsl:when>
4387
+ <xsl:otherwise>
4388
+ <xsl:copy-of select="node()"/>
4389
+ </xsl:otherwise>
4390
+ </xsl:choose>
4391
+ </xsl:variable>
4392
+
4393
+ <xsl:variable name="root">
4394
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
4395
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
4396
+ </xsl:variable>
4397
+
4398
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
4399
+ <title>
4400
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
4401
+ </title>
4402
+ </item>
4403
+ </xsl:if>
4263
4404
  </xsl:template><xsl:template match="node()" mode="bookmarks">
4264
4405
  <xsl:apply-templates mode="bookmarks"/>
4265
4406
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
4266
4407
  <xsl:apply-templates select="."/>
4267
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4408
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4268
4409
  <xsl:apply-templates mode="bookmarks"/>
4269
4410
  </xsl:template><xsl:template name="addBookmarks">
4270
4411
  <xsl:param name="contents"/>
@@ -4354,8 +4495,6 @@
4354
4495
 
4355
4496
 
4356
4497
 
4357
-
4358
-
4359
4498
  </fo:bookmark-tree>
4360
4499
  </xsl:if>
4361
4500
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -4426,7 +4565,7 @@
4426
4565
  <xsl:apply-templates mode="bookmark"/>
4427
4566
  </xsl:otherwise>
4428
4567
  </xsl:choose>
4429
- </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
4568
+ </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']">
4430
4569
  <xsl:if test="normalize-space() != ''">
4431
4570
  <fo:block xsl:use-attribute-sets="figure-name-style">
4432
4571
 
@@ -4435,16 +4574,13 @@
4435
4574
  </fo:block>
4436
4575
  </xsl:if>
4437
4576
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
4438
- <xsl:apply-templates mode="contents_item"/>
4577
+ <xsl:param name="mode">bookmarks</xsl:param>
4578
+ <xsl:apply-templates mode="contents_item">
4579
+ <xsl:with-param name="mode" select="$mode"/>
4580
+ </xsl:apply-templates>
4439
4581
  <!-- <xsl:text> </xsl:text> -->
4440
4582
  </xsl:template><xsl:template name="getSection">
4441
4583
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4442
- <!--
4443
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
4444
- <xsl:value-of select="."/>
4445
- </xsl:for-each>
4446
- -->
4447
-
4448
4584
  </xsl:template><xsl:template name="getName">
4449
4585
  <xsl:choose>
4450
4586
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -4508,9 +4644,26 @@
4508
4644
  <xsl:copy-of select="."/>
4509
4645
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4510
4646
  <xsl:text> </xsl:text>
4647
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
4648
+ <xsl:param name="mode">bookmarks</xsl:param>
4649
+ <xsl:apply-templates mode="contents_item">
4650
+ <xsl:with-param name="mode" select="$mode"/>
4651
+ </xsl:apply-templates>
4652
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
4653
+ <xsl:param name="mode">bookmarks</xsl:param>
4654
+ <xsl:choose>
4655
+ <xsl:when test="starts-with(text(), $ace_tag)">
4656
+ <xsl:if test="$mode = 'contents'">
4657
+ <xsl:copy>
4658
+ <xsl:apply-templates mode="contents_item"/>
4659
+ </xsl:copy>
4660
+ </xsl:if>
4661
+ </xsl:when>
4662
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
4663
+ </xsl:choose>
4511
4664
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4512
4665
 
4513
- <fo:block-container margin-left="0mm">
4666
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
4514
4667
  <xsl:copy-of select="@id"/>
4515
4668
 
4516
4669
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -4547,6 +4700,7 @@
4547
4700
 
4548
4701
 
4549
4702
  </xsl:variable>
4703
+
4550
4704
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
4551
4705
  <xsl:if test="$font-size != ''">
4552
4706
  <xsl:attribute name="font-size">
@@ -4563,11 +4717,11 @@
4563
4717
 
4564
4718
 
4565
4719
 
4566
- <xsl:apply-templates/>
4720
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4567
4721
  </fo:block>
4568
4722
 
4569
4723
 
4570
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4724
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
4571
4725
 
4572
4726
 
4573
4727
 
@@ -4581,7 +4735,7 @@
4581
4735
  <xsl:call-template name="add-zero-spaces-java">
4582
4736
  <xsl:with-param name="text" select="$text"/>
4583
4737
  </xsl:call-template>
4584
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
4738
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
4585
4739
  <xsl:if test="normalize-space() != ''">
4586
4740
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
4587
4741
  <xsl:apply-templates/>
@@ -4589,10 +4743,10 @@
4589
4743
  </xsl:if>
4590
4744
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
4591
4745
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
4592
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4593
- <xsl:apply-templates/>
4746
+ <xsl:apply-templates select="*[local-name()='name']"/>
4747
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4594
4748
  </fo:block>
4595
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
4749
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
4596
4750
  <xsl:if test="normalize-space() != ''">
4597
4751
  <fo:block xsl:use-attribute-sets="permission-name-style">
4598
4752
  <xsl:apply-templates/>
@@ -4605,13 +4759,13 @@
4605
4759
  </fo:block>
4606
4760
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
4607
4761
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
4608
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4609
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
4610
- <xsl:apply-templates select="@obligation" mode="presentation"/>
4611
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
4612
- <xsl:apply-templates/>
4762
+ <xsl:apply-templates select="*[local-name()='name']"/>
4763
+ <xsl:apply-templates select="*[local-name()='label']"/>
4764
+ <xsl:apply-templates select="@obligation"/>
4765
+ <xsl:apply-templates select="*[local-name()='subject']"/>
4766
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
4613
4767
  </fo:block>
4614
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
4768
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
4615
4769
  <xsl:if test="normalize-space() != ''">
4616
4770
  <fo:block xsl:use-attribute-sets="requirement-name-style">
4617
4771
 
@@ -4619,20 +4773,24 @@
4619
4773
 
4620
4774
  </fo:block>
4621
4775
  </xsl:if>
4622
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
4776
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
4623
4777
  <fo:block xsl:use-attribute-sets="requirement-label-style">
4624
4778
  <xsl:apply-templates/>
4625
4779
  </fo:block>
4626
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
4780
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
4627
4781
  <fo:block>
4628
4782
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4629
4783
  </fo:block>
4784
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
4785
+ <fo:block xsl:use-attribute-sets="subject-style">
4786
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4787
+ </fo:block>
4630
4788
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4631
4789
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4632
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4633
- <xsl:apply-templates/>
4790
+ <xsl:apply-templates select="*[local-name()='name']"/>
4791
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4634
4792
  </fo:block>
4635
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
4793
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
4636
4794
  <xsl:if test="normalize-space() != ''">
4637
4795
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
4638
4796
  <xsl:apply-templates/>
@@ -4643,10 +4801,6 @@
4643
4801
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4644
4802
  <xsl:apply-templates/>
4645
4803
  </fo:block>
4646
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4647
- <fo:block xsl:use-attribute-sets="subject-style">
4648
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4649
- </fo:block>
4650
4804
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
4651
4805
  <fo:block xsl:use-attribute-sets="subject-style">
4652
4806
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -4690,8 +4844,6 @@
4690
4844
  </xsl:variable>
4691
4845
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4692
4846
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
4693
- <!-- <fo:table-column column-width="35mm"/>
4694
- <fo:table-column column-width="115mm"/> -->
4695
4847
  <fo:table-column column-width="30%"/>
4696
4848
  <fo:table-column column-width="70%"/>
4697
4849
  </xsl:if>
@@ -4701,7 +4853,7 @@
4701
4853
  <xsl:if test=".//*[local-name() = 'fn']">
4702
4854
  <xsl:for-each select="*[local-name() = 'tbody']">
4703
4855
  <fo:block font-size="90%" border-bottom="1pt solid black">
4704
- <xsl:call-template name="fn_display"/>
4856
+ <xsl:call-template name="table_fn_display"/>
4705
4857
  </fo:block>
4706
4858
  </xsl:for-each>
4707
4859
  </xsl:if>
@@ -4718,7 +4870,6 @@
4718
4870
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
4719
4871
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
4720
4872
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
4721
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
4722
4873
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
4723
4874
  </xsl:if>
4724
4875
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -4731,34 +4882,11 @@
4731
4882
  </fo:table-row>
4732
4883
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
4733
4884
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
4734
- <xsl:attribute name="text-align">
4735
- <xsl:choose>
4736
- <xsl:when test="@align">
4737
- <xsl:value-of select="@align"/>
4738
- </xsl:when>
4739
- <xsl:otherwise>left</xsl:otherwise>
4740
- </xsl:choose>
4741
- </xsl:attribute>
4742
- <xsl:if test="@colspan">
4743
- <xsl:attribute name="number-columns-spanned">
4744
- <xsl:value-of select="@colspan"/>
4745
- </xsl:attribute>
4746
- </xsl:if>
4747
- <xsl:if test="@rowspan">
4748
- <xsl:attribute name="number-rows-spanned">
4749
- <xsl:value-of select="@rowspan"/>
4750
- </xsl:attribute>
4751
- </xsl:if>
4752
- <xsl:call-template name="display-align"/>
4885
+ <xsl:call-template name="setTextAlignment">
4886
+ <xsl:with-param name="default">left</xsl:with-param>
4887
+ </xsl:call-template>
4753
4888
 
4754
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4755
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4756
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
4757
- </xsl:if>
4758
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
4759
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4760
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4761
- </xsl:if> -->
4889
+ <xsl:call-template name="setTableCellAttributes"/>
4762
4890
 
4763
4891
  <fo:block>
4764
4892
  <xsl:apply-templates/>
@@ -4770,37 +4898,15 @@
4770
4898
  <xsl:attribute name="padding">0mm</xsl:attribute>
4771
4899
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
4772
4900
  </xsl:if>
4773
- <xsl:attribute name="text-align">
4774
- <xsl:choose>
4775
- <xsl:when test="@align">
4776
- <xsl:value-of select="@align"/>
4777
- </xsl:when>
4778
- <xsl:otherwise>left</xsl:otherwise>
4779
- </xsl:choose>
4780
- </xsl:attribute>
4901
+ <xsl:call-template name="setTextAlignment">
4902
+ <xsl:with-param name="default">left</xsl:with-param>
4903
+ </xsl:call-template>
4904
+
4781
4905
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
4782
4906
  <xsl:attribute name="font-weight">bold</xsl:attribute>
4783
4907
  </xsl:if>
4784
- <xsl:if test="@colspan">
4785
- <xsl:attribute name="number-columns-spanned">
4786
- <xsl:value-of select="@colspan"/>
4787
- </xsl:attribute>
4788
- </xsl:if>
4789
- <xsl:if test="@rowspan">
4790
- <xsl:attribute name="number-rows-spanned">
4791
- <xsl:value-of select="@rowspan"/>
4792
- </xsl:attribute>
4793
- </xsl:if>
4794
- <xsl:call-template name="display-align"/>
4795
4908
 
4796
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4797
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
4798
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4799
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
4800
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4801
- </xsl:if>
4802
- </xsl:if> -->
4803
- <!-- 2nd line and below -->
4909
+ <xsl:call-template name="setTableCellAttributes"/>
4804
4910
 
4805
4911
  <fo:block>
4806
4912
  <xsl:apply-templates/>
@@ -4812,15 +4918,15 @@
4812
4918
  <xsl:apply-templates/>
4813
4919
  </fo:block>
4814
4920
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
4815
- <fo:block> <!-- margin-bottom="10pt" -->
4921
+ <fo:block>
4816
4922
  <xsl:apply-templates/>
4817
4923
  </fo:block>
4818
4924
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
4819
4925
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
4820
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4821
- <xsl:apply-templates/>
4926
+ <xsl:apply-templates select="*[local-name()='name']"/>
4927
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4822
4928
  </fo:block>
4823
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
4929
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
4824
4930
  <xsl:if test="normalize-space() != ''">
4825
4931
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
4826
4932
  <xsl:apply-templates/>
@@ -4844,42 +4950,46 @@
4844
4950
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
4845
4951
 
4846
4952
 
4847
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4848
-
4849
- <xsl:variable name="element">
4850
- block
4851
-
4852
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
4953
+ <xsl:variable name="fo_element">
4954
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
4955
+ block
4853
4956
  </xsl:variable>
4854
4957
 
4958
+ <!-- display 'EXAMPLE' -->
4959
+ <xsl:apply-templates select="*[local-name()='name']">
4960
+ <xsl:with-param name="fo_element" select="$fo_element"/>
4961
+ </xsl:apply-templates>
4962
+
4855
4963
  <xsl:choose>
4856
- <xsl:when test="contains(normalize-space($element), 'block')">
4857
- <fo:block xsl:use-attribute-sets="example-body-style">
4858
- <xsl:apply-templates/>
4859
- </fo:block>
4964
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
4965
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
4966
+ <fo:block-container margin-left="0mm" margin-right="0mm">
4967
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
4968
+ <xsl:with-param name="fo_element" select="$fo_element"/>
4969
+ </xsl:apply-templates>
4970
+ </fo:block-container>
4971
+ </fo:block-container>
4860
4972
  </xsl:when>
4861
4973
  <xsl:otherwise>
4862
4974
  <fo:inline>
4863
- <xsl:apply-templates/>
4975
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
4976
+ <xsl:with-param name="fo_element" select="$fo_element"/>
4977
+ </xsl:apply-templates>
4864
4978
  </fo:inline>
4865
4979
  </xsl:otherwise>
4866
4980
  </xsl:choose>
4867
4981
 
4868
4982
  </fo:block>
4869
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
4870
-
4871
- <xsl:variable name="element">
4872
- block
4873
-
4874
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
4875
- </xsl:variable>
4983
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
4984
+ <xsl:param name="fo_element">block</xsl:param>
4985
+
4876
4986
  <xsl:choose>
4877
4987
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
4878
4988
  <fo:inline>
4879
4989
  <xsl:apply-templates/>
4880
4990
  </fo:inline>
4881
4991
  </xsl:when>
4882
- <xsl:when test="contains(normalize-space($element), 'block')">
4992
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
4883
4993
  <fo:block xsl:use-attribute-sets="example-name-style">
4884
4994
  <xsl:apply-templates/>
4885
4995
  </fo:block>
@@ -4892,14 +5002,15 @@
4892
5002
  </xsl:choose>
4893
5003
 
4894
5004
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
5005
+ <xsl:param name="fo_element">block</xsl:param>
5006
+
4895
5007
  <xsl:variable name="num"><xsl:number/></xsl:variable>
4896
5008
  <xsl:variable name="element">
4897
- block
4898
-
4899
5009
 
5010
+ <xsl:value-of select="$fo_element"/>
4900
5011
  </xsl:variable>
4901
5012
  <xsl:choose>
4902
- <xsl:when test="normalize-space($element) = 'block'">
5013
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
4903
5014
  <fo:block xsl:use-attribute-sets="example-p-style">
4904
5015
 
4905
5016
  <xsl:apply-templates/>
@@ -4914,66 +5025,70 @@
4914
5025
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
4915
5026
  <fo:block xsl:use-attribute-sets="termsource-style">
4916
5027
 
5028
+
5029
+
4917
5030
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
4918
5031
  <xsl:variable name="termsource_text">
4919
5032
  <xsl:apply-templates/>
4920
5033
  </xsl:variable>
4921
-
4922
- <xsl:choose>
5034
+ <xsl:copy-of select="$termsource_text"/>
5035
+ <!-- <xsl:choose>
4923
5036
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
4924
- <!-- <xsl:apply-templates /> -->
4925
5037
  <xsl:copy-of select="$termsource_text"/>
4926
5038
  </xsl:when>
4927
5039
  <xsl:otherwise>
4928
-
4929
-
5040
+ <xsl:if test="$namespace = 'bsi'">
5041
+ <xsl:choose>
5042
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>{</xsl:text></xsl:when>
5043
+ <xsl:otherwise><xsl:text>[</xsl:text></xsl:otherwise>
5044
+ </xsl:choose>
5045
+ </xsl:if>
5046
+ <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
4930
5047
  <xsl:text>[</xsl:text>
4931
-
4932
- <!-- <xsl:apply-templates /> -->
5048
+ </xsl:if>
4933
5049
  <xsl:copy-of select="$termsource_text"/>
4934
-
4935
-
5050
+ <xsl:if test="$namespace = 'bsi'">
5051
+ <xsl:choose>
5052
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>}</xsl:text></xsl:when>
5053
+ <xsl:otherwise><xsl:text>]</xsl:text></xsl:otherwise>
5054
+ </xsl:choose>
5055
+ </xsl:if>
5056
+ <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
4936
5057
  <xsl:text>]</xsl:text>
4937
-
5058
+ </xsl:if>
4938
5059
  </xsl:otherwise>
4939
- </xsl:choose>
5060
+ </xsl:choose> -->
4940
5061
  </fo:block>
4941
5062
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
4942
5063
  <xsl:if test="normalize-space() != ''">
4943
5064
  <xsl:value-of select="."/>
4944
5065
  </xsl:if>
4945
- </xsl:template><xsl:variable name="localized.source">
4946
- <xsl:call-template name="getLocalizedString">
4947
- <xsl:with-param name="key">source</xsl:with-param>
4948
- </xsl:call-template>
4949
- </xsl:variable><xsl:template match="*[local-name() = 'origin']">
5066
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
5067
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
5068
+ <xsl:value-of select="."/>
5069
+ </fo:inline>
5070
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
4950
5071
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4951
5072
  <xsl:if test="normalize-space(@citeas) = ''">
4952
5073
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
4953
5074
  </xsl:if>
4954
-
4955
-
4956
- <fo:inline>
4957
-
4958
-
4959
-
4960
-
4961
-
4962
-
4963
-
4964
- <xsl:call-template name="getTitle">
4965
- <xsl:with-param name="name" select="'title-source'"/>
4966
- </xsl:call-template>
4967
- <xsl:text>: </xsl:text>
4968
-
4969
-
4970
- </fo:inline>
4971
-
4972
5075
  <fo:inline xsl:use-attribute-sets="origin-style">
4973
5076
  <xsl:apply-templates/>
4974
5077
  </fo:inline>
4975
-
4976
- </fo:basic-link>
5078
+ </fo:basic-link>
5079
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
5080
+ <xsl:variable name="title-modified">
5081
+ <xsl:call-template name="getLocalizedString">
5082
+ <xsl:with-param name="key">modified</xsl:with-param>
5083
+ </xsl:call-template>
5084
+ </xsl:variable>
5085
+
5086
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
5087
+ <xsl:choose>
5088
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
5089
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
5090
+ </xsl:choose>
5091
+ <xsl:apply-templates/>
4977
5092
  </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
4978
5093
  <fo:inline><xsl:apply-templates/></fo:inline>
4979
5094
  </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
@@ -4992,7 +5107,6 @@
4992
5107
  <fo:block-container margin-left="0mm">
4993
5108
 
4994
5109
  <fo:block xsl:use-attribute-sets="quote-style">
4995
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
4996
5110
 
4997
5111
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
4998
5112
  </fo:block>
@@ -5035,15 +5149,13 @@
5035
5149
  </xsl:variable>
5036
5150
 
5037
5151
  <xsl:choose>
5038
- <xsl:when test="normalize-space($bibitemid) != ''">
5152
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
5039
5153
  <fo:inline xsl:use-attribute-sets="eref-style">
5040
5154
  <xsl:if test="@type = 'footnote'">
5041
-
5042
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5043
- <xsl:attribute name="font-size">80%</xsl:attribute>
5044
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5045
- <xsl:attribute name="vertical-align">super</xsl:attribute>
5046
-
5155
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5156
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5157
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
5158
+ <xsl:attribute name="font-size">80%</xsl:attribute>
5047
5159
 
5048
5160
  </xsl:if>
5049
5161
 
@@ -5063,7 +5175,6 @@
5063
5175
 
5064
5176
 
5065
5177
 
5066
-
5067
5178
  </xsl:if>
5068
5179
 
5069
5180
 
@@ -5122,8 +5233,6 @@
5122
5233
  </xsl:choose>
5123
5234
  </xsl:variable>
5124
5235
 
5125
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5126
-
5127
5236
  <xsl:choose>
5128
5237
  <xsl:when test="$lang = 'zh'">
5129
5238
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -5156,14 +5265,11 @@
5156
5265
  <fo:block xsl:use-attribute-sets="admitted-style">
5157
5266
  <xsl:apply-templates/>
5158
5267
  </fo:block>
5159
- </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
5160
- <xsl:variable name="title-deprecated">
5161
-
5162
- <xsl:call-template name="getLocalizedString">
5163
- <xsl:with-param name="key">deprecated</xsl:with-param>
5164
- </xsl:call-template>
5165
-
5166
-
5268
+ </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
5269
+ <xsl:variable name="title-deprecated">
5270
+ <xsl:call-template name="getLocalizedString">
5271
+ <xsl:with-param name="key">deprecated</xsl:with-param>
5272
+ </xsl:call-template>
5167
5273
  </xsl:variable>
5168
5274
  <fo:block xsl:use-attribute-sets="deprecates-style">
5169
5275
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -5172,6 +5278,8 @@
5172
5278
  <xsl:if test="*[local-name() = 'strong']">
5173
5279
  <xsl:attribute name="font-weight">normal</xsl:attribute>
5174
5280
  </xsl:if>
5281
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
5282
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
5175
5283
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
5176
5284
  <fo:block xsl:use-attribute-sets="definition-style">
5177
5285
  <xsl:apply-templates/>
@@ -5180,7 +5288,6 @@
5180
5288
  <xsl:apply-templates/>
5181
5289
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
5182
5290
  <fo:inline> <xsl:apply-templates/></fo:inline>
5183
- <!-- <fo:block>&#xA0;</fo:block> -->
5184
5291
  <fo:block/>
5185
5292
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
5186
5293
 
@@ -5216,11 +5323,6 @@
5216
5323
  <xsl:apply-templates/>
5217
5324
  </fo:block>
5218
5325
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
5219
- <fo:block id="{@id}">
5220
- <xsl:apply-templates/>
5221
- </fo:block>
5222
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
5223
-
5224
5326
  <fo:block id="{@id}">
5225
5327
  <xsl:apply-templates/>
5226
5328
  </fo:block>
@@ -5237,6 +5339,51 @@
5237
5339
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
5238
5340
  <!-- 0xA0 to space replacement -->
5239
5341
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
5342
+ </xsl:template><xsl:variable name="ul_labels_">
5343
+
5344
+
5345
+
5346
+
5347
+
5348
+
5349
+ <label>—</label> <!-- em dash -->
5350
+
5351
+
5352
+
5353
+
5354
+
5355
+
5356
+
5357
+
5358
+
5359
+
5360
+
5361
+
5362
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
5363
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5364
+ <xsl:variable name="list_level">
5365
+ <xsl:choose>
5366
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
5367
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
5368
+ </xsl:choose>
5369
+ </xsl:variable>
5370
+ <xsl:choose>
5371
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
5372
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
5373
+ </xsl:when>
5374
+ <xsl:when test="$list_level mod 3 = 0">
5375
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
5376
+ </xsl:when>
5377
+ <xsl:when test="$list_level mod 2 = 0">
5378
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
5379
+ </xsl:when>
5380
+ <xsl:otherwise>
5381
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
5382
+ </xsl:otherwise>
5383
+ </xsl:choose>
5384
+ </xsl:template><xsl:template match="label" mode="ul_labels">
5385
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
5386
+ <xsl:value-of select="."/>
5240
5387
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5241
5388
  <xsl:choose>
5242
5389
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -5443,119 +5590,173 @@
5443
5590
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
5444
5591
  <fo:block><xsl:apply-templates/></fo:block>
5445
5592
  </fo:table-cell>
5446
- </xsl:template><xsl:template name="processBibitem">
5593
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/><xsl:template match="*[local-name() = 'references'][@normative='true']" priority="2">
5447
5594
 
5448
5595
 
5449
5596
 
5450
-
5597
+ <fo:block id="{@id}">
5598
+ <xsl:apply-templates/>
5599
+ </fo:block>
5600
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
5601
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
5602
+
5603
+ </xsl:if>
5451
5604
 
5605
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
5606
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
5607
+ <fo:block break-after="page"/>
5608
+ </xsl:if>
5609
+ </xsl:if> -->
5452
5610
 
5611
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
5612
+ <xsl:apply-templates/>
5613
+ </fo:block>
5453
5614
 
5454
- <!-- start IHO bibtem processing -->
5455
- <xsl:choose>
5456
- <xsl:when test="iho:formattedref">
5457
- <xsl:apply-templates select="iho:formattedref"/>
5458
- </xsl:when>
5459
- <xsl:otherwise>
5460
- <xsl:choose>
5461
- <!-- IHO documents -->
5462
- <!-- {docID} edition {edition}: {title}, {author/organization} -->
5463
- <xsl:when test="iho:docidentifier[1]/@type='IHO'">
5464
- <xsl:value-of select="iho:docidentifier[1]"/>
5465
- <xsl:apply-templates select="iho:edition"/>
5466
- <xsl:if test="iho:title or iho:contributor or iho:url">
5467
- <xsl:text>: </xsl:text>
5468
- </xsl:if>
5469
- </xsl:when>
5470
-
5471
- <!-- Non-IHO documents -->
5472
- <!-- title and publisher -->
5473
- <xsl:otherwise>
5474
- <xsl:variable name="docID">
5475
- <xsl:call-template name="processBibitemDocId"/>
5476
- </xsl:variable>
5477
- <xsl:value-of select="normalize-space($docID)"/>
5478
- <xsl:if test="normalize-space($docID) != ''"><xsl:text>: </xsl:text></xsl:if>
5479
- </xsl:otherwise>
5480
- </xsl:choose>
5481
-
5482
- <xsl:choose>
5483
- <xsl:when test="iho:title[@type = 'main' and @language = 'en']">
5484
- <xsl:apply-templates select="iho:title[@type = 'main' and @language = 'en']"/>
5485
- </xsl:when>
5486
- <xsl:otherwise>
5487
- <xsl:apply-templates select="iho:title"/>
5488
- </xsl:otherwise>
5489
- </xsl:choose>
5490
-
5491
- <xsl:if test="iho:title and iho:contributor">
5492
- <xsl:text>, </xsl:text>
5493
- </xsl:if>
5494
-
5495
- <xsl:variable name="authors">
5615
+
5616
+
5617
+
5618
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
5619
+ <xsl:call-template name="bibitem"/>
5620
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
5621
+
5622
+ <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-normative-list-style">
5623
+ <fo:list-item>
5624
+ <fo:list-item-label end-indent="label-end()">
5625
+ <fo:block>
5626
+ <fo:inline>
5627
+
5628
+ <xsl:value-of select="*[local-name() = 'docidentifier'][@type = 'metanorma-ordinal']"/>
5629
+ <xsl:if test="not(*[local-name() = 'docidentifier'][@type = 'metanorma-ordinal'])">
5630
+ <xsl:number format="[1]"/>
5631
+ </xsl:if>
5632
+
5633
+ </fo:inline>
5634
+ </fo:block>
5635
+ </fo:list-item-label>
5636
+ <fo:list-item-body start-indent="body-start()">
5637
+ <fo:block xsl:use-attribute-sets="bibitem-normative-list-body-style">
5638
+ <xsl:call-template name="processBibitem"/>
5639
+ </fo:block>
5640
+ </fo:list-item-body>
5641
+ </fo:list-item>
5642
+ </fo:list-block>
5643
+
5644
+
5645
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
5646
+
5647
+
5648
+ <xsl:call-template name="bibitem"/>
5649
+
5650
+
5651
+ </xsl:template><xsl:template name="processBibitem">
5652
+
5653
+
5654
+ <!-- start IHO bibitem processing -->
5655
+ <!-- IHO documents:
5656
+ "[1] S57 edition 3.1: IHO Transfer Standard for Digital Hydrographic Data, International Hydrographic Organization (www.iho.int)”
5657
+ [{number}] {docID} edition {edition}: {title}, {author/organization}
5658
+ Non-IHO documents:
5659
+ Provide title and publisher -->
5660
+ <xsl:choose>
5661
+ <xsl:when test="iho:formattedref">
5662
+ <xsl:apply-templates select="iho:formattedref"/>
5663
+ </xsl:when>
5664
+ <xsl:otherwise>
5496
5665
  <xsl:choose>
5497
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5498
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5499
- <xsl:copy-of select="."/>
5500
- </xsl:for-each>
5501
- </xsl:when>
5502
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
5503
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
5504
- <xsl:copy-of select="."/>
5505
- </xsl:for-each>
5506
- </xsl:when>
5507
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
5508
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
5509
- <xsl:copy>
5510
- <xsl:choose>
5511
- <xsl:when test="position() != 1 and position() != last()">, </xsl:when>
5512
- <xsl:when test="position() != 1 and position() = last()"> and </xsl:when>
5513
- </xsl:choose>
5514
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5515
- </xsl:copy>
5516
- </xsl:for-each>
5666
+ <!-- IHO documents -->
5667
+ <!-- {docID} edition {edition}: {title}, {author/organization} -->
5668
+ <xsl:when test="iho:docidentifier[1]/@type='IHO'">
5669
+ <xsl:value-of select="iho:docidentifier[1]"/>
5670
+ <xsl:apply-templates select="iho:edition"/>
5671
+ <xsl:if test="iho:title or iho:contributor or iho:url">
5672
+ <xsl:text>: </xsl:text>
5673
+ </xsl:if>
5517
5674
  </xsl:when>
5518
- </xsl:choose>
5519
- </xsl:variable>
5520
-
5521
- <xsl:for-each select="xalan:nodeset($authors)/*">
5522
- <xsl:choose>
5523
- <xsl:when test="not(*[local-name() = 'role'])"><!-- publisher organisation -->
5524
- <xsl:value-of select="."/>
5675
+
5676
+ <!-- Non-IHO documents -->
5677
+ <!-- title and publisher -->
5678
+ <xsl:otherwise>
5679
+ <xsl:variable name="docID">
5680
+ <xsl:call-template name="processBibitemDocId"/>
5681
+ </xsl:variable>
5682
+ <xsl:value-of select="normalize-space($docID)"/>
5683
+ <xsl:if test="normalize-space($docID) != ''"><xsl:text>: </xsl:text></xsl:if>
5684
+ </xsl:otherwise>
5685
+ </xsl:choose>
5686
+
5687
+ <xsl:choose>
5688
+ <xsl:when test="iho:title[@type = 'main' and @language = 'en']">
5689
+ <xsl:apply-templates select="iho:title[@type = 'main' and @language = 'en']"/>
5525
5690
  </xsl:when>
5526
- <xsl:otherwise> <!-- author, editor -->
5527
- <xsl:choose>
5528
- <xsl:when test="*[local-name() = 'organization']/*[local-name() = 'name']">
5529
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5530
- </xsl:when>
5531
- <xsl:otherwise>
5532
- <xsl:for-each select="*[local-name() = 'person']">
5533
- <xsl:variable name="author">
5534
- <xsl:call-template name="processPersonalAuthor"/>
5535
- </xsl:variable>
5536
- <xsl:value-of select="xalan:nodeset($author)/author"/>
5537
- </xsl:for-each>
5538
- </xsl:otherwise>
5539
- </xsl:choose>
5691
+ <xsl:otherwise>
5692
+ <xsl:apply-templates select="iho:title"/>
5540
5693
  </xsl:otherwise>
5541
5694
  </xsl:choose>
5542
- <xsl:if test="*[local-name() = 'organization']/*[local-name() = 'name'] and position() != last()">
5695
+
5696
+ <xsl:if test="iho:title and iho:contributor">
5543
5697
  <xsl:text>, </xsl:text>
5544
- </xsl:if>
5545
- </xsl:for-each>
5546
-
5547
- <xsl:apply-templates select="*[local-name() = 'uri'][1]"/>
5548
-
5549
- </xsl:otherwise>
5550
- </xsl:choose>
5551
- <!-- end IHO bibitem processing -->
5552
-
5553
-
5554
-
5555
-
5556
-
5698
+ </xsl:if>
5699
+
5700
+ <xsl:variable name="authors">
5701
+ <xsl:choose>
5702
+ <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5703
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5704
+ <xsl:copy-of select="."/>
5705
+ </xsl:for-each>
5706
+ </xsl:when>
5707
+ <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
5708
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
5709
+ <xsl:copy-of select="."/>
5710
+ </xsl:for-each>
5711
+ </xsl:when>
5712
+ <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
5713
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
5714
+ <xsl:copy>
5715
+ <xsl:choose>
5716
+ <xsl:when test="position() != 1 and position() != last()">, </xsl:when>
5717
+ <xsl:when test="position() != 1 and position() = last()"> and </xsl:when>
5718
+ </xsl:choose>
5719
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5720
+ </xsl:copy>
5721
+ </xsl:for-each>
5722
+ </xsl:when>
5723
+ </xsl:choose>
5724
+ </xsl:variable>
5725
+
5726
+ <xsl:for-each select="xalan:nodeset($authors)/*">
5727
+ <xsl:choose>
5728
+ <xsl:when test="not(*[local-name() = 'role'])"><!-- publisher organisation -->
5729
+ <xsl:value-of select="."/>
5730
+ </xsl:when>
5731
+ <xsl:otherwise> <!-- author, editor -->
5732
+ <xsl:choose>
5733
+ <xsl:when test="*[local-name() = 'organization']/*[local-name() = 'name']">
5734
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5735
+ </xsl:when>
5736
+ <xsl:otherwise>
5737
+ <xsl:for-each select="*[local-name() = 'person']">
5738
+ <xsl:variable name="author">
5739
+ <xsl:call-template name="processPersonalAuthor"/>
5740
+ </xsl:variable>
5741
+ <xsl:value-of select="xalan:nodeset($author)/author"/>
5742
+ </xsl:for-each>
5743
+ </xsl:otherwise>
5744
+ </xsl:choose>
5745
+ </xsl:otherwise>
5746
+ </xsl:choose>
5747
+ <xsl:if test="*[local-name() = 'organization']/*[local-name() = 'name'] and position() != last()">
5748
+ <xsl:text>, </xsl:text>
5749
+ </xsl:if>
5750
+ </xsl:for-each>
5751
+
5752
+ <xsl:apply-templates select="*[local-name() = 'uri'][1]"/>
5753
+
5754
+ </xsl:otherwise>
5755
+ </xsl:choose>
5756
+ <!-- end IHO bibitem processing -->
5757
+
5557
5758
  </xsl:template><xsl:template name="processBibitemDocId">
5558
- <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
5759
+ <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
5559
5760
  <xsl:choose>
5560
5761
  <xsl:when test="normalize-space($_doc_ident) != ''">
5561
5762
  <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
@@ -5569,7 +5770,7 @@
5569
5770
  <xsl:if test="$type != ''">
5570
5771
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
5571
5772
  </xsl:if> -->
5572
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
5773
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
5573
5774
  </xsl:otherwise>
5574
5775
  </xsl:choose>
5575
5776
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -5610,6 +5811,52 @@
5610
5811
  <xsl:value-of select="substring(.,1,1)"/>
5611
5812
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
5612
5813
  <fo:inline><xsl:apply-templates/></fo:inline>
5814
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
5815
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
5816
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
5817
+ <xsl:apply-templates/>
5818
+ </fo:inline>
5819
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
5820
+ <fo:footnote>
5821
+ <xsl:variable name="number">
5822
+
5823
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
5824
+
5825
+ </xsl:variable>
5826
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
5827
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
5828
+ <xsl:value-of select="$number"/>
5829
+
5830
+ <xsl:text>)</xsl:text>
5831
+
5832
+ </fo:basic-link>
5833
+ </fo:inline>
5834
+ <fo:footnote-body>
5835
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
5836
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
5837
+ <xsl:value-of select="$number"/>
5838
+
5839
+ <xsl:text>)</xsl:text>
5840
+
5841
+ </fo:inline>
5842
+ <xsl:apply-templates/>
5843
+ </fo:block>
5844
+ </fo:footnote-body>
5845
+ </fo:footnote>
5846
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
5847
+ <xsl:text> edition </xsl:text>
5848
+ <xsl:value-of select="."/>
5849
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
5850
+ <xsl:text> (</xsl:text>
5851
+ <fo:inline xsl:use-attribute-sets="link-style">
5852
+ <fo:basic-link external-destination="." fox:alt-text=".">
5853
+ <xsl:value-of select="."/>
5854
+ </fo:basic-link>
5855
+ </fo:inline>
5856
+ <xsl:text>)</xsl:text>
5857
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
5858
+
5859
+ <xsl:apply-templates/>
5613
5860
  </xsl:template><xsl:template match="*[local-name() = 'form']">
5614
5861
  <fo:block>
5615
5862
  <xsl:apply-templates/>
@@ -5674,7 +5921,18 @@
5674
5921
  <fo:block-container border="1pt solid black" width="50%">
5675
5922
  <fo:block> </fo:block>
5676
5923
  </fo:block-container>
5677
- </xsl:template><xsl:template match="*[local-name() = 'toc']">
5924
+ </xsl:template><xsl:variable name="toc_level">
5925
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
5926
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
5927
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
5928
+ <xsl:choose>
5929
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
5930
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
5931
+ <xsl:otherwise><!-- default value -->
5932
+ 2
5933
+ </xsl:otherwise>
5934
+ </xsl:choose>
5935
+ </xsl:variable><xsl:template match="*[local-name() = 'toc']">
5678
5936
  <xsl:param name="colwidths"/>
5679
5937
  <xsl:variable name="colwidths_">
5680
5938
  <xsl:choose>
@@ -5754,7 +6012,7 @@
5754
6012
  </td>
5755
6013
  </xsl:for-each>
5756
6014
  <td>333</td> <!-- page number, just for fill -->
5757
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6015
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5758
6016
  <fo:inline padding-right="5mm"> </fo:inline>
5759
6017
  <fo:inline><xsl:apply-templates/></fo:inline>
5760
6018
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -5765,6 +6023,61 @@
5765
6023
  </svg>
5766
6024
  </fo:instream-foreign-object>
5767
6025
  </fo:inline>
6026
+ </xsl:template><xsl:template match="@language">
6027
+ <xsl:copy-of select="."/>
6028
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6029
+ <xsl:call-template name="title"/>
6030
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
6031
+
6032
+
6033
+
6034
+
6035
+
6036
+ <!-- text in the box -->
6037
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
6038
+
6039
+
6040
+
6041
+
6042
+
6043
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
6044
+
6045
+
6046
+ <fo:block xsl:use-attribute-sets="admonition-name-style">
6047
+ <xsl:call-template name="displayAdmonitionName"/>
6048
+ </fo:block>
6049
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
6050
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6051
+ </fo:block>
6052
+
6053
+ </fo:block-container>
6054
+
6055
+ </fo:block-container>
6056
+
6057
+ </xsl:template><xsl:template name="displayAdmonitionName">
6058
+
6059
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
6060
+ <xsl:if test="not(*[local-name() = 'name'])">
6061
+ <xsl:apply-templates select="@type"/>
6062
+ </xsl:if>
6063
+
6064
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
6065
+ <xsl:apply-templates/>
6066
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
6067
+ <xsl:variable name="admonition_type_">
6068
+ <xsl:call-template name="getLocalizedString">
6069
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
6070
+ </xsl:call-template>
6071
+ </xsl:variable>
6072
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
6073
+ <xsl:value-of select="$admonition_type"/>
6074
+ <xsl:if test="$admonition_type = ''">
6075
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
6076
+ </xsl:if>
6077
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
6078
+ <!-- processing for admonition/p found in the template for 'p' -->
6079
+ <xsl:call-template name="paragraph"/>
6080
+
5768
6081
  </xsl:template><xsl:template name="convertDate">
5769
6082
  <xsl:param name="date"/>
5770
6083
  <xsl:param name="format" select="'short'"/>
@@ -5773,78 +6086,39 @@
5773
6086
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
5774
6087
  <xsl:variable name="monthStr">
5775
6088
  <xsl:choose>
5776
- <xsl:when test="$month = '01'">January</xsl:when>
5777
- <xsl:when test="$month = '02'">February</xsl:when>
5778
- <xsl:when test="$month = '03'">March</xsl:when>
5779
- <xsl:when test="$month = '04'">April</xsl:when>
5780
- <xsl:when test="$month = '05'">May</xsl:when>
5781
- <xsl:when test="$month = '06'">June</xsl:when>
5782
- <xsl:when test="$month = '07'">July</xsl:when>
5783
- <xsl:when test="$month = '08'">August</xsl:when>
5784
- <xsl:when test="$month = '09'">September</xsl:when>
5785
- <xsl:when test="$month = '10'">October</xsl:when>
5786
- <xsl:when test="$month = '11'">November</xsl:when>
5787
- <xsl:when test="$month = '12'">December</xsl:when>
5788
- </xsl:choose>
5789
- </xsl:variable>
5790
- <xsl:variable name="result">
5791
- <xsl:choose>
5792
- <xsl:when test="$format = 'ddMMyyyy'">
5793
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5794
- <xsl:text> </xsl:text>
5795
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
5796
- </xsl:when>
5797
- <xsl:when test="$format = 'ddMM'">
5798
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5799
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
5800
- </xsl:when>
5801
- <xsl:when test="$format = 'short' or $day = ''">
5802
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
5803
- </xsl:when>
5804
- <xsl:otherwise>
5805
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
5806
- </xsl:otherwise>
6089
+ <xsl:when test="$month = '01'">january</xsl:when>
6090
+ <xsl:when test="$month = '02'">february</xsl:when>
6091
+ <xsl:when test="$month = '03'">march</xsl:when>
6092
+ <xsl:when test="$month = '04'">april</xsl:when>
6093
+ <xsl:when test="$month = '05'">may</xsl:when>
6094
+ <xsl:when test="$month = '06'">june</xsl:when>
6095
+ <xsl:when test="$month = '07'">july</xsl:when>
6096
+ <xsl:when test="$month = '08'">august</xsl:when>
6097
+ <xsl:when test="$month = '09'">september</xsl:when>
6098
+ <xsl:when test="$month = '10'">october</xsl:when>
6099
+ <xsl:when test="$month = '11'">november</xsl:when>
6100
+ <xsl:when test="$month = '12'">december</xsl:when>
5807
6101
  </xsl:choose>
5808
6102
  </xsl:variable>
5809
- <xsl:value-of select="$result"/>
5810
- </xsl:template><xsl:template name="convertDateLocalized">
5811
- <xsl:param name="date"/>
5812
- <xsl:param name="format" select="'short'"/>
5813
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
5814
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
5815
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
5816
- <xsl:variable name="monthStr">
5817
- <xsl:choose>
5818
- <xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
5819
- <xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
5820
- <xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
5821
- <xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
5822
- <xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
5823
- <xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
5824
- <xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
5825
- <xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
5826
- <xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
5827
- <xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
5828
- <xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
5829
- <xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
5830
- </xsl:choose>
6103
+ <xsl:variable name="monthStr_localized">
6104
+ <xsl:if test="normalize-space($monthStr) != ''"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param></xsl:call-template></xsl:if>
5831
6105
  </xsl:variable>
5832
6106
  <xsl:variable name="result">
5833
6107
  <xsl:choose>
5834
6108
  <xsl:when test="$format = 'ddMMyyyy'">
5835
6109
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5836
6110
  <xsl:text> </xsl:text>
5837
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6111
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
5838
6112
  </xsl:when>
5839
6113
  <xsl:when test="$format = 'ddMM'">
5840
6114
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5841
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6115
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
5842
6116
  </xsl:when>
5843
6117
  <xsl:when test="$format = 'short' or $day = ''">
5844
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6118
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
5845
6119
  </xsl:when>
5846
6120
  <xsl:otherwise>
5847
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6121
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
5848
6122
  </xsl:otherwise>
5849
6123
  </xsl:choose>
5850
6124
  </xsl:variable>
@@ -5896,14 +6170,9 @@
5896
6170
  <dc:title>
5897
6171
  <xsl:variable name="title">
5898
6172
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5899
-
5900
-
5901
-
5902
-
5903
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
5904
-
5905
-
5906
6173
 
6174
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
6175
+
5907
6176
  </xsl:for-each>
5908
6177
  </xsl:variable>
5909
6178
  <xsl:choose>
@@ -5918,21 +6187,18 @@
5918
6187
  <dc:creator>
5919
6188
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5920
6189
 
5921
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5922
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5923
- <xsl:if test="position() != last()">; </xsl:if>
5924
- </xsl:for-each>
5925
-
5926
-
5927
-
6190
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6191
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6192
+ <xsl:if test="position() != last()">; </xsl:if>
6193
+ </xsl:for-each>
6194
+
5928
6195
  </xsl:for-each>
5929
6196
  </dc:creator>
5930
6197
  <dc:description>
5931
6198
  <xsl:variable name="abstract">
5932
6199
 
5933
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5934
-
5935
-
6200
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6201
+
5936
6202
  </xsl:variable>
5937
6203
  <xsl:value-of select="normalize-space($abstract)"/>
5938
6204
  </dc:description>
@@ -5952,7 +6218,6 @@
5952
6218
  <xsl:value-of select="../@id"/>
5953
6219
  </xsl:when>
5954
6220
  <xsl:otherwise>
5955
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
5956
6221
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
5957
6222
  </xsl:otherwise>
5958
6223
  </xsl:choose>
@@ -5978,9 +6243,6 @@
5978
6243
  <xsl:when test="ancestor::*[local-name() = 'preface']">
5979
6244
  <xsl:value-of select="$level_total - 2"/>
5980
6245
  </xsl:when>
5981
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
5982
- <xsl:value-of select="$level_total - 1"/>
5983
- </xsl:when> -->
5984
6246
  <xsl:when test="ancestor::*[local-name() = 'sections']">
5985
6247
  <xsl:value-of select="$level_total - 1"/>
5986
6248
  </xsl:when>
@@ -6122,9 +6384,15 @@
6122
6384
  </xsl:template><xsl:template name="getLocalizedString">
6123
6385
  <xsl:param name="key"/>
6124
6386
  <xsl:param name="formatted">false</xsl:param>
6387
+ <xsl:param name="lang"/>
6125
6388
 
6126
6389
  <xsl:variable name="curr_lang">
6127
- <xsl:call-template name="getLang"/>
6390
+ <xsl:choose>
6391
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
6392
+ <xsl:otherwise>
6393
+ <xsl:call-template name="getLang"/>
6394
+ </xsl:otherwise>
6395
+ </xsl:choose>
6128
6396
  </xsl:variable>
6129
6397
 
6130
6398
  <xsl:variable name="data_value">
@@ -6164,7 +6432,6 @@
6164
6432
  <xsl:value-of select="$key_"/>
6165
6433
  </xsl:otherwise>
6166
6434
  </xsl:choose>
6167
-
6168
6435
  </xsl:template><xsl:template name="setTrackChangesStyles">
6169
6436
  <xsl:param name="isAdded"/>
6170
6437
  <xsl:param name="isDeleted"/>
@@ -6187,7 +6454,6 @@
6187
6454
  <xsl:if test="local-name() = 'table'">
6188
6455
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
6189
6456
  </xsl:if>
6190
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
6191
6457
  <xsl:attribute name="padding">2mm</xsl:attribute>
6192
6458
  </xsl:if>
6193
6459
  </xsl:otherwise>
@@ -6207,15 +6473,18 @@
6207
6473
  </xsl:choose>
6208
6474
  </xsl:template><xsl:template name="setTextAlignment">
6209
6475
  <xsl:param name="default">left</xsl:param>
6476
+ <xsl:variable name="align" select="normalize-space(@align)"/>
6210
6477
  <xsl:attribute name="text-align">
6211
6478
  <xsl:choose>
6212
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6479
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
6480
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
6481
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
6213
6482
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6214
6483
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6215
6484
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6216
6485
  </xsl:choose>
6217
6486
  </xsl:attribute>
6218
- <xsl:if test="@align = 'indent'">
6487
+ <xsl:if test="$align = 'indent'">
6219
6488
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
6220
6489
  </xsl:if>
6221
6490
  </xsl:template><xsl:template name="number-to-words">
@@ -6314,4 +6583,14 @@
6314
6583
  </xsl:otherwise>
6315
6584
  </xsl:choose>
6316
6585
  </xsl:if>
6586
+ </xsl:template><xsl:template name="setAltText">
6587
+ <xsl:param name="value"/>
6588
+ <xsl:attribute name="fox:alt-text">
6589
+ <xsl:choose>
6590
+ <xsl:when test="normalize-space($value) != ''">
6591
+ <xsl:value-of select="$value"/>
6592
+ </xsl:when>
6593
+ <xsl:otherwise>_</xsl:otherwise>
6594
+ </xsl:choose>
6595
+ </xsl:attribute>
6317
6596
  </xsl:template></xsl:stylesheet>