metanorma-iho 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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>