metanorma-nist 1.2.4 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -57,7 +57,7 @@
57
57
 
58
58
  <xsl:template match="/">
59
59
  <xsl:call-template name="namespaceCheck"/>
60
- <fo:root font-family="Times New Roman, STIX2Math" font-size="12pt" xml:lang="{$lang}">
60
+ <fo:root font-family="Times New Roman, STIX Two Math" font-size="12pt" xml:lang="{$lang}">
61
61
  <fo:layout-master-set>
62
62
  <!-- Cover pages -->
63
63
  <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
@@ -88,6 +88,10 @@
88
88
 
89
89
  <xsl:call-template name="addPDFUAmeta"/>
90
90
 
91
+ <xsl:call-template name="addBookmarks">
92
+ <xsl:with-param name="contents" select="$contents"/>
93
+ </xsl:call-template>
94
+
91
95
  <!-- cover page -->
92
96
  <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
93
97
  <fo:flow flow-name="xsl-region-body">
@@ -869,7 +873,7 @@
869
873
  </xsl:call-template>
870
874
  </xsl:variable>
871
875
  <fo:block font-size="12pt" margin-bottom="12pt" text-align="center" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:block>
872
- <xsl:for-each select="xalan:nodeset($contents)//item">
876
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
873
877
 
874
878
  <fo:block>
875
879
  <xsl:if test="@level = 1">
@@ -884,10 +888,10 @@
884
888
  <xsl:if test="@type = 'annex'">
885
889
  <xsl:attribute name="font-weight">bold</xsl:attribute>
886
890
  </xsl:if>
887
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
891
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
888
892
  <xsl:value-of select="@section"/>
889
893
  <xsl:text> </xsl:text>
890
- <xsl:apply-templates/>
894
+ <xsl:apply-templates select="title"/>
891
895
  <fo:inline keep-together.within-line="always">
892
896
  <fo:leader leader-pattern="dots"/>
893
897
  <xsl:if test="@type = 'annex'">
@@ -1148,17 +1152,24 @@
1148
1152
  </xsl:variable>
1149
1153
 
1150
1154
  <xsl:variable name="display">
1151
- <xsl:choose>
1152
- <xsl:when test="ancestor-or-self::nist:bibitem">false</xsl:when>
1155
+ <xsl:choose>
1153
1156
  <xsl:when test="ancestor::nist:annex and $level &gt;= 2">false</xsl:when>
1154
- <xsl:when test="ancestor-or-self::nist:terms">false</xsl:when>
1155
1157
  <xsl:when test="$level &gt;= 3">false</xsl:when>
1156
1158
  <xsl:otherwise>true</xsl:otherwise>
1157
1159
  </xsl:choose>
1158
1160
  </xsl:variable>
1159
1161
 
1160
1162
 
1161
- <xsl:if test="$display = 'true'">
1163
+ <xsl:variable name="skip">
1164
+ <xsl:choose>
1165
+ <xsl:when test="ancestor-or-self::nist:bibitem">true</xsl:when>
1166
+ <xsl:when test="ancestor-or-self::nist:terms">true</xsl:when>
1167
+ <xsl:otherwise>false</xsl:otherwise>
1168
+ </xsl:choose>
1169
+ </xsl:variable>
1170
+
1171
+
1172
+ <xsl:if test="$skip = 'false'">
1162
1173
 
1163
1174
  <xsl:variable name="section">
1164
1175
  <xsl:call-template name="getSection"/>
@@ -1172,16 +1183,18 @@
1172
1183
  <xsl:value-of select="local-name()"/>
1173
1184
  </xsl:variable>
1174
1185
 
1175
- <item id="{@id}" level="{$level}" section="{$section}" type="{$type}">
1186
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" display="{$display}">
1176
1187
  <xsl:if test="$type = 'annex'">
1177
1188
  <xsl:attribute name="annexnum">
1178
1189
  <xsl:value-of select="substring-after(nist:title/@xref, ' ')"/>
1179
1190
  </xsl:attribute>
1180
1191
  </xsl:if>
1181
- <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
1192
+ <title>
1193
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
1194
+ </title>
1195
+ <xsl:apply-templates mode="contents"/>
1182
1196
  </item>
1183
- <xsl:apply-templates mode="contents"/>
1184
- </xsl:if>
1197
+ </xsl:if>
1185
1198
 
1186
1199
  </xsl:template>
1187
1200
 
@@ -1789,7 +1802,7 @@
1789
1802
  </xsl:template>
1790
1803
 
1791
1804
  <xsl:template match="mathml:math" priority="2">
1792
- <fo:inline font-family="STIX2Math">
1805
+ <fo:inline font-family="STIX Two Math">
1793
1806
  <xsl:if test="ancestor::nist:table">
1794
1807
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1795
1808
  </xsl:if>
@@ -2187,7 +2200,12 @@
2187
2200
 
2188
2201
 
2189
2202
  </title-toc>
2190
- <title-toc lang="fr">Sommaire</title-toc>
2203
+ <title-toc lang="fr">
2204
+
2205
+ <xsl:text>Sommaire</xsl:text>
2206
+
2207
+
2208
+ </title-toc>
2191
2209
 
2192
2210
  <title-toc lang="zh">Contents</title-toc>
2193
2211
 
@@ -2275,10 +2293,19 @@
2275
2293
 
2276
2294
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
2277
2295
  <xsl:param name="name"/>
2278
- <xsl:variable name="lang">
2279
- <xsl:call-template name="getLang"/>
2296
+ <xsl:param name="lang"/>
2297
+ <xsl:variable name="lang_">
2298
+ <xsl:choose>
2299
+ <xsl:when test="$lang != ''">
2300
+ <xsl:value-of select="$lang"/>
2301
+ </xsl:when>
2302
+ <xsl:otherwise>
2303
+ <xsl:call-template name="getLang"/>
2304
+ </xsl:otherwise>
2305
+ </xsl:choose>
2280
2306
  </xsl:variable>
2281
- <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
2307
+ <xsl:variable name="language" select="normalize-space($lang_)"/>
2308
+ <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $language]"/>
2282
2309
  <xsl:choose>
2283
2310
  <xsl:when test="normalize-space($title_) != ''">
2284
2311
  <xsl:value-of select="$title_"/>
@@ -2429,6 +2456,7 @@
2429
2456
 
2430
2457
 
2431
2458
 
2459
+
2432
2460
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2433
2461
 
2434
2462
 
@@ -2648,6 +2676,8 @@
2648
2676
 
2649
2677
 
2650
2678
 
2679
+
2680
+
2651
2681
  <!-- $namespace = 'iso' or -->
2652
2682
 
2653
2683
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -2683,6 +2713,7 @@
2683
2713
  <xsl:with-param name="table" select="$simple-table"/>
2684
2714
  </xsl:call-template>
2685
2715
  </xsl:variable>
2716
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2686
2717
 
2687
2718
  <!-- <xsl:variable name="colwidths2">
2688
2719
  <xsl:call-template name="calculate-column-widths">
@@ -2703,40 +2734,62 @@
2703
2734
 
2704
2735
  <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2705
2736
 
2737
+
2706
2738
  <xsl:attribute name="space-after">6pt</xsl:attribute>
2707
2739
 
2740
+
2741
+
2742
+
2708
2743
 
2709
2744
 
2745
+ <xsl:if test="ancestor::*[local-name()='annex'] or ancestor::*[local-name()='preface']">
2746
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2747
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2748
+ </xsl:if>
2749
+ <xsl:if test="not(ancestor::*[local-name()='annex'] or ancestor::*[local-name()='preface'])">
2750
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2751
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
2752
+ </xsl:if>
2753
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2710
2754
 
2755
+
2711
2756
 
2712
-
2713
2757
 
2714
2758
 
2715
2759
 
2716
- <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
2717
-
2718
-
2719
-
2720
-
2721
-
2722
-
2723
- <xsl:if test="ancestor::*[local-name()='annex'] or ancestor::*[local-name()='preface']">
2724
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2725
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2726
- </xsl:if>
2727
- <xsl:if test="not(ancestor::*[local-name()='annex'] or ancestor::*[local-name()='preface'])">
2728
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2729
- <xsl:attribute name="font-size">12pt</xsl:attribute>
2730
- </xsl:if>
2731
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2760
+
2761
+
2762
+
2763
+ <xsl:variable name="table_attributes">
2764
+ <attribute name="table-layout">fixed</attribute>
2765
+ <attribute name="width">100%</attribute>
2766
+ <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2767
+ <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2732
2768
 
2733
2769
 
2734
2770
 
2735
2771
 
2772
+
2773
+
2774
+
2736
2775
 
2776
+
2737
2777
 
2778
+ </xsl:variable>
2779
+
2780
+
2781
+ <fo:table id="{@id}" table-omit-footer-at-break="true">
2738
2782
 
2783
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2784
+ <xsl:attribute name="{@name}">
2785
+ <xsl:value-of select="."/>
2786
+ </xsl:attribute>
2787
+ </xsl:for-each>
2739
2788
 
2789
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
2790
+ <xsl:if test="$isNoteOrFnExist = 'true'">
2791
+ <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2792
+ </xsl:if>
2740
2793
 
2741
2794
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
2742
2795
  <xsl:choose>
@@ -2760,6 +2813,33 @@
2760
2813
 
2761
2814
  </fo:table>
2762
2815
 
2816
+ <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2817
+ <xsl:call-template name="insertTableFooterInSeparateTable">
2818
+ <xsl:with-param name="table_attributes" select="$table_attributes"/>
2819
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2820
+ </xsl:call-template>
2821
+ </xsl:for-each>
2822
+
2823
+ <!-- insert footer as table -->
2824
+ <!-- <fo:table>
2825
+ <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2826
+ <xsl:attribute name="{@name}">
2827
+ <xsl:value-of select="."/>
2828
+ </xsl:attribute>
2829
+ </xsl:for-each>
2830
+
2831
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2832
+ <xsl:choose>
2833
+ <xsl:when test=". = 1 or . = 0">
2834
+ <fo:table-column column-width="proportional-column-width(2)"/>
2835
+ </xsl:when>
2836
+ <xsl:otherwise>
2837
+ <fo:table-column column-width="proportional-column-width({.})"/>
2838
+ </xsl:otherwise>
2839
+ </xsl:choose>
2840
+ </xsl:for-each>
2841
+ </fo:table>-->
2842
+
2763
2843
 
2764
2844
 
2765
2845
 
@@ -2824,6 +2904,13 @@
2824
2904
  <xsl:for-each select="xalan:nodeset($table)//tr">
2825
2905
  <xsl:variable name="td_text">
2826
2906
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2907
+
2908
+ <!-- <xsl:if test="$namespace = 'bipm'">
2909
+ <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2910
+ <word><xsl:value-of select="normalize-space(.)"/></word>
2911
+ </xsl:for-each>
2912
+ </xsl:if> -->
2913
+
2827
2914
  </xsl:variable>
2828
2915
  <xsl:variable name="words">
2829
2916
  <xsl:variable name="string_with_added_zerospaces">
@@ -2883,11 +2970,14 @@
2883
2970
  <xsl:value-of select="*[local-name()='origin']/@citeas"/>
2884
2971
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
2885
2972
  <xsl:value-of select="@target"/>
2973
+ </xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
2974
+ <xsl:variable name="math_text" select="normalize-space(.)"/>
2975
+ <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2886
2976
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2887
2977
  <xsl:param name="cols-count"/>
2888
2978
  <!-- font-weight="bold" -->
2889
2979
  <fo:table-header>
2890
-
2980
+
2891
2981
  <xsl:apply-templates/>
2892
2982
  </fo:table-header>
2893
2983
  </xsl:template><xsl:template name="table-header-title">
@@ -2912,6 +3002,13 @@
2912
3002
  </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
2913
3003
  <xsl:apply-templates/>
2914
3004
  </xsl:template><xsl:template name="insertTableFooter">
3005
+ <xsl:param name="cols-count"/>
3006
+ <xsl:if test="../*[local-name()='tfoot']">
3007
+ <fo:table-footer>
3008
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3009
+ </fo:table-footer>
3010
+ </xsl:if>
3011
+ </xsl:template><xsl:template name="insertTableFooter2">
2915
3012
  <xsl:param name="cols-count"/>
2916
3013
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2917
3014
  <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
@@ -2933,11 +3030,15 @@
2933
3030
  <!-- fn will be processed inside 'note' processing -->
2934
3031
 
2935
3032
 
2936
- <!-- except gb -->
3033
+
3034
+ <!-- except gb and bipm -->
2937
3035
 
2938
3036
  <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2939
3037
 
2940
3038
 
3039
+
3040
+
3041
+
2941
3042
  <!-- horizontal row separator -->
2942
3043
 
2943
3044
 
@@ -2951,6 +3052,84 @@
2951
3052
  </fo:table-footer>
2952
3053
 
2953
3054
  </xsl:if>
3055
+ </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
3056
+ <xsl:param name="table_attributes"/>
3057
+ <xsl:param name="colwidths"/>
3058
+
3059
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3060
+
3061
+ <xsl:if test="$isNoteOrFnExist = 'true'">
3062
+
3063
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
3064
+
3065
+ <fo:table keep-with-previous="always">
3066
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
3067
+ <xsl:choose>
3068
+ <xsl:when test="@name = 'border-top'">
3069
+ <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
3070
+ </xsl:when>
3071
+ <xsl:when test="@name = 'border'">
3072
+ <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3073
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3074
+ </xsl:when>
3075
+ <xsl:otherwise>
3076
+ <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3077
+ </xsl:otherwise>
3078
+ </xsl:choose>
3079
+ </xsl:for-each>
3080
+
3081
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
3082
+ <xsl:choose>
3083
+ <xsl:when test=". = 1 or . = 0">
3084
+ <fo:table-column column-width="proportional-column-width(2)"/>
3085
+ </xsl:when>
3086
+ <xsl:otherwise>
3087
+ <fo:table-column column-width="proportional-column-width({.})"/>
3088
+ </xsl:otherwise>
3089
+ </xsl:choose>
3090
+ </xsl:for-each>
3091
+
3092
+ <fo:table-body>
3093
+ <fo:table-row>
3094
+ <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3095
+
3096
+
3097
+
3098
+ <!-- fn will be processed inside 'note' processing -->
3099
+
3100
+
3101
+
3102
+ <!-- except gb and bipm -->
3103
+
3104
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3105
+
3106
+
3107
+ <!-- <xsl:if test="$namespace = 'bipm'">
3108
+ <xsl:choose>
3109
+ <xsl:when test="ancestor::*[local-name()='preface']">
3110
+ show Note under table in preface (ex. abstract) sections
3111
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3112
+ </xsl:when>
3113
+ <xsl:otherwise>
3114
+ empty, because notes show at page side in main sections
3115
+ <fo:block/>
3116
+ </xsl:otherwise>
3117
+ </xsl:choose>
3118
+ </xsl:if> -->
3119
+
3120
+
3121
+ <!-- horizontal row separator -->
3122
+
3123
+
3124
+ <!-- fn processing -->
3125
+ <xsl:call-template name="fn_display"/>
3126
+
3127
+ </fo:table-cell>
3128
+ </fo:table-row>
3129
+ </fo:table-body>
3130
+
3131
+ </fo:table>
3132
+ </xsl:if>
2954
3133
  </xsl:template><xsl:template match="*[local-name()='tbody']">
2955
3134
 
2956
3135
  <xsl:variable name="cols-count">
@@ -3006,8 +3185,8 @@
3006
3185
 
3007
3186
  </xsl:if>
3008
3187
 
3009
-
3010
-
3188
+
3189
+
3011
3190
 
3012
3191
  <xsl:apply-templates/>
3013
3192
  </fo:table-row>
@@ -3035,6 +3214,7 @@
3035
3214
 
3036
3215
 
3037
3216
 
3217
+
3038
3218
  <xsl:if test="@colspan">
3039
3219
  <xsl:attribute name="number-columns-spanned">
3040
3220
  <xsl:value-of select="@colspan"/>
@@ -3074,7 +3254,7 @@
3074
3254
 
3075
3255
 
3076
3256
 
3077
-
3257
+
3078
3258
 
3079
3259
 
3080
3260
 
@@ -3085,6 +3265,7 @@
3085
3265
  <xsl:attribute name="font-weight">normal</xsl:attribute>
3086
3266
  </xsl:if>
3087
3267
 
3268
+
3088
3269
  <xsl:if test="@colspan">
3089
3270
  <xsl:attribute name="number-columns-spanned">
3090
3271
  <xsl:value-of select="@colspan"/>
@@ -3108,14 +3289,17 @@
3108
3289
 
3109
3290
 
3110
3291
 
3292
+
3293
+
3111
3294
  <fo:inline padding-right="2mm">
3112
3295
 
3113
3296
 
3114
3297
 
3115
-
3298
+
3116
3299
  <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3117
3300
 
3118
3301
  </fo:inline>
3302
+
3119
3303
  <xsl:apply-templates mode="process"/>
3120
3304
  </fo:block>
3121
3305
 
@@ -3139,6 +3323,7 @@
3139
3323
 
3140
3324
 
3141
3325
 
3326
+
3142
3327
  <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3143
3328
 
3144
3329
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -3150,14 +3335,17 @@
3150
3335
 
3151
3336
  <xsl:attribute name="font-size">10pt</xsl:attribute>
3152
3337
 
3338
+
3153
3339
  <xsl:value-of select="@reference"/>
3154
3340
 
3341
+
3155
3342
  </fo:inline>
3156
3343
  <fo:inline>
3157
3344
 
3158
3345
  <xsl:attribute name="font-size">10pt</xsl:attribute>
3159
3346
 
3160
- <xsl:apply-templates/>
3347
+ <!-- <xsl:apply-templates /> -->
3348
+ <xsl:copy-of select="./node()"/>
3161
3349
  </fo:inline>
3162
3350
  </fo:block>
3163
3351
  </xsl:if>
@@ -3194,7 +3382,20 @@
3194
3382
  <xsl:variable name="following_dl_colwidths">
3195
3383
  <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3196
3384
  <xsl:variable name="html-table">
3197
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3385
+ <xsl:variable name="doc_ns">
3386
+
3387
+ </xsl:variable>
3388
+ <xsl:variable name="ns">
3389
+ <xsl:choose>
3390
+ <xsl:when test="normalize-space($doc_ns) != ''">
3391
+ <xsl:value-of select="normalize-space($doc_ns)"/>
3392
+ </xsl:when>
3393
+ <xsl:otherwise>
3394
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
3395
+ </xsl:otherwise>
3396
+ </xsl:choose>
3397
+ </xsl:variable>
3398
+ <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3198
3399
  <xsl:element name="{$ns}:table">
3199
3400
  <xsl:for-each select="*[local-name() = 'dl'][1]">
3200
3401
  <tbody>
@@ -3259,7 +3460,8 @@
3259
3460
  <xsl:attribute name="margin-bottom">0</xsl:attribute>
3260
3461
  </xsl:if>
3261
3462
 
3262
- <xsl:apply-templates/>
3463
+ <!-- <xsl:apply-templates /> -->
3464
+ <xsl:copy-of select="./node()"/>
3263
3465
  </fo:block>
3264
3466
  </fo:table-cell>
3265
3467
  </fo:table-row>
@@ -3283,9 +3485,12 @@
3283
3485
 
3284
3486
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
3285
3487
 
3488
+
3286
3489
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3287
3490
 
3491
+
3288
3492
  <xsl:value-of select="@reference"/>
3493
+
3289
3494
  </fo:basic-link>
3290
3495
  </fo:inline>
3291
3496
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
@@ -3391,7 +3596,20 @@
3391
3596
  </xsl:choose>
3392
3597
  <!-- create virtual html table for dl/[dt and dd] -->
3393
3598
  <xsl:variable name="html-table">
3394
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3599
+ <xsl:variable name="doc_ns">
3600
+
3601
+ </xsl:variable>
3602
+ <xsl:variable name="ns">
3603
+ <xsl:choose>
3604
+ <xsl:when test="normalize-space($doc_ns) != ''">
3605
+ <xsl:value-of select="normalize-space($doc_ns)"/>
3606
+ </xsl:when>
3607
+ <xsl:otherwise>
3608
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
3609
+ </xsl:otherwise>
3610
+ </xsl:choose>
3611
+ </xsl:variable>
3612
+ <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3395
3613
  <xsl:element name="{$ns}:table">
3396
3614
  <tbody>
3397
3615
  <xsl:apply-templates mode="dl"/>
@@ -3551,6 +3769,7 @@
3551
3769
 
3552
3770
 
3553
3771
 
3772
+
3554
3773
  <xsl:apply-templates/>
3555
3774
  <!-- <xsl:if test="$namespace = 'gb'">
3556
3775
  <xsl:if test="ancestor::*[local-name()='formula']">
@@ -3617,18 +3836,18 @@
3617
3836
  </xsl:template><xsl:template match="*[local-name()='tt']">
3618
3837
  <fo:inline xsl:use-attribute-sets="tt-style">
3619
3838
  <xsl:variable name="_font-size">
3620
-
3621
-
3622
-
3623
3839
 
3624
3840
 
3625
3841
 
3626
3842
 
3627
3843
 
3628
3844
 
3629
-
3630
3845
 
3631
-
3846
+
3847
+
3848
+
3849
+
3850
+
3632
3851
 
3633
3852
 
3634
3853
  </xsl:variable>
@@ -3966,7 +4185,7 @@
3966
4185
  <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
3967
4186
  <xsl:value-of select="substring($str, 2)"/>
3968
4187
  </xsl:template><xsl:template match="mathml:math">
3969
- <fo:inline font-family="STIX2Math">
4188
+ <fo:inline font-family="STIX Two Math"> <!-- -->
3970
4189
  <xsl:variable name="mathml">
3971
4190
  <xsl:apply-templates select="." mode="mathml"/>
3972
4191
  </xsl:variable>
@@ -4060,7 +4279,7 @@
4060
4279
  <xsl:apply-templates/>
4061
4280
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
4062
4281
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4063
-
4282
+
4064
4283
  <xsl:apply-templates/>
4065
4284
  </fo:basic-link>
4066
4285
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -4270,18 +4489,9 @@
4270
4489
  <fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
4271
4490
  <fo:bookmark-title>
4272
4491
  <xsl:variable name="bookmark-title_">
4273
- <xsl:choose>
4274
- <xsl:when test="@lang = 'en'">
4275
-
4276
-
4277
- </xsl:when>
4278
- <xsl:when test="@lang = 'fr'">
4279
-
4280
-
4281
- </xsl:when>
4282
- <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
4283
- <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
4284
- </xsl:choose>
4492
+ <xsl:call-template name="getLangVersion">
4493
+ <xsl:with-param name="lang" select="@lang"/>
4494
+ </xsl:call-template>
4285
4495
  </xsl:variable>
4286
4496
  <xsl:choose>
4287
4497
  <xsl:when test="normalize-space($bookmark-title_) != ''">
@@ -4343,13 +4553,27 @@
4343
4553
  </fo:bookmark>
4344
4554
  </xsl:for-each>
4345
4555
  </fo:bookmark>
4346
- </xsl:if>
4556
+ </xsl:if>
4347
4557
 
4348
4558
 
4349
4559
 
4350
4560
 
4351
4561
  </fo:bookmark-tree>
4352
4562
  </xsl:if>
4563
+ </xsl:template><xsl:template name="getLangVersion">
4564
+ <xsl:param name="lang"/>
4565
+ <xsl:choose>
4566
+ <xsl:when test="$lang = 'en'">
4567
+
4568
+
4569
+ </xsl:when>
4570
+ <xsl:when test="$lang = 'fr'">
4571
+
4572
+
4573
+ </xsl:when>
4574
+ <xsl:when test="$lang = 'de'">Deutsche</xsl:when>
4575
+ <xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
4576
+ </xsl:choose>
4353
4577
  </xsl:template><xsl:template match="item" mode="bookmark">
4354
4578
  <fo:bookmark internal-destination="{@id}" starting-state="hide">
4355
4579
  <fo:bookmark-title>
@@ -4368,7 +4592,7 @@
4368
4592
  <xsl:if test="nist:dl">
4369
4593
  <xsl:attribute name="space-before">12pt</xsl:attribute>
4370
4594
  </xsl:if>
4371
-
4595
+
4372
4596
  <xsl:apply-templates/>
4373
4597
  </fo:block>
4374
4598
  </xsl:if>
@@ -5001,6 +5225,7 @@
5001
5225
  </xsl:template><xsl:template match="*[local-name() = 'clause']">
5002
5226
  <fo:block>
5003
5227
  <xsl:call-template name="setId"/>
5228
+
5004
5229
  <xsl:apply-templates/>
5005
5230
  </fo:block>
5006
5231
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
@@ -5038,6 +5263,7 @@
5038
5263
  </xsl:choose>
5039
5264
  </xsl:attribute>
5040
5265
 
5266
+
5041
5267
  <fo:block-container margin-left="0mm">
5042
5268
  <fo:block>
5043
5269
  <xsl:apply-templates select="." mode="ul_ol"/>
@@ -5223,6 +5449,7 @@
5223
5449
 
5224
5450
 
5225
5451
 
5452
+
5226
5453
 
5227
5454
  </xsl:variable>
5228
5455
  <xsl:choose>
@@ -5237,6 +5464,7 @@
5237
5464
  <dc:creator>
5238
5465
 
5239
5466
 
5467
+
5240
5468
  <xsl:for-each select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5241
5469
  <xsl:value-of select="*[local-name() = 'person']/*[local-name() = 'name']/*[local-name() = 'completename']"/>
5242
5470
  <xsl:if test="position() != last()">; </xsl:if>
@@ -5251,6 +5479,7 @@
5251
5479
  <xsl:copy-of select="/*/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5252
5480
 
5253
5481
 
5482
+
5254
5483
  </xsl:variable>
5255
5484
  <xsl:value-of select="normalize-space($abstract)"/>
5256
5485
  </dc:description>