metanorma-bipm 2.0.5 → 2.0.8
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.
- checksums.yaml +4 -4
- data/lib/isodoc/bipm/bipm.brochure.xsl +172 -32
- data/lib/isodoc/bipm/bipm.guide.xsl +172 -32
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +172 -32
- data/lib/isodoc/bipm/bipm.rapport.xsl +172 -32
- data/lib/isodoc/bipm/jcgm.standard.xsl +173 -33
- data/lib/metanorma/bipm/biblio.rng +25 -2
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33196837871392a573466c7460c01dd6d1609fc0680c7f281f86f7f32ffb140a
|
4
|
+
data.tar.gz: e220e419305c88f6bd3a8bd90ae12896f551faf2fb105fa6549e2510a22ef56a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f57935c7da50a72a2ab1b6a26d32cb51c80f0024a308a579e0832274f7dd205a07f1d2322886250d41e9a859c8d43bf42ada50f3127576484a4267bc089c62b
|
7
|
+
data.tar.gz: 3a8d5a538ca694c173af2d40bfb1722fc7626f5c6d169542b02287c8ea213e46abcf5e6ba1b12bc12c171beee463c5ee0ffd3f70879d2e133b7670721a14affc
|
@@ -220,7 +220,13 @@
|
|
220
220
|
|
221
221
|
|
222
222
|
<xsl:template match="/">
|
223
|
-
<fo:root
|
223
|
+
<fo:root xml:lang="{$lang}">
|
224
|
+
<xsl:variable name="root-style">
|
225
|
+
<root-style xsl:use-attribute-sets="root-style"/>
|
226
|
+
</xsl:variable>
|
227
|
+
<xsl:call-template name="insertRootStyle">
|
228
|
+
<xsl:with-param name="root-style" select="$root-style"/>
|
229
|
+
</xsl:call-template>
|
224
230
|
<fo:layout-master-set>
|
225
231
|
|
226
232
|
<!-- blank page -->
|
@@ -3916,7 +3922,7 @@
|
|
3916
3922
|
</xsl:template>
|
3917
3923
|
|
3918
3924
|
|
3919
|
-
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:
|
3925
|
+
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
|
3920
3926
|
<xsl:call-template name="getLang"/>
|
3921
3927
|
</xsl:variable><xsl:variable name="pageWidth_">
|
3922
3928
|
210
|
@@ -4070,7 +4076,30 @@
|
|
4070
4076
|
|
4071
4077
|
|
4072
4078
|
|
4073
|
-
</xsl:attribute-set><xsl:
|
4079
|
+
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
4080
|
+
<xsl:param name="root-style"/>
|
4081
|
+
<xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
|
4082
|
+
|
4083
|
+
<xsl:variable name="additional_fonts_">
|
4084
|
+
<xsl:for-each select="//*[local-name() = 'misc-container'][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
|
4085
|
+
<xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
|
4086
|
+
</xsl:for-each>
|
4087
|
+
</xsl:variable>
|
4088
|
+
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
4089
|
+
|
4090
|
+
<xsl:for-each select="$root-style_/root-style/@*">
|
4091
|
+
<xsl:choose>
|
4092
|
+
<xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
|
4093
|
+
<xsl:attribute name="{local-name()}">
|
4094
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
4095
|
+
</xsl:attribute>
|
4096
|
+
</xsl:when>
|
4097
|
+
<xsl:otherwise>
|
4098
|
+
<xsl:copy-of select="."/>
|
4099
|
+
</xsl:otherwise>
|
4100
|
+
</xsl:choose>
|
4101
|
+
</xsl:for-each>
|
4102
|
+
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
4074
4103
|
|
4075
4104
|
</xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
|
4076
4105
|
|
@@ -4589,7 +4618,7 @@
|
|
4589
4618
|
|
4590
4619
|
|
4591
4620
|
|
4592
|
-
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
4621
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
4593
4622
|
|
4594
4623
|
|
4595
4624
|
|
@@ -5302,8 +5331,27 @@
|
|
5302
5331
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5303
5332
|
<xsl:apply-templates select="."/>
|
5304
5333
|
</xsl:for-each>
|
5305
|
-
</xsl:template><xsl:template match="text()">
|
5306
|
-
<xsl:
|
5334
|
+
</xsl:template><xsl:variable name="tag_open">###fo:inline###</xsl:variable><xsl:variable name="tag_close">###/fo:inline###</xsl:variable><xsl:template match="text()" name="text">
|
5335
|
+
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
5336
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_open,'$1',$tag_close))"/>
|
5337
|
+
<xsl:call-template name="replace_fo_inline">
|
5338
|
+
<xsl:with-param name="text" select="$text"/>
|
5339
|
+
</xsl:call-template>
|
5340
|
+
</xsl:template><xsl:template name="replace_fo_inline">
|
5341
|
+
<xsl:param name="text"/>
|
5342
|
+
<xsl:choose>
|
5343
|
+
<xsl:when test="contains($text, $tag_open)">
|
5344
|
+
<xsl:value-of select="substring-before($text, $tag_open)"/>
|
5345
|
+
<xsl:text disable-output-escaping="yes"><fo:inline keep-together.within-line="always"></xsl:text>
|
5346
|
+
<xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
|
5347
|
+
<xsl:value-of select="substring-before($text_after, $tag_close)"/>
|
5348
|
+
<xsl:text disable-output-escaping="yes"></fo:inline></xsl:text>
|
5349
|
+
<xsl:call-template name="replace_fo_inline">
|
5350
|
+
<xsl:with-param name="text" select="substring-after($text_after, $tag_close)"/>
|
5351
|
+
</xsl:call-template>
|
5352
|
+
</xsl:when>
|
5353
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
5354
|
+
</xsl:choose>
|
5307
5355
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
5308
5356
|
<xsl:value-of select="$linebreak"/>
|
5309
5357
|
</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
|
@@ -7045,24 +7093,28 @@
|
|
7045
7093
|
</xsl:template><xsl:template name="add-zero-spaces-equal">
|
7046
7094
|
<xsl:param name="text" select="."/>
|
7047
7095
|
<xsl:variable name="zero-space-after-equals">==========</xsl:variable>
|
7096
|
+
<xsl:variable name="regex_zero-space-after-equals">(==========)</xsl:variable>
|
7048
7097
|
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
7098
|
+
<xsl:variable name="regex_zero-space-after-equal">(=)</xsl:variable>
|
7049
7099
|
<xsl:variable name="zero-space"></xsl:variable>
|
7050
7100
|
<xsl:choose>
|
7051
7101
|
<xsl:when test="contains($text, $zero-space-after-equals)">
|
7052
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
7102
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
7053
7103
|
<xsl:value-of select="$zero-space-after-equals"/>
|
7054
7104
|
<xsl:value-of select="$zero-space"/>
|
7055
7105
|
<xsl:call-template name="add-zero-spaces-equal">
|
7056
7106
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
|
7057
|
-
</xsl:call-template>
|
7107
|
+
</xsl:call-template> -->
|
7108
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equals,concat('$1',$zero_width_space))"/>
|
7058
7109
|
</xsl:when>
|
7059
7110
|
<xsl:when test="contains($text, $zero-space-after-equal)">
|
7060
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
7111
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
7061
7112
|
<xsl:value-of select="$zero-space-after-equal"/>
|
7062
7113
|
<xsl:value-of select="$zero-space"/>
|
7063
7114
|
<xsl:call-template name="add-zero-spaces-equal">
|
7064
7115
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
|
7065
|
-
</xsl:call-template>
|
7116
|
+
</xsl:call-template> -->
|
7117
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equal,concat('$1',$zero_width_space))"/>
|
7066
7118
|
</xsl:when>
|
7067
7119
|
<xsl:otherwise>
|
7068
7120
|
<xsl:value-of select="$text"/>
|
@@ -7576,7 +7628,12 @@
|
|
7576
7628
|
|
7577
7629
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
7578
7630
|
|
7631
|
+
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
7632
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
7633
|
+
</xsl:if>
|
7634
|
+
|
7579
7635
|
|
7636
|
+
|
7580
7637
|
|
7581
7638
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
7582
7639
|
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
@@ -8568,7 +8625,73 @@
|
|
8568
8625
|
<xsl:with-param name="text" select="$text_step1"/>
|
8569
8626
|
</xsl:call-template>
|
8570
8627
|
</xsl:variable>
|
8571
|
-
|
8628
|
+
|
8629
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
8630
|
+
|
8631
|
+
<!-- add zero-width space after space -->
|
8632
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
8633
|
+
|
8634
|
+
<!-- split text by zero-width space -->
|
8635
|
+
<xsl:variable name="text_step4">
|
8636
|
+
<xsl:call-template name="split_for_interspers">
|
8637
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
8638
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
8639
|
+
</xsl:call-template>
|
8640
|
+
</xsl:variable>
|
8641
|
+
|
8642
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
8643
|
+
<xsl:choose>
|
8644
|
+
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
8645
|
+
<xsl:call-template name="interspers">
|
8646
|
+
<xsl:with-param name="str" select="."/>
|
8647
|
+
</xsl:call-template>
|
8648
|
+
</xsl:when>
|
8649
|
+
<xsl:otherwise>
|
8650
|
+
<xsl:value-of select="."/>
|
8651
|
+
</xsl:otherwise>
|
8652
|
+
</xsl:choose>
|
8653
|
+
</xsl:for-each>
|
8654
|
+
|
8655
|
+
</xsl:template><xsl:variable name="interspers_tag_open">###interspers123###</xsl:variable><xsl:variable name="interspers_tag_close">###/interspers123###</xsl:variable><xsl:template name="split_for_interspers">
|
8656
|
+
<xsl:param name="pText" select="."/>
|
8657
|
+
<xsl:param name="sep" select="','"/>
|
8658
|
+
<!-- word with length more than 30 will be interspersed with zero-width space -->
|
8659
|
+
<xsl:variable name="regex" select="concat('([^', $zero_width_space, ']{31,})')"/> <!-- sequence of characters (more 31), that doesn't contains zero-width space -->
|
8660
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new($pText),$regex,concat($interspers_tag_open,'$1',$interspers_tag_close))"/>
|
8661
|
+
<xsl:call-template name="replace_tag_interspers">
|
8662
|
+
<xsl:with-param name="text" select="$text"/>
|
8663
|
+
</xsl:call-template>
|
8664
|
+
</xsl:template><xsl:template name="replace_tag_interspers">
|
8665
|
+
<xsl:param name="text"/>
|
8666
|
+
<xsl:choose>
|
8667
|
+
<xsl:when test="contains($text, $interspers_tag_open)">
|
8668
|
+
<xsl:value-of select="substring-before($text, $interspers_tag_open)"/>
|
8669
|
+
<xsl:variable name="text_after" select="substring-after($text, $interspers_tag_open)"/>
|
8670
|
+
<interspers>
|
8671
|
+
<xsl:value-of select="substring-before($text_after, $interspers_tag_close)"/>
|
8672
|
+
</interspers>
|
8673
|
+
<xsl:call-template name="replace_tag_interspers">
|
8674
|
+
<xsl:with-param name="text" select="substring-after($text_after, $interspers_tag_close)"/>
|
8675
|
+
</xsl:call-template>
|
8676
|
+
</xsl:when>
|
8677
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
8678
|
+
</xsl:choose>
|
8679
|
+
</xsl:template><xsl:template name="interspers">
|
8680
|
+
<xsl:param name="str"/>
|
8681
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
8682
|
+
<xsl:if test="$str != ''">
|
8683
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
8684
|
+
|
8685
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
8686
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
8687
|
+
<xsl:value-of select="$char"/>
|
8688
|
+
</xsl:if>
|
8689
|
+
|
8690
|
+
<xsl:call-template name="interspers">
|
8691
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
8692
|
+
<xsl:with-param name="char" select="$char"/>
|
8693
|
+
</xsl:call-template>
|
8694
|
+
</xsl:if>
|
8572
8695
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
8573
8696
|
<xsl:apply-templates mode="syntax_highlight"/>
|
8574
8697
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -9000,7 +9123,7 @@
|
|
9000
9123
|
</xsl:otherwise>
|
9001
9124
|
</xsl:choose> -->
|
9002
9125
|
</fo:block>
|
9003
|
-
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
9126
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ') or starts-with(., '[SOURCE: Quoted from: ') or starts-with(., '[SOURCE: Modified from: ')]" priority="2">
|
9004
9127
|
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
9005
9128
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
9006
9129
|
<xsl:if test="normalize-space() != ''">
|
@@ -9036,7 +9159,8 @@
|
|
9036
9159
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
9037
9160
|
</xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
|
9038
9161
|
<xsl:if test="normalize-space() != ''">
|
9039
|
-
<xsl:value-of select="."/>
|
9162
|
+
<!-- <xsl:value-of select="."/> -->
|
9163
|
+
<xsl:call-template name="text"/>
|
9040
9164
|
</xsl:if>
|
9041
9165
|
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
9042
9166
|
<fo:block-container margin-left="0mm">
|
@@ -9076,11 +9200,24 @@
|
|
9076
9200
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
9077
9201
|
<xsl:text>— </xsl:text>
|
9078
9202
|
<xsl:apply-templates/>
|
9079
|
-
</xsl:template><xsl:
|
9203
|
+
</xsl:template><xsl:variable name="bibitems_">
|
9204
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
9205
|
+
<xsl:copy-of select="."/>
|
9206
|
+
</xsl:for-each>
|
9207
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
9208
|
+
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
9209
|
+
<xsl:copy-of select="."/>
|
9210
|
+
</xsl:for-each>
|
9211
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
9212
|
+
<xsl:copy-of select="."/>
|
9213
|
+
</xsl:for-each>
|
9214
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
9080
9215
|
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
9081
|
-
<xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/>
|
9216
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
9217
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
9082
9218
|
<xsl:choose>
|
9083
|
-
<xsl:when test="$external-destination != '' or not(key('bibitems_hidden', $current_bibitemid))"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
9219
|
+
<!-- <xsl:when test="$external-destination != '' or not(key('bibitems_hidden', $current_bibitemid))"> --> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
9220
|
+
<xsl:when test="$external-destination != '' or not($bibitems_hidden/*[local-name() ='bibitem'][@id = $current_bibitemid])"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
9084
9221
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
9085
9222
|
<xsl:if test="@type = 'footnote'">
|
9086
9223
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -10221,7 +10358,7 @@
|
|
10221
10358
|
<xsl:copy>
|
10222
10359
|
<xsl:copy-of select="@*"/>
|
10223
10360
|
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
10224
|
-
<xsl:for-each select="*[not(@normative='true') and not(*[
|
10361
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
10225
10362
|
<xsl:sort select="@displayorder" data-type="number"/>
|
10226
10363
|
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10227
10364
|
</xsl:for-each>
|
@@ -10470,22 +10607,25 @@
|
|
10470
10607
|
<xsl:param name="pText" select="."/>
|
10471
10608
|
<xsl:param name="sep" select="','"/>
|
10472
10609
|
<xsl:param name="normalize-space" select="'true'"/>
|
10610
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
10473
10611
|
<xsl:if test="string-length($pText) >0">
|
10474
|
-
|
10475
|
-
|
10476
|
-
|
10477
|
-
|
10478
|
-
|
10479
|
-
|
10480
|
-
|
10481
|
-
|
10482
|
-
|
10483
|
-
|
10484
|
-
|
10485
|
-
<xsl:
|
10486
|
-
|
10487
|
-
|
10488
|
-
|
10612
|
+
<item>
|
10613
|
+
<xsl:choose>
|
10614
|
+
<xsl:when test="$normalize-space = 'true'">
|
10615
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
10616
|
+
</xsl:when>
|
10617
|
+
<xsl:otherwise>
|
10618
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
10619
|
+
</xsl:otherwise>
|
10620
|
+
</xsl:choose>
|
10621
|
+
</item>
|
10622
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
10623
|
+
<xsl:call-template name="split">
|
10624
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
10625
|
+
<xsl:with-param name="sep" select="$sep"/>
|
10626
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
10627
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
10628
|
+
</xsl:call-template>
|
10489
10629
|
</xsl:if>
|
10490
10630
|
</xsl:template><xsl:template name="getDocumentId">
|
10491
10631
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
@@ -220,7 +220,13 @@
|
|
220
220
|
|
221
221
|
|
222
222
|
<xsl:template match="/">
|
223
|
-
<fo:root
|
223
|
+
<fo:root xml:lang="{$lang}">
|
224
|
+
<xsl:variable name="root-style">
|
225
|
+
<root-style xsl:use-attribute-sets="root-style"/>
|
226
|
+
</xsl:variable>
|
227
|
+
<xsl:call-template name="insertRootStyle">
|
228
|
+
<xsl:with-param name="root-style" select="$root-style"/>
|
229
|
+
</xsl:call-template>
|
224
230
|
<fo:layout-master-set>
|
225
231
|
|
226
232
|
<!-- blank page -->
|
@@ -3916,7 +3922,7 @@
|
|
3916
3922
|
</xsl:template>
|
3917
3923
|
|
3918
3924
|
|
3919
|
-
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:
|
3925
|
+
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
|
3920
3926
|
<xsl:call-template name="getLang"/>
|
3921
3927
|
</xsl:variable><xsl:variable name="pageWidth_">
|
3922
3928
|
210
|
@@ -4070,7 +4076,30 @@
|
|
4070
4076
|
|
4071
4077
|
|
4072
4078
|
|
4073
|
-
</xsl:attribute-set><xsl:
|
4079
|
+
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
4080
|
+
<xsl:param name="root-style"/>
|
4081
|
+
<xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
|
4082
|
+
|
4083
|
+
<xsl:variable name="additional_fonts_">
|
4084
|
+
<xsl:for-each select="//*[local-name() = 'misc-container'][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
|
4085
|
+
<xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
|
4086
|
+
</xsl:for-each>
|
4087
|
+
</xsl:variable>
|
4088
|
+
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
4089
|
+
|
4090
|
+
<xsl:for-each select="$root-style_/root-style/@*">
|
4091
|
+
<xsl:choose>
|
4092
|
+
<xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
|
4093
|
+
<xsl:attribute name="{local-name()}">
|
4094
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
4095
|
+
</xsl:attribute>
|
4096
|
+
</xsl:when>
|
4097
|
+
<xsl:otherwise>
|
4098
|
+
<xsl:copy-of select="."/>
|
4099
|
+
</xsl:otherwise>
|
4100
|
+
</xsl:choose>
|
4101
|
+
</xsl:for-each>
|
4102
|
+
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
4074
4103
|
|
4075
4104
|
</xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
|
4076
4105
|
|
@@ -4589,7 +4618,7 @@
|
|
4589
4618
|
|
4590
4619
|
|
4591
4620
|
|
4592
|
-
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
4621
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
4593
4622
|
|
4594
4623
|
|
4595
4624
|
|
@@ -5302,8 +5331,27 @@
|
|
5302
5331
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5303
5332
|
<xsl:apply-templates select="."/>
|
5304
5333
|
</xsl:for-each>
|
5305
|
-
</xsl:template><xsl:template match="text()">
|
5306
|
-
<xsl:
|
5334
|
+
</xsl:template><xsl:variable name="tag_open">###fo:inline###</xsl:variable><xsl:variable name="tag_close">###/fo:inline###</xsl:variable><xsl:template match="text()" name="text">
|
5335
|
+
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
5336
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_open,'$1',$tag_close))"/>
|
5337
|
+
<xsl:call-template name="replace_fo_inline">
|
5338
|
+
<xsl:with-param name="text" select="$text"/>
|
5339
|
+
</xsl:call-template>
|
5340
|
+
</xsl:template><xsl:template name="replace_fo_inline">
|
5341
|
+
<xsl:param name="text"/>
|
5342
|
+
<xsl:choose>
|
5343
|
+
<xsl:when test="contains($text, $tag_open)">
|
5344
|
+
<xsl:value-of select="substring-before($text, $tag_open)"/>
|
5345
|
+
<xsl:text disable-output-escaping="yes"><fo:inline keep-together.within-line="always"></xsl:text>
|
5346
|
+
<xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
|
5347
|
+
<xsl:value-of select="substring-before($text_after, $tag_close)"/>
|
5348
|
+
<xsl:text disable-output-escaping="yes"></fo:inline></xsl:text>
|
5349
|
+
<xsl:call-template name="replace_fo_inline">
|
5350
|
+
<xsl:with-param name="text" select="substring-after($text_after, $tag_close)"/>
|
5351
|
+
</xsl:call-template>
|
5352
|
+
</xsl:when>
|
5353
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
5354
|
+
</xsl:choose>
|
5307
5355
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
5308
5356
|
<xsl:value-of select="$linebreak"/>
|
5309
5357
|
</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
|
@@ -7045,24 +7093,28 @@
|
|
7045
7093
|
</xsl:template><xsl:template name="add-zero-spaces-equal">
|
7046
7094
|
<xsl:param name="text" select="."/>
|
7047
7095
|
<xsl:variable name="zero-space-after-equals">==========</xsl:variable>
|
7096
|
+
<xsl:variable name="regex_zero-space-after-equals">(==========)</xsl:variable>
|
7048
7097
|
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
7098
|
+
<xsl:variable name="regex_zero-space-after-equal">(=)</xsl:variable>
|
7049
7099
|
<xsl:variable name="zero-space"></xsl:variable>
|
7050
7100
|
<xsl:choose>
|
7051
7101
|
<xsl:when test="contains($text, $zero-space-after-equals)">
|
7052
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
7102
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
7053
7103
|
<xsl:value-of select="$zero-space-after-equals"/>
|
7054
7104
|
<xsl:value-of select="$zero-space"/>
|
7055
7105
|
<xsl:call-template name="add-zero-spaces-equal">
|
7056
7106
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
|
7057
|
-
</xsl:call-template>
|
7107
|
+
</xsl:call-template> -->
|
7108
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equals,concat('$1',$zero_width_space))"/>
|
7058
7109
|
</xsl:when>
|
7059
7110
|
<xsl:when test="contains($text, $zero-space-after-equal)">
|
7060
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
7111
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
7061
7112
|
<xsl:value-of select="$zero-space-after-equal"/>
|
7062
7113
|
<xsl:value-of select="$zero-space"/>
|
7063
7114
|
<xsl:call-template name="add-zero-spaces-equal">
|
7064
7115
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
|
7065
|
-
</xsl:call-template>
|
7116
|
+
</xsl:call-template> -->
|
7117
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equal,concat('$1',$zero_width_space))"/>
|
7066
7118
|
</xsl:when>
|
7067
7119
|
<xsl:otherwise>
|
7068
7120
|
<xsl:value-of select="$text"/>
|
@@ -7576,7 +7628,12 @@
|
|
7576
7628
|
|
7577
7629
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
7578
7630
|
|
7631
|
+
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
7632
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
7633
|
+
</xsl:if>
|
7634
|
+
|
7579
7635
|
|
7636
|
+
|
7580
7637
|
|
7581
7638
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
7582
7639
|
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
@@ -8568,7 +8625,73 @@
|
|
8568
8625
|
<xsl:with-param name="text" select="$text_step1"/>
|
8569
8626
|
</xsl:call-template>
|
8570
8627
|
</xsl:variable>
|
8571
|
-
|
8628
|
+
|
8629
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
8630
|
+
|
8631
|
+
<!-- add zero-width space after space -->
|
8632
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
8633
|
+
|
8634
|
+
<!-- split text by zero-width space -->
|
8635
|
+
<xsl:variable name="text_step4">
|
8636
|
+
<xsl:call-template name="split_for_interspers">
|
8637
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
8638
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
8639
|
+
</xsl:call-template>
|
8640
|
+
</xsl:variable>
|
8641
|
+
|
8642
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
8643
|
+
<xsl:choose>
|
8644
|
+
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
8645
|
+
<xsl:call-template name="interspers">
|
8646
|
+
<xsl:with-param name="str" select="."/>
|
8647
|
+
</xsl:call-template>
|
8648
|
+
</xsl:when>
|
8649
|
+
<xsl:otherwise>
|
8650
|
+
<xsl:value-of select="."/>
|
8651
|
+
</xsl:otherwise>
|
8652
|
+
</xsl:choose>
|
8653
|
+
</xsl:for-each>
|
8654
|
+
|
8655
|
+
</xsl:template><xsl:variable name="interspers_tag_open">###interspers123###</xsl:variable><xsl:variable name="interspers_tag_close">###/interspers123###</xsl:variable><xsl:template name="split_for_interspers">
|
8656
|
+
<xsl:param name="pText" select="."/>
|
8657
|
+
<xsl:param name="sep" select="','"/>
|
8658
|
+
<!-- word with length more than 30 will be interspersed with zero-width space -->
|
8659
|
+
<xsl:variable name="regex" select="concat('([^', $zero_width_space, ']{31,})')"/> <!-- sequence of characters (more 31), that doesn't contains zero-width space -->
|
8660
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new($pText),$regex,concat($interspers_tag_open,'$1',$interspers_tag_close))"/>
|
8661
|
+
<xsl:call-template name="replace_tag_interspers">
|
8662
|
+
<xsl:with-param name="text" select="$text"/>
|
8663
|
+
</xsl:call-template>
|
8664
|
+
</xsl:template><xsl:template name="replace_tag_interspers">
|
8665
|
+
<xsl:param name="text"/>
|
8666
|
+
<xsl:choose>
|
8667
|
+
<xsl:when test="contains($text, $interspers_tag_open)">
|
8668
|
+
<xsl:value-of select="substring-before($text, $interspers_tag_open)"/>
|
8669
|
+
<xsl:variable name="text_after" select="substring-after($text, $interspers_tag_open)"/>
|
8670
|
+
<interspers>
|
8671
|
+
<xsl:value-of select="substring-before($text_after, $interspers_tag_close)"/>
|
8672
|
+
</interspers>
|
8673
|
+
<xsl:call-template name="replace_tag_interspers">
|
8674
|
+
<xsl:with-param name="text" select="substring-after($text_after, $interspers_tag_close)"/>
|
8675
|
+
</xsl:call-template>
|
8676
|
+
</xsl:when>
|
8677
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
8678
|
+
</xsl:choose>
|
8679
|
+
</xsl:template><xsl:template name="interspers">
|
8680
|
+
<xsl:param name="str"/>
|
8681
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
8682
|
+
<xsl:if test="$str != ''">
|
8683
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
8684
|
+
|
8685
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
8686
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
8687
|
+
<xsl:value-of select="$char"/>
|
8688
|
+
</xsl:if>
|
8689
|
+
|
8690
|
+
<xsl:call-template name="interspers">
|
8691
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
8692
|
+
<xsl:with-param name="char" select="$char"/>
|
8693
|
+
</xsl:call-template>
|
8694
|
+
</xsl:if>
|
8572
8695
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
8573
8696
|
<xsl:apply-templates mode="syntax_highlight"/>
|
8574
8697
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -9000,7 +9123,7 @@
|
|
9000
9123
|
</xsl:otherwise>
|
9001
9124
|
</xsl:choose> -->
|
9002
9125
|
</fo:block>
|
9003
|
-
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
9126
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ') or starts-with(., '[SOURCE: Quoted from: ') or starts-with(., '[SOURCE: Modified from: ')]" priority="2">
|
9004
9127
|
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
9005
9128
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
9006
9129
|
<xsl:if test="normalize-space() != ''">
|
@@ -9036,7 +9159,8 @@
|
|
9036
9159
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
9037
9160
|
</xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
|
9038
9161
|
<xsl:if test="normalize-space() != ''">
|
9039
|
-
<xsl:value-of select="."/>
|
9162
|
+
<!-- <xsl:value-of select="."/> -->
|
9163
|
+
<xsl:call-template name="text"/>
|
9040
9164
|
</xsl:if>
|
9041
9165
|
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
9042
9166
|
<fo:block-container margin-left="0mm">
|
@@ -9076,11 +9200,24 @@
|
|
9076
9200
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
9077
9201
|
<xsl:text>— </xsl:text>
|
9078
9202
|
<xsl:apply-templates/>
|
9079
|
-
</xsl:template><xsl:
|
9203
|
+
</xsl:template><xsl:variable name="bibitems_">
|
9204
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
9205
|
+
<xsl:copy-of select="."/>
|
9206
|
+
</xsl:for-each>
|
9207
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
9208
|
+
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
9209
|
+
<xsl:copy-of select="."/>
|
9210
|
+
</xsl:for-each>
|
9211
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
9212
|
+
<xsl:copy-of select="."/>
|
9213
|
+
</xsl:for-each>
|
9214
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
9080
9215
|
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
9081
|
-
<xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/>
|
9216
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
9217
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
9082
9218
|
<xsl:choose>
|
9083
|
-
<xsl:when test="$external-destination != '' or not(key('bibitems_hidden', $current_bibitemid))"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
9219
|
+
<!-- <xsl:when test="$external-destination != '' or not(key('bibitems_hidden', $current_bibitemid))"> --> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
9220
|
+
<xsl:when test="$external-destination != '' or not($bibitems_hidden/*[local-name() ='bibitem'][@id = $current_bibitemid])"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
9084
9221
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
9085
9222
|
<xsl:if test="@type = 'footnote'">
|
9086
9223
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -10221,7 +10358,7 @@
|
|
10221
10358
|
<xsl:copy>
|
10222
10359
|
<xsl:copy-of select="@*"/>
|
10223
10360
|
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
10224
|
-
<xsl:for-each select="*[not(@normative='true') and not(*[
|
10361
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
10225
10362
|
<xsl:sort select="@displayorder" data-type="number"/>
|
10226
10363
|
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10227
10364
|
</xsl:for-each>
|
@@ -10470,22 +10607,25 @@
|
|
10470
10607
|
<xsl:param name="pText" select="."/>
|
10471
10608
|
<xsl:param name="sep" select="','"/>
|
10472
10609
|
<xsl:param name="normalize-space" select="'true'"/>
|
10610
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
10473
10611
|
<xsl:if test="string-length($pText) >0">
|
10474
|
-
|
10475
|
-
|
10476
|
-
|
10477
|
-
|
10478
|
-
|
10479
|
-
|
10480
|
-
|
10481
|
-
|
10482
|
-
|
10483
|
-
|
10484
|
-
|
10485
|
-
<xsl:
|
10486
|
-
|
10487
|
-
|
10488
|
-
|
10612
|
+
<item>
|
10613
|
+
<xsl:choose>
|
10614
|
+
<xsl:when test="$normalize-space = 'true'">
|
10615
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
10616
|
+
</xsl:when>
|
10617
|
+
<xsl:otherwise>
|
10618
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
10619
|
+
</xsl:otherwise>
|
10620
|
+
</xsl:choose>
|
10621
|
+
</item>
|
10622
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
10623
|
+
<xsl:call-template name="split">
|
10624
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
10625
|
+
<xsl:with-param name="sep" select="$sep"/>
|
10626
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
10627
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
10628
|
+
</xsl:call-template>
|
10489
10629
|
</xsl:if>
|
10490
10630
|
</xsl:template><xsl:template name="getDocumentId">
|
10491
10631
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|