metanorma-ribose 1.8.1 → 1.8.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,6 +7,8 @@
7
7
  <xsl:variable name="images" select="document($svg_images)"/>
8
8
  <xsl:param name="basepath"/>
9
9
 
10
+ <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"/>
11
+
10
12
  <xsl:variable name="pageWidth" select="215.9"/>
11
13
  <xsl:variable name="pageHeight" select="279.4"/>
12
14
  <xsl:variable name="marginLeftRight1" select="29"/>
@@ -435,8 +437,8 @@
435
437
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
436
438
  <xsl:attribute name="color">black</xsl:attribute>
437
439
  </xsl:if>
438
- <xsl:if test="@level = 2">
439
- <xsl:attribute name="margin-left">16.5mm</xsl:attribute>
440
+ <xsl:if test="@level &gt;= 2">
441
+ <xsl:attribute name="margin-left"><xsl:value-of select="(@level - 1) * 16.5"/>mm</xsl:attribute>
440
442
  <xsl:attribute name="space-before">4pt</xsl:attribute>
441
443
  <xsl:attribute name="space-after">5pt</xsl:attribute>
442
444
  </xsl:if>
@@ -537,7 +539,7 @@
537
539
 
538
540
  <xsl:variable name="display">
539
541
  <xsl:choose>
540
- <xsl:when test="$level &gt;= 3">false</xsl:when>
542
+ <xsl:when test="$level &gt; $toc_level">false</xsl:when>
541
543
  <xsl:otherwise>true</xsl:otherwise>
542
544
  </xsl:choose>
543
545
  </xsl:variable>
@@ -843,33 +845,7 @@
843
845
  </xsl:if>
844
846
  </xsl:template>
845
847
 
846
- <!--
847
- <fn reference="1">
848
- <p id="_8e5cf917-f75a-4a49-b0aa-1714cb6cf954">Formerly denoted as 15 % (m/m).</p>
849
- </fn>
850
- -->
851
- <xsl:template match="rsd:title/rsd:fn | rsd:p/rsd:fn[not(ancestor::rsd:table)]" priority="2">
852
- <fo:footnote keep-with-previous.within-line="always">
853
- <xsl:variable name="number" select="@reference"/>
854
-
855
- <fo:inline font-size="65%" keep-with-previous.within-line="always" vertical-align="super">
856
- <fo:basic-link internal-destination="footnote_{@reference}" fox:alt-text="footnote {@reference}">
857
- <xsl:value-of select="$number"/><!-- + count(//rsd:bibitem/rsd:note) -->
858
- </fo:basic-link>
859
- </fo:inline>
860
- <fo:footnote-body>
861
- <fo:block font-size="10pt" margin-bottom="12pt" font-weight="normal" text-indent="0" start-indent="0" color="rgb(168, 170, 173)" text-align="left">
862
- <fo:inline id="footnote_{@reference}" keep-with-next.within-line="always" font-size="60%" vertical-align="super">
863
- <xsl:value-of select="$number "/><!-- + count(//rsd:bibitem/rsd:note) -->
864
- </fo:inline>
865
- <xsl:for-each select="rsd:p">
866
- <xsl:apply-templates/>
867
- </xsl:for-each>
868
- </fo:block>
869
- </fo:footnote-body>
870
- </fo:footnote>
871
- </xsl:template>
872
-
848
+
873
849
  <xsl:template match="rsd:fn/rsd:p">
874
850
  <fo:block>
875
851
  <xsl:apply-templates/>
@@ -1000,7 +976,7 @@
1000
976
  <fo:block-container>
1001
977
  <xsl:if test="$level &gt;= 3">
1002
978
  <!-- <xsl:variable name="list_level" select="count(ancestor-or-self::rsd:ul) + count(ancestor-or-self::rsd:ul)"/> -->
1003
- <xsl:attribute name="margin-left">13mm</xsl:attribute>
979
+ <!-- <xsl:attribute name="margin-left">13mm</xsl:attribute> -->
1004
980
  </xsl:if>
1005
981
  <fo:block-container margin-left="0mm">
1006
982
  <xsl:choose>
@@ -1018,7 +994,7 @@
1018
994
  </xsl:template>
1019
995
 
1020
996
  <xsl:template name="listProcessing">
1021
- <fo:list-block provisional-distance-between-starts="12mm">
997
+ <fo:list-block provisional-distance-between-starts="6mm"> <!-- 12mm -->
1022
998
  <xsl:if test="ancestor::rsd:ul | ancestor::rsd:ol">
1023
999
  <!-- <xsl:attribute name="margin-bottom">0pt</xsl:attribute> -->
1024
1000
  </xsl:if>
@@ -1029,13 +1005,17 @@
1029
1005
  </fo:list-block>
1030
1006
  </xsl:template>
1031
1007
 
1008
+
1032
1009
  <xsl:template match="rsd:li">
1033
1010
  <fo:list-item space-after="4pt">
1034
1011
  <fo:list-item-label end-indent="label-end()">
1035
1012
  <fo:block color="{$color_blue}" font-weight="bold">
1036
1013
  <xsl:choose>
1037
- <xsl:when test="local-name(..) = 'ul' and (../ancestor::rsd:ul or ../ancestor::rsd:ol)">-</xsl:when> <!-- &#x2014; dash -->
1038
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1014
+ <xsl:when test="local-name(..) = 'ul'">
1015
+ <xsl:call-template name="setULLabel"/>
1016
+ </xsl:when>
1017
+ <!-- <xsl:when test="local-name(..) = 'ul' and (../ancestor::rsd:ul or ../ancestor::rsd:ol)">&#x2014;</xsl:when> --> <!-- - &#x2014; dash -->
1018
+ <!-- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> -->
1039
1019
  <xsl:otherwise> <!-- for ordered lists -->
1040
1020
  <xsl:choose>
1041
1021
  <xsl:when test="../@type = 'arabic'">
@@ -1104,7 +1084,7 @@
1104
1084
  </fo:inline>
1105
1085
  </xsl:if>
1106
1086
 
1107
- <fo:inline padding-right="4mm"><xsl:apply-templates/></fo:inline>
1087
+ <fo:inline padding-right="4mm"><xsl:if test="local-name() = 'preferred'"><xsl:call-template name="setStyle_preferred"/></xsl:if><xsl:apply-templates/></fo:inline>
1108
1088
 
1109
1089
  <xsl:variable name="term_kind">
1110
1090
  <xsl:choose>
@@ -2081,6 +2061,79 @@
2081
2061
 
2082
2062
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
2083
2063
  <xsl:attribute name="line-height">135%</xsl:attribute>
2064
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
2065
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2066
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
2067
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+
2079
+
2080
+
2081
+
2082
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2083
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2084
+
2085
+
2086
+
2087
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
2088
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2089
+ <xsl:attribute name="font-style">normal</xsl:attribute>
2090
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2091
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2092
+
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+
2099
+
2100
+
2101
+
2102
+
2103
+
2104
+
2105
+
2106
+
2107
+
2108
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2109
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2110
+ <xsl:attribute name="color">rgb(168, 170, 173)</xsl:attribute>
2111
+ <xsl:attribute name="text-align">left</xsl:attribute>
2112
+
2113
+
2114
+
2115
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2116
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2117
+
2118
+
2119
+
2120
+
2121
+
2122
+
2123
+
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+
2131
+
2132
+ <xsl:attribute name="font-size">60%</xsl:attribute>
2133
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2134
+
2135
+
2136
+
2084
2137
  </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">
2085
2138
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2086
2139
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
@@ -2106,7 +2159,8 @@
2106
2159
  <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"/>
2107
2160
 
2108
2161
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2109
- <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
2162
+
2163
+ <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']]">
2110
2164
  <xsl:sort select="@displayorder" data-type="number"/>
2111
2165
  <xsl:apply-templates select="." mode="contents"/>
2112
2166
  </xsl:for-each>
@@ -2116,7 +2170,7 @@
2116
2170
  <xsl:apply-templates select="." mode="contents"/>
2117
2171
  </xsl:for-each>
2118
2172
 
2119
- <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
2173
+ <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true') and not(*[local-name()='references'][@normative='true'])] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
2120
2174
  <xsl:sort select="@displayorder" data-type="number"/>
2121
2175
  <xsl:apply-templates select="." mode="contents"/>
2122
2176
  </xsl:for-each>
@@ -2297,7 +2351,7 @@
2297
2351
 
2298
2352
 
2299
2353
  <attribute name="border">0pt solid black</attribute>
2300
- <attribute name="font-size">8pt</attribute>
2354
+ <attribute name="font-size">9.5pt</attribute> <!-- 8pt -->
2301
2355
 
2302
2356
  </xsl:variable>
2303
2357
 
@@ -3040,6 +3094,102 @@
3040
3094
 
3041
3095
  </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">
3042
3096
  <xsl:apply-templates/>
3097
+ </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">
3098
+
3099
+ <!-- list of footnotes to calculate actual footnotes number -->
3100
+ <xsl:variable name="p_fn_">
3101
+ <xsl:choose>
3102
+ <xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
3103
+ <fn gen_id="{generate-id(.)}">
3104
+ <xsl:copy-of select="@*"/>
3105
+ <xsl:copy-of select="node()"/>
3106
+ </fn>
3107
+ </xsl:when>
3108
+ <xsl:otherwise>
3109
+ <!-- itetation for:
3110
+ footnotes in bibdata/title
3111
+ footnotes in bibliography
3112
+ footnotes in document's body (except table's head/body/foot and figure text)
3113
+ -->
3114
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
3115
+ <fn gen_id="{generate-id(.)}">
3116
+ <xsl:copy-of select="@*"/>
3117
+ <xsl:copy-of select="node()"/>
3118
+ </fn>
3119
+ </xsl:for-each>
3120
+ <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']/*">
3121
+ <xsl:sort select="@displayorder" data-type="number"/>
3122
+ <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])]">
3123
+ <!-- copy unique fn -->
3124
+ <fn gen_id="{generate-id(.)}">
3125
+ <xsl:copy-of select="@*"/>
3126
+ <xsl:copy-of select="node()"/>
3127
+ </fn>
3128
+ </xsl:for-each>
3129
+ </xsl:for-each>
3130
+ </xsl:otherwise>
3131
+ </xsl:choose>
3132
+ </xsl:variable>
3133
+ <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
3134
+
3135
+ <xsl:variable name="gen_id" select="generate-id(.)"/>
3136
+ <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3137
+ <xsl:variable name="reference" select="@reference"/>
3138
+ <!-- fn sequence number in document -->
3139
+ <xsl:variable name="current_fn_number">
3140
+ <xsl:choose>
3141
+ <xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
3142
+ <xsl:otherwise>
3143
+ <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
3144
+ </xsl:otherwise>
3145
+ </xsl:choose>
3146
+ </xsl:variable>
3147
+ <xsl:variable name="current_fn_number_text">
3148
+ <xsl:value-of select="$current_fn_number"/>
3149
+
3150
+
3151
+ </xsl:variable>
3152
+
3153
+ <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3154
+ <xsl:variable name="footnote_inline">
3155
+ <fo:inline xsl:use-attribute-sets="fn-num-style">
3156
+
3157
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3158
+ <xsl:value-of select="$current_fn_number_text"/>
3159
+ </fo:basic-link>
3160
+ </fo:inline>
3161
+ </xsl:variable>
3162
+ <!-- DEBUG: p_fn=<xsl:copy-of select="$p_fn"/>
3163
+ gen_id=<xsl:value-of select="$gen_id"/> -->
3164
+ <xsl:choose>
3165
+ <xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
3166
+ <xsl:copy-of select="$footnote_inline"/>
3167
+ </xsl:when>
3168
+ <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
3169
+ <fo:footnote xsl:use-attribute-sets="fn-style">
3170
+ <xsl:copy-of select="$footnote_inline"/>
3171
+ <fo:footnote-body>
3172
+
3173
+ <fo:block-container text-indent="0" start-indent="0">
3174
+
3175
+
3176
+ <fo:block xsl:use-attribute-sets="fn-body-style">
3177
+
3178
+
3179
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3180
+
3181
+ <xsl:value-of select="$current_fn_number_text"/>
3182
+ </fo:inline>
3183
+ <xsl:apply-templates/>
3184
+ </fo:block>
3185
+ </fo:block-container>
3186
+ </fo:footnote-body>
3187
+ </fo:footnote>
3188
+ </xsl:when>
3189
+ <xsl:otherwise>
3190
+ <xsl:copy-of select="$footnote_inline"/>
3191
+ </xsl:otherwise>
3192
+ </xsl:choose>
3043
3193
  </xsl:template><xsl:template name="fn_display">
3044
3194
  <xsl:variable name="references">
3045
3195
 
@@ -3234,6 +3384,8 @@
3234
3384
 
3235
3385
  </fo:basic-link>
3236
3386
  </fo:inline>
3387
+ </xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
3388
+ <fo:inline><xsl:value-of select="."/></fo:inline>
3237
3389
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
3238
3390
  <fo:inline>
3239
3391
  <xsl:apply-templates/>
@@ -3600,6 +3752,7 @@
3600
3752
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3601
3753
  <xsl:apply-templates/>
3602
3754
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3755
+ <xsl:apply-templates select="@language"/>
3603
3756
  <xsl:apply-templates/>
3604
3757
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3605
3758
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -3610,8 +3763,10 @@
3610
3763
  </xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
3611
3764
  <fo:inline font-weight="bold">
3612
3765
 
3613
- <xsl:attribute name="font-weight">normal</xsl:attribute>
3614
- <xsl:attribute name="color">black</xsl:attribute>
3766
+ <xsl:if test="not(parent::*[local-name() = 'termsource'])">
3767
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
3768
+ <xsl:attribute name="color">black</xsl:attribute>
3769
+ </xsl:if>
3615
3770
 
3616
3771
  <xsl:apply-templates/>
3617
3772
  </fo:inline>
@@ -3645,7 +3800,7 @@
3645
3800
 
3646
3801
  <xsl:choose>
3647
3802
  <xsl:when test="ancestor::*[local-name() = 'table']">inherit</xsl:when>
3648
- <xsl:otherwise>110%</xsl:otherwise>
3803
+ <xsl:otherwise>95%</xsl:otherwise> <!-- 110% -->
3649
3804
  </xsl:choose>
3650
3805
 
3651
3806
 
@@ -4247,22 +4402,6 @@
4247
4402
  <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
4248
4403
  <xsl:apply-templates/>
4249
4404
  </fo:inline>
4250
- </xsl:template><xsl:template match="*[local-name() = 'modification']">
4251
- <xsl:variable name="title-modified">
4252
-
4253
-
4254
- <xsl:call-template name="getTitle">
4255
- <xsl:with-param name="name" select="'title-modified'"/>
4256
- </xsl:call-template>
4257
-
4258
- </xsl:variable>
4259
-
4260
- <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
4261
- <xsl:choose>
4262
- <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>
4263
- <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>
4264
- </xsl:choose>
4265
- <xsl:apply-templates/>
4266
4405
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
4267
4406
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4268
4407
 
@@ -4845,12 +4984,12 @@
4845
4984
  </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">
4846
4985
  <xsl:apply-templates mode="contents"/>
4847
4986
  <xsl:text> </xsl:text>
4848
- </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']" mode="bookmarks">
4987
+ </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">
4849
4988
  <xsl:apply-templates mode="bookmarks"/>
4850
4989
  <xsl:text> </xsl:text>
4851
4990
  </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
4852
4991
  <xsl:value-of select="."/>
4853
- </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
4992
+ </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement' or local-name() = 'sourcecode']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
4854
4993
  <xsl:value-of select="."/>
4855
4994
  </xsl:template><xsl:template match="node()" mode="contents">
4856
4995
  <xsl:apply-templates mode="contents"/>
@@ -5122,6 +5261,8 @@
5122
5261
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5123
5262
 
5124
5263
 
5264
+
5265
+
5125
5266
  <fo:block xsl:use-attribute-sets="sourcecode-style">
5126
5267
  <xsl:variable name="_font-size">
5127
5268
 
@@ -5141,7 +5282,7 @@
5141
5282
 
5142
5283
  <xsl:choose>
5143
5284
  <xsl:when test="ancestor::*[local-name() = 'table']">inherit</xsl:when>
5144
- <xsl:otherwise>110%</xsl:otherwise>
5285
+ <xsl:otherwise>95%</xsl:otherwise><!-- 110% -->
5145
5286
  </xsl:choose>
5146
5287
 
5147
5288
 
@@ -5174,10 +5315,14 @@
5174
5315
  </xsl:if>
5175
5316
 
5176
5317
 
5318
+
5319
+
5177
5320
  <xsl:apply-templates/>
5178
5321
  </fo:block>
5322
+
5179
5323
 
5180
5324
 
5325
+
5181
5326
 
5182
5327
  </fo:block-container>
5183
5328
  </fo:block-container>
@@ -5535,59 +5680,71 @@
5535
5680
  <xsl:variable name="termsource_text">
5536
5681
  <xsl:apply-templates/>
5537
5682
  </xsl:variable>
5538
-
5539
- <xsl:choose>
5683
+ <xsl:copy-of select="$termsource_text"/>
5684
+ <!-- <xsl:choose>
5540
5685
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
5541
- <!-- <xsl:apply-templates /> -->
5542
5686
  <xsl:copy-of select="$termsource_text"/>
5543
5687
  </xsl:when>
5544
5688
  <xsl:otherwise>
5545
-
5546
-
5547
- <!-- <xsl:apply-templates /> -->
5689
+ <xsl:if test="$namespace = 'bsi'">
5690
+ <xsl:choose>
5691
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>{</xsl:text></xsl:when>
5692
+ <xsl:otherwise><xsl:text>[</xsl:text></xsl:otherwise>
5693
+ </xsl:choose>
5694
+ </xsl:if>
5695
+ <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'">
5696
+ <xsl:text>[</xsl:text>
5697
+ </xsl:if>
5548
5698
  <xsl:copy-of select="$termsource_text"/>
5549
-
5550
-
5699
+ <xsl:if test="$namespace = 'bsi'">
5700
+ <xsl:choose>
5701
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>}</xsl:text></xsl:when>
5702
+ <xsl:otherwise><xsl:text>]</xsl:text></xsl:otherwise>
5703
+ </xsl:choose>
5704
+ </xsl:if>
5705
+ <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'">
5706
+ <xsl:text>]</xsl:text>
5707
+ </xsl:if>
5551
5708
  </xsl:otherwise>
5552
- </xsl:choose>
5709
+ </xsl:choose> -->
5553
5710
  </fo:block>
5554
5711
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
5555
5712
  <xsl:if test="normalize-space() != ''">
5556
5713
  <xsl:value-of select="."/>
5557
5714
  </xsl:if>
5558
- </xsl:template><xsl:variable name="localized.source">
5559
- <xsl:call-template name="getLocalizedString">
5560
- <xsl:with-param name="key">source</xsl:with-param>
5561
- </xsl:call-template>
5562
- </xsl:variable><xsl:template match="*[local-name() = 'origin']">
5715
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
5716
+ <fo:inline>
5717
+
5718
+ <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
5719
+
5720
+
5721
+ <xsl:value-of select="."/>
5722
+ </fo:inline>
5723
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
5563
5724
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5564
5725
  <xsl:if test="normalize-space(@citeas) = ''">
5565
5726
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
5566
5727
  </xsl:if>
5567
-
5568
-
5569
- <fo:inline>
5570
-
5571
-
5572
- <xsl:attribute name="font-weight">bold</xsl:attribute>
5573
- <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
5574
-
5575
-
5576
-
5577
-
5578
- <xsl:value-of select="$localized.source"/>
5579
- <xsl:text>: </xsl:text>
5580
-
5581
-
5582
-
5583
-
5584
- </fo:inline>
5585
-
5586
5728
  <fo:inline xsl:use-attribute-sets="origin-style">
5587
5729
  <xsl:apply-templates/>
5588
5730
  </fo:inline>
5731
+ </fo:basic-link>
5732
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
5733
+ <xsl:variable name="title-modified">
5589
5734
 
5590
- </fo:basic-link>
5735
+
5736
+ <xsl:call-template name="getTitle">
5737
+ <xsl:with-param name="name" select="'title-modified'"/>
5738
+ </xsl:call-template>
5739
+
5740
+ </xsl:variable>
5741
+
5742
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
5743
+ <xsl:choose>
5744
+ <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>
5745
+ <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>
5746
+ </xsl:choose>
5747
+ <xsl:apply-templates/>
5591
5748
  </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
5592
5749
  <fo:inline><xsl:apply-templates/></fo:inline>
5593
5750
  </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
@@ -5773,15 +5930,20 @@
5773
5930
  <fo:block xsl:use-attribute-sets="deprecates-style">
5774
5931
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
5775
5932
  </fo:block>
5933
+ </xsl:template><xsl:template name="setStyle_preferred">
5934
+ <xsl:if test="*[local-name() = 'strong']">
5935
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
5936
+ </xsl:if>
5776
5937
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
5777
5938
  <fo:block xsl:use-attribute-sets="definition-style">
5778
5939
  <xsl:apply-templates/>
5779
5940
  </fo:block>
5780
5941
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]">
5781
5942
  <xsl:apply-templates/>
5782
- </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p']">
5943
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
5783
5944
  <fo:inline> <xsl:apply-templates/></fo:inline>
5784
- <fo:block> </fo:block>
5945
+ <!-- <fo:block>&#xA0;</fo:block> -->
5946
+ <fo:block/>
5785
5947
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
5786
5948
 
5787
5949
  <fo:block>
@@ -5842,6 +6004,53 @@
5842
6004
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
5843
6005
  <!-- 0xA0 to space replacement -->
5844
6006
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6007
+ </xsl:template><xsl:variable name="ul_labels_">
6008
+
6009
+
6010
+
6011
+
6012
+
6013
+
6014
+
6015
+
6016
+
6017
+
6018
+
6019
+
6020
+
6021
+
6022
+
6023
+ <label level="1" font-size="75%">o</label> <!-- white circle -->
6024
+ <label level="2">—</label> <!-- em dash -->
6025
+ <label level="3" font-size="140%">•</label> <!-- bullet -->
6026
+
6027
+
6028
+
6029
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6030
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6031
+ <xsl:variable name="list_level">
6032
+ <xsl:choose>
6033
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6034
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6035
+ </xsl:choose>
6036
+ </xsl:variable>
6037
+ <xsl:choose>
6038
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6039
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6040
+ </xsl:when>
6041
+ <xsl:when test="$list_level mod 3 = 0">
6042
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6043
+ </xsl:when>
6044
+ <xsl:when test="$list_level mod 2 = 0">
6045
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6046
+ </xsl:when>
6047
+ <xsl:otherwise>
6048
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6049
+ </xsl:otherwise>
6050
+ </xsl:choose>
6051
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6052
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6053
+ <xsl:value-of select="."/>
5845
6054
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5846
6055
  <xsl:choose>
5847
6056
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6180,7 +6389,31 @@
6180
6389
  <fo:block-container border="1pt solid black" width="50%">
6181
6390
  <fo:block> </fo:block>
6182
6391
  </fo:block-container>
6183
- </xsl:template><xsl:template match="*[local-name() = 'toc']">
6392
+ </xsl:template><xsl:variable name="toc_level">
6393
+ <xsl:choose>
6394
+ <xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
6395
+ <xsl:otherwise><!-- default value -->
6396
+
6397
+
6398
+
6399
+
6400
+
6401
+
6402
+
6403
+
6404
+
6405
+
6406
+
6407
+
6408
+
6409
+
6410
+
6411
+ 2
6412
+
6413
+
6414
+ </xsl:otherwise>
6415
+ </xsl:choose>
6416
+ </xsl:variable><xsl:template match="*[local-name() = 'toc']">
6184
6417
  <xsl:param name="colwidths"/>
6185
6418
  <xsl:variable name="colwidths_">
6186
6419
  <xsl:choose>
@@ -6271,6 +6504,10 @@
6271
6504
  </svg>
6272
6505
  </fo:instream-foreign-object>
6273
6506
  </fo:inline>
6507
+ </xsl:template><xsl:template match="@language">
6508
+ <xsl:copy-of select="."/>
6509
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6510
+ <xsl:call-template name="title"/>
6274
6511
  </xsl:template><xsl:template name="convertDate">
6275
6512
  <xsl:param name="date"/>
6276
6513
  <xsl:param name="format" select="'short'"/>
@@ -6715,12 +6952,15 @@
6715
6952
  <xsl:param name="default">left</xsl:param>
6716
6953
  <xsl:attribute name="text-align">
6717
6954
  <xsl:choose>
6718
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
6955
+ <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6719
6956
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6720
6957
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6721
6958
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6722
6959
  </xsl:choose>
6723
6960
  </xsl:attribute>
6961
+ <xsl:if test="@align = 'indent'">
6962
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
6963
+ </xsl:if>
6724
6964
  </xsl:template><xsl:template name="number-to-words">
6725
6965
  <xsl:param name="number"/>
6726
6966
  <xsl:param name="first"/>
@@ -6817,4 +7057,14 @@
6817
7057
  </xsl:otherwise>
6818
7058
  </xsl:choose>
6819
7059
  </xsl:if>
7060
+ </xsl:template><xsl:template name="setAltText">
7061
+ <xsl:param name="value"/>
7062
+ <xsl:attribute name="fox:alt-text">
7063
+ <xsl:choose>
7064
+ <xsl:when test="normalize-space($value) != ''">
7065
+ <xsl:value-of select="$value"/>
7066
+ </xsl:when>
7067
+ <xsl:otherwise>_</xsl:otherwise>
7068
+ </xsl:choose>
7069
+ </xsl:attribute>
6820
7070
  </xsl:template></xsl:stylesheet>