metanorma-bipm 2.2.0 → 2.2.2
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/base_convert.rb +0 -28
- data/lib/isodoc/bipm/bipm.brochure.xsl +317 -234
- data/lib/isodoc/bipm/bipm.guide.xsl +317 -234
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +317 -234
- data/lib/isodoc/bipm/bipm.rapport.xsl +317 -234
- data/lib/isodoc/bipm/html/htmlstyle.css +35 -3
- data/lib/isodoc/bipm/jcgm.standard.xsl +259 -188
- data/lib/isodoc/bipm/presentation_xml_convert.rb +18 -0
- data/lib/metanorma/bipm/isodoc.rng +11 -1
- data/lib/metanorma/bipm/version.rb +1 -1
- metadata +2 -2
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<xsl:param name="align-cross-elements"/>
|
6
6
|
|
7
|
-
<xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])
|
7
|
+
<xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure' or local-name() = 'localized-strings')] and not(ancestor::*[local-name() = 'name']))]" use="@reference"/>
|
8
8
|
|
9
9
|
<xsl:variable name="align_cross_elements_default">clause</xsl:variable>
|
10
10
|
<xsl:variable name="align_cross_elements_doc">
|
@@ -2506,6 +2506,12 @@
|
|
2506
2506
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2507
2507
|
</xsl:attribute-set>
|
2508
2508
|
|
2509
|
+
<xsl:attribute-set name="figure-block-style">
|
2510
|
+
|
2511
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
2512
|
+
|
2513
|
+
</xsl:attribute-set>
|
2514
|
+
|
2509
2515
|
<xsl:attribute-set name="figure-style">
|
2510
2516
|
|
2511
2517
|
</xsl:attribute-set>
|
@@ -2515,7 +2521,7 @@
|
|
2515
2521
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2516
2522
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
2517
2523
|
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
2518
|
-
<xsl:attribute name="
|
2524
|
+
<xsl:attribute name="space-after">12pt</xsl:attribute>
|
2519
2525
|
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
2520
2526
|
|
2521
2527
|
</xsl:attribute-set>
|
@@ -3917,6 +3923,10 @@
|
|
3917
3923
|
<xsl:with-param name="continued">true</xsl:with-param>
|
3918
3924
|
</xsl:apply-templates>
|
3919
3925
|
|
3926
|
+
<xsl:if test="not(ancestor::*[local-name()='table']/*[local-name()='name'])"> <!-- to prevent empty fo:table-cell in case of missing table's name -->
|
3927
|
+
<fo:block/>
|
3928
|
+
</xsl:if>
|
3929
|
+
|
3920
3930
|
<xsl:for-each select="ancestor::*[local-name()='table'][1]">
|
3921
3931
|
<xsl:call-template name="table_name_fn_display"/>
|
3922
3932
|
</xsl:for-each>
|
@@ -4338,7 +4348,7 @@
|
|
4338
4348
|
</fn>
|
4339
4349
|
-->
|
4340
4350
|
<!-- footnotes in text (title, bibliography, main body, table's, figure's names), not for tables, figures -->
|
4341
|
-
<xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])
|
4351
|
+
<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">
|
4342
4352
|
|
4343
4353
|
<!-- list of footnotes to calculate actual footnotes number -->
|
4344
4354
|
<xsl:variable name="p_fn_">
|
@@ -4369,7 +4379,22 @@
|
|
4369
4379
|
|
4370
4380
|
<xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
|
4371
4381
|
<xsl:variable name="footnote_inline">
|
4372
|
-
<fo:inline
|
4382
|
+
<fo:inline>
|
4383
|
+
|
4384
|
+
<xsl:variable name="fn_styles">
|
4385
|
+
<xsl:choose>
|
4386
|
+
<xsl:when test="ancestor::*[local-name() = 'bibitem']">
|
4387
|
+
<fn_styles xsl:use-attribute-sets="bibitem-note-fn-style"/>
|
4388
|
+
</xsl:when>
|
4389
|
+
<xsl:otherwise>
|
4390
|
+
<fn_styles xsl:use-attribute-sets="fn-num-style"/>
|
4391
|
+
</xsl:otherwise>
|
4392
|
+
</xsl:choose>
|
4393
|
+
</xsl:variable>
|
4394
|
+
|
4395
|
+
<xsl:for-each select="xalan:nodeset($fn_styles)/fn_styles/@*">
|
4396
|
+
<xsl:copy-of select="."/>
|
4397
|
+
</xsl:for-each>
|
4373
4398
|
|
4374
4399
|
<xsl:if test="following-sibling::*[1][local-name() = 'fn']">
|
4375
4400
|
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
@@ -4380,8 +4405,7 @@
|
|
4380
4405
|
</fo:basic-link>
|
4381
4406
|
</fo:inline>
|
4382
4407
|
</xsl:variable>
|
4383
|
-
|
4384
|
-
gen_id=<xsl:value-of select="$gen_id"/> -->
|
4408
|
+
|
4385
4409
|
<xsl:choose>
|
4386
4410
|
<xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
|
4387
4411
|
<xsl:copy-of select="$footnote_inline"/>
|
@@ -4433,7 +4457,10 @@
|
|
4433
4457
|
</xsl:for-each>
|
4434
4458
|
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='boilerplate']/* | 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']/*">
|
4435
4459
|
<xsl:sort select="@displayorder" data-type="number"/>
|
4436
|
-
|
4460
|
+
<!-- commented:
|
4461
|
+
.//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] |
|
4462
|
+
because 'fn' there is in biblio-tag -->
|
4463
|
+
<xsl:for-each select=".//*[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])]">
|
4437
4464
|
<!-- copy unique fn -->
|
4438
4465
|
<fn gen_id="{generate-id(.)}">
|
4439
4466
|
<xsl:copy-of select="@*"/>
|
@@ -5301,7 +5328,7 @@
|
|
5301
5328
|
|
5302
5329
|
<xsl:variable name="_font-size">
|
5303
5330
|
|
5304
|
-
<!--
|
5331
|
+
<!-- inherit -->
|
5305
5332
|
|
5306
5333
|
10
|
5307
5334
|
|
@@ -6272,6 +6299,33 @@
|
|
6272
6299
|
</xsl:choose>
|
6273
6300
|
</xsl:template>
|
6274
6301
|
|
6302
|
+
<xsl:template name="getLang_fromCurrentNode">
|
6303
|
+
<xsl:variable name="language_current" select="normalize-space(.//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
6304
|
+
<xsl:variable name="language">
|
6305
|
+
<xsl:choose>
|
6306
|
+
<xsl:when test="$language_current != ''">
|
6307
|
+
<xsl:value-of select="$language_current"/>
|
6308
|
+
</xsl:when>
|
6309
|
+
<xsl:otherwise>
|
6310
|
+
<xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
6311
|
+
<xsl:choose>
|
6312
|
+
<xsl:when test="$language_current_2 != ''">
|
6313
|
+
<xsl:value-of select="$language_current_2"/>
|
6314
|
+
</xsl:when>
|
6315
|
+
<xsl:otherwise>
|
6316
|
+
<xsl:value-of select=".//*[local-name()='bibdata']//*[local-name()='language']"/>
|
6317
|
+
</xsl:otherwise>
|
6318
|
+
</xsl:choose>
|
6319
|
+
</xsl:otherwise>
|
6320
|
+
</xsl:choose>
|
6321
|
+
</xsl:variable>
|
6322
|
+
|
6323
|
+
<xsl:choose>
|
6324
|
+
<xsl:when test="$language = 'English'">en</xsl:when>
|
6325
|
+
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
6326
|
+
</xsl:choose>
|
6327
|
+
</xsl:template>
|
6328
|
+
|
6275
6329
|
<xsl:template name="capitalizeWords">
|
6276
6330
|
<xsl:param name="str"/>
|
6277
6331
|
<xsl:variable name="str2" select="translate($str, '-', ' ')"/>
|
@@ -6895,7 +6949,7 @@
|
|
6895
6949
|
<xsl:template match="*[local-name() = 'figure']" name="figure">
|
6896
6950
|
<xsl:variable name="isAdded" select="@added"/>
|
6897
6951
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
6898
|
-
<fo:block-container id="{@id}">
|
6952
|
+
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
6899
6953
|
|
6900
6954
|
<xsl:call-template name="setTrackChangesStyles">
|
6901
6955
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
@@ -6973,7 +7027,9 @@
|
|
6973
7027
|
|
6974
7028
|
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
|
6975
7029
|
<xsl:if test="number($scale) < 100">
|
6976
|
-
|
7030
|
+
|
7031
|
+
<xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
|
7032
|
+
|
6977
7033
|
</xsl:if>
|
6978
7034
|
|
6979
7035
|
</xsl:if>
|
@@ -7881,7 +7937,13 @@
|
|
7881
7937
|
</xsl:template>
|
7882
7938
|
|
7883
7939
|
<xsl:template match="text()" mode="contents_item">
|
7884
|
-
<xsl:
|
7940
|
+
<xsl:variable name="text">
|
7941
|
+
<!-- to split by '_' and other chars -->
|
7942
|
+
<text><xsl:call-template name="add-zero-spaces-java"/></text>
|
7943
|
+
</xsl:variable>
|
7944
|
+
<xsl:for-each select="xalan:nodeset($text)/text/text()">
|
7945
|
+
<xsl:call-template name="keep_together_standard_number"/>
|
7946
|
+
</xsl:for-each>
|
7885
7947
|
</xsl:template>
|
7886
7948
|
|
7887
7949
|
<!-- Note: to enable the addition of character span markup with semantic styling for DIS Word output -->
|
@@ -7892,35 +7954,53 @@
|
|
7892
7954
|
<!-- =============== -->
|
7893
7955
|
<!-- sourcecode -->
|
7894
7956
|
<!-- =============== -->
|
7895
|
-
<xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
7896
7957
|
|
7897
|
-
|
7898
|
-
|
7899
|
-
|
7958
|
+
<xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'source-highlighter-css']"/>
|
7959
|
+
<xsl:variable name="sourcecode_css_" select="java:org.metanorma.fop.Util.parseCSS($source-highlighter-css_)"/>
|
7960
|
+
<xsl:variable name="sourcecode_css" select="xalan:nodeset($sourcecode_css_)"/>
|
7900
7961
|
|
7901
|
-
|
7962
|
+
<xsl:template match="*[local-name() = 'property']" mode="css">
|
7963
|
+
<xsl:attribute name="{@name}">
|
7964
|
+
<xsl:value-of select="@value"/>
|
7965
|
+
</xsl:attribute>
|
7966
|
+
</xsl:template>
|
7902
7967
|
|
7903
|
-
|
7904
|
-
|
7905
|
-
|
7906
|
-
</xsl:if> -->
|
7968
|
+
<xsl:template name="get_sourcecode_attributes">
|
7969
|
+
<xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
|
7970
|
+
<xsl:variable name="_font-size">
|
7907
7971
|
|
7908
|
-
|
7972
|
+
<!-- inherit -->
|
7909
7973
|
|
7910
|
-
|
7911
|
-
<xsl:if test="$
|
7912
|
-
<xsl:
|
7913
|
-
|
7914
|
-
|
7915
|
-
|
7916
|
-
|
7917
|
-
|
7918
|
-
|
7919
|
-
|
7920
|
-
|
7921
|
-
|
7974
|
+
9
|
7975
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
7976
|
+
<xsl:if test="$current_template = 'standard'">8</xsl:if>
|
7977
|
+
</xsl:if> -->
|
7978
|
+
|
7979
|
+
</xsl:variable>
|
7980
|
+
|
7981
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
7982
|
+
<xsl:if test="$font-size != ''">
|
7983
|
+
<xsl:attribute name="font-size">
|
7984
|
+
<xsl:choose>
|
7985
|
+
<xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
|
7986
|
+
<xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
|
7987
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
7988
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
7989
|
+
</xsl:choose>
|
7990
|
+
</xsl:attribute>
|
7991
|
+
</xsl:if>
|
7992
|
+
<xsl:apply-templates select="$sourcecode_css//class[@name = 'sourcecode']" mode="css"/>
|
7993
|
+
</xsl:element>
|
7994
|
+
</xsl:template>
|
7995
|
+
|
7996
|
+
<xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
7997
|
+
|
7998
|
+
<xsl:variable name="sourcecode_attributes">
|
7999
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
7922
8000
|
</xsl:variable>
|
7923
8001
|
|
8002
|
+
<!-- <xsl:copy-of select="$sourcecode_css"/> -->
|
8003
|
+
|
7924
8004
|
<xsl:choose>
|
7925
8005
|
<xsl:when test="$isGenerateTableIF = 'true' and (ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])">
|
7926
8006
|
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
|
@@ -7963,6 +8043,12 @@
|
|
7963
8043
|
</xsl:attribute>
|
7964
8044
|
</xsl:for-each>
|
7965
8045
|
|
8046
|
+
<!-- remove margin between rows in the table with sourcecode line numbers -->
|
8047
|
+
<xsl:if test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']">
|
8048
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
8049
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
8050
|
+
</xsl:if>
|
8051
|
+
|
7966
8052
|
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
7967
8053
|
</fo:block>
|
7968
8054
|
|
@@ -7974,9 +8060,10 @@
|
|
7974
8060
|
</xsl:choose>
|
7975
8061
|
</xsl:template>
|
7976
8062
|
|
7977
|
-
<xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
8063
|
+
<xsl:template match="*[local-name()='sourcecode']/text() | *[local-name()='sourcecode']//*[local-name()='span']/text()" priority="2">
|
7978
8064
|
<xsl:choose>
|
7979
|
-
|
8065
|
+
<!-- disabled -->
|
8066
|
+
<xsl:when test="1 = 2 and normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
|
7980
8067
|
<xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
|
7981
8068
|
<xsl:choose>
|
7982
8069
|
<xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
|
@@ -7991,8 +8078,76 @@
|
|
7991
8078
|
<xsl:call-template name="add_spaces_to_sourcecode"/>
|
7992
8079
|
</xsl:otherwise>
|
7993
8080
|
</xsl:choose>
|
8081
|
+
</xsl:template>
|
8082
|
+
|
8083
|
+
<!-- add sourcecode highlighting -->
|
8084
|
+
<xsl:template match="*[local-name()='sourcecode']//*[local-name()='span'][@class]" priority="2">
|
8085
|
+
<xsl:variable name="class" select="@class"/>
|
8086
|
+
<xsl:choose>
|
8087
|
+
<xsl:when test="$sourcecode_css//class[@name = $class]">
|
8088
|
+
<fo:inline>
|
8089
|
+
<xsl:apply-templates select="$sourcecode_css//class[@name = $class]" mode="css"/>
|
8090
|
+
<xsl:apply-templates/>
|
8091
|
+
</fo:inline>
|
8092
|
+
</xsl:when>
|
8093
|
+
<xsl:otherwise>
|
8094
|
+
<xsl:apply-templates/>
|
8095
|
+
</xsl:otherwise>
|
8096
|
+
</xsl:choose>
|
8097
|
+
</xsl:template>
|
7994
8098
|
|
8099
|
+
<!-- outer table with line numbers for sourcecode -->
|
8100
|
+
<xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] | -->
|
8101
|
+
<fo:block>
|
8102
|
+
<fo:table width="100%" table-layout="fixed">
|
8103
|
+
<xsl:copy-of select="@id"/>
|
8104
|
+
<fo:table-column column-width="8%"/>
|
8105
|
+
<fo:table-column column-width="92%"/>
|
8106
|
+
<fo:table-body>
|
8107
|
+
<xsl:apply-templates/>
|
8108
|
+
</fo:table-body>
|
8109
|
+
</fo:table>
|
8110
|
+
</fo:block>
|
8111
|
+
</xsl:template>
|
8112
|
+
<xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']/*[local-name() = 'tbody']" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody'] | -->
|
8113
|
+
<xsl:apply-templates/>
|
8114
|
+
</xsl:template>
|
8115
|
+
<xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr'] | -->
|
8116
|
+
<fo:table-row>
|
8117
|
+
<xsl:apply-templates/>
|
8118
|
+
</fo:table-row>
|
7995
8119
|
</xsl:template>
|
8120
|
+
<!-- first td with line numbers -->
|
8121
|
+
<xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']/*[local-name()='td'][not(preceding-sibling::*)]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
|
8122
|
+
<fo:table-cell>
|
8123
|
+
<fo:block>
|
8124
|
+
|
8125
|
+
<!-- set attibutes for line numbers - same as sourcecode -->
|
8126
|
+
<xsl:variable name="sourcecode_attributes">
|
8127
|
+
<xsl:for-each select="following-sibling::*[local-name() = 'td']/*[local-name() = 'sourcecode']">
|
8128
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
8129
|
+
</xsl:for-each>
|
8130
|
+
</xsl:variable>
|
8131
|
+
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*[not(starts-with(local-name(), 'margin-') or starts-with(local-name(), 'space-'))]">
|
8132
|
+
<xsl:attribute name="{local-name()}">
|
8133
|
+
<xsl:value-of select="."/>
|
8134
|
+
</xsl:attribute>
|
8135
|
+
</xsl:for-each>
|
8136
|
+
|
8137
|
+
<xsl:apply-templates/>
|
8138
|
+
</fo:block>
|
8139
|
+
</fo:table-cell>
|
8140
|
+
</xsl:template>
|
8141
|
+
|
8142
|
+
<!-- second td with sourcecode -->
|
8143
|
+
<xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
|
8144
|
+
<fo:table-cell>
|
8145
|
+
<fo:block>
|
8146
|
+
<xsl:apply-templates/>
|
8147
|
+
</fo:block>
|
8148
|
+
</fo:table-cell>
|
8149
|
+
</xsl:template>
|
8150
|
+
<!-- END outer table with line numbers for sourcecode -->
|
7996
8151
|
|
7997
8152
|
<xsl:template name="add_spaces_to_sourcecode">
|
7998
8153
|
<xsl:variable name="text_step1">
|
@@ -8223,7 +8378,25 @@
|
|
8223
8378
|
<xsl:template match="*[local-name()='pre']" name="pre">
|
8224
8379
|
<fo:block xsl:use-attribute-sets="pre-style">
|
8225
8380
|
<xsl:copy-of select="@id"/>
|
8226
|
-
<xsl:
|
8381
|
+
<xsl:choose>
|
8382
|
+
|
8383
|
+
<xsl:when test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name()='td'][1][not(preceding-sibling::*)]"> <!-- pre in the first td in the table with @linenums = 'true' -->
|
8384
|
+
<xsl:if test="ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']"> <!-- is current tr isn't last -->
|
8385
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
8386
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
8387
|
+
</xsl:if>
|
8388
|
+
<fo:instream-foreign-object fox:alt-text="{.}" content-width="95%">
|
8389
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
8390
|
+
<mtext><xsl:value-of select="."/></mtext>
|
8391
|
+
</math>
|
8392
|
+
</fo:instream-foreign-object>
|
8393
|
+
</xsl:when>
|
8394
|
+
|
8395
|
+
<xsl:otherwise>
|
8396
|
+
<xsl:apply-templates/>
|
8397
|
+
</xsl:otherwise>
|
8398
|
+
|
8399
|
+
</xsl:choose>
|
8227
8400
|
</fo:block>
|
8228
8401
|
</xsl:template>
|
8229
8402
|
<!-- =============== -->
|
@@ -9685,17 +9858,17 @@
|
|
9685
9858
|
<fo:block>
|
9686
9859
|
<fo:inline>
|
9687
9860
|
|
9688
|
-
|
9689
|
-
|
9690
|
-
|
9691
|
-
</xsl:if>
|
9692
|
-
|
9861
|
+
<xsl:apply-templates select="*[local-name() = 'biblio-tag']">
|
9862
|
+
<xsl:with-param name="biblio_tag_part">first</xsl:with-param>
|
9863
|
+
</xsl:apply-templates>
|
9693
9864
|
</fo:inline>
|
9694
9865
|
</fo:block>
|
9695
9866
|
</fo:list-item-label>
|
9696
9867
|
<fo:list-item-body start-indent="body-start()">
|
9697
9868
|
<fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
|
9698
|
-
<xsl:call-template name="processBibitem"
|
9869
|
+
<xsl:call-template name="processBibitem">
|
9870
|
+
<xsl:with-param name="biblio_tag_part">last</xsl:with-param>
|
9871
|
+
</xsl:call-template>
|
9699
9872
|
</fo:block>
|
9700
9873
|
</fo:list-item-body>
|
9701
9874
|
</fo:list-item>
|
@@ -9704,168 +9877,56 @@
|
|
9704
9877
|
</xsl:template> <!-- references[not(@normative='true')]/bibitem -->
|
9705
9878
|
|
9706
9879
|
<xsl:template name="processBibitem">
|
9880
|
+
<xsl:param name="biblio_tag_part">both</xsl:param>
|
9707
9881
|
|
9708
|
-
<!-- start
|
9709
|
-
<xsl:
|
9710
|
-
<xsl:
|
9711
|
-
|
9712
|
-
<xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal') and not(@type = 'BIPM')]"/></xsl:otherwise>
|
9713
|
-
</xsl:choose>
|
9714
|
-
</xsl:variable>
|
9715
|
-
<xsl:value-of select="$docidentifier"/>
|
9882
|
+
<!-- start bibitem processing -->
|
9883
|
+
<xsl:if test=".//*[local-name() = 'fn']">
|
9884
|
+
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
9885
|
+
</xsl:if>
|
9716
9886
|
|
9717
|
-
|
9718
|
-
|
9887
|
+
<!-- move opening ace-tag before number -->
|
9888
|
+
<xsl:apply-templates select="*[local-name() = 'formattedref']/node()[1][local-name() = 'add' and contains(., '_start')]">
|
9889
|
+
<xsl:with-param name="skip">false</xsl:with-param>
|
9890
|
+
</xsl:apply-templates>
|
9719
9891
|
|
9720
|
-
|
9892
|
+
<xsl:apply-templates select="*[local-name() = 'biblio-tag']">
|
9893
|
+
<xsl:with-param name="biblio_tag_part" select="$biblio_tag_part"/>
|
9894
|
+
</xsl:apply-templates>
|
9895
|
+
<xsl:apply-templates select="*[local-name() = 'formattedref']"/>
|
9896
|
+
<!-- end bibitem processing -->
|
9721
9897
|
|
9722
9898
|
</xsl:template> <!-- processBibitem (bibitem) -->
|
9723
9899
|
|
9724
|
-
<xsl:template name="
|
9725
|
-
<xsl:
|
9726
|
-
|
9727
|
-
|
9728
|
-
|
9729
|
-
|
9730
|
-
|
9731
|
-
|
9732
|
-
|
9733
|
-
|
9734
|
-
|
9735
|
-
|
9736
|
-
<xsl:if test="$type != ''">
|
9737
|
-
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
9738
|
-
</xsl:if> -->
|
9739
|
-
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
|
9740
|
-
</xsl:otherwise>
|
9741
|
-
</xsl:choose>
|
9742
|
-
</xsl:template> <!-- processBibitemDocId -->
|
9900
|
+
<xsl:template match="*[local-name() = 'title']" mode="title">
|
9901
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
9902
|
+
</xsl:template>
|
9903
|
+
|
9904
|
+
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/>
|
9905
|
+
|
9906
|
+
<xsl:template match="*[local-name() = 'formattedref']">
|
9907
|
+
<!-- <xsl:if test="$namespace = 'unece' or $namespace = 'unece-rec'">
|
9908
|
+
<xsl:text>, </xsl:text>
|
9909
|
+
</xsl:if> -->
|
9910
|
+
<xsl:apply-templates/>
|
9911
|
+
</xsl:template>
|
9743
9912
|
|
9744
|
-
<xsl:template name="
|
9913
|
+
<xsl:template match="*[local-name() = 'biblio-tag']">
|
9914
|
+
<xsl:param name="biblio_tag_part">both</xsl:param>
|
9745
9915
|
<xsl:choose>
|
9746
|
-
<xsl:when test="
|
9747
|
-
<
|
9748
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
|
9749
|
-
</author>
|
9750
|
-
</xsl:when>
|
9751
|
-
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
|
9752
|
-
<author>
|
9753
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
9754
|
-
<xsl:text> </xsl:text>
|
9755
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
|
9756
|
-
</author>
|
9916
|
+
<xsl:when test="$biblio_tag_part = 'first' and *[local-name() = 'tab']">
|
9917
|
+
<xsl:apply-templates select="./*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
9757
9918
|
</xsl:when>
|
9758
|
-
<xsl:when test="
|
9759
|
-
<
|
9760
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
9761
|
-
<xsl:text> </xsl:text>
|
9762
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
|
9763
|
-
</author>
|
9919
|
+
<xsl:when test="$biblio_tag_part = 'last'">
|
9920
|
+
<xsl:apply-templates select="./*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
9764
9921
|
</xsl:when>
|
9765
9922
|
<xsl:otherwise>
|
9766
9923
|
<xsl:apply-templates/>
|
9767
9924
|
</xsl:otherwise>
|
9768
9925
|
</xsl:choose>
|
9769
|
-
</xsl:template> <!-- processPersonalAuthor -->
|
9770
|
-
|
9771
|
-
<xsl:template name="renderDate">
|
9772
|
-
<xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
|
9773
|
-
<xsl:value-of select="*[local-name() = 'on']"/>
|
9774
|
-
</xsl:if>
|
9775
|
-
<xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
|
9776
|
-
<xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
|
9777
|
-
</xsl:if>
|
9778
|
-
</xsl:template>
|
9779
|
-
|
9780
|
-
<xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
|
9781
|
-
<xsl:value-of select="translate(.,'. ','')"/>
|
9782
|
-
</xsl:template>
|
9783
|
-
|
9784
|
-
<xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
9785
|
-
<xsl:value-of select="substring(.,1,1)"/>
|
9786
|
-
</xsl:template>
|
9787
|
-
|
9788
|
-
<xsl:template match="*[local-name() = 'title']" mode="title">
|
9789
|
-
<fo:inline><xsl:apply-templates/></fo:inline>
|
9790
|
-
</xsl:template>
|
9791
|
-
|
9792
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
|
9793
|
-
<!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
|
9794
|
-
<fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
|
9795
|
-
<xsl:apply-templates/>
|
9796
|
-
</fo:inline>
|
9797
|
-
</xsl:template>
|
9798
|
-
|
9799
|
-
<!-- bibitem/note renders as footnote -->
|
9800
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
9801
|
-
|
9802
|
-
<!-- list of footnotes to calculate actual footnotes number -->
|
9803
|
-
<xsl:variable name="p_fn_">
|
9804
|
-
<xsl:call-template name="get_fn_list"/>
|
9805
|
-
</xsl:variable>
|
9806
|
-
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
9807
|
-
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
9808
|
-
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
9809
|
-
<!-- fn sequence number in document -->
|
9810
|
-
<xsl:variable name="current_fn_number">
|
9811
|
-
<xsl:choose>
|
9812
|
-
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
9813
|
-
<xsl:otherwise>
|
9814
|
-
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
9815
|
-
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
9816
|
-
</xsl:otherwise>
|
9817
|
-
</xsl:choose>
|
9818
|
-
</xsl:variable>
|
9819
|
-
<fo:footnote>
|
9820
|
-
<xsl:variable name="number">
|
9821
|
-
|
9822
|
-
<xsl:value-of select="$current_fn_number"/>
|
9823
|
-
|
9824
|
-
</xsl:variable>
|
9825
|
-
|
9826
|
-
<xsl:variable name="current_fn_number_text">
|
9827
|
-
<xsl:value-of select="$number"/>
|
9828
|
-
|
9829
|
-
<xsl:text>)</xsl:text>
|
9830
|
-
|
9831
|
-
</xsl:variable>
|
9832
|
-
|
9833
|
-
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
9834
|
-
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
9835
|
-
<xsl:value-of select="$current_fn_number_text"/>
|
9836
|
-
</fo:basic-link>
|
9837
|
-
</fo:inline>
|
9838
|
-
<fo:footnote-body>
|
9839
|
-
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
9840
|
-
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
9841
|
-
<xsl:value-of select="$current_fn_number_text"/>
|
9842
|
-
</fo:inline>
|
9843
|
-
<xsl:apply-templates/>
|
9844
|
-
</fo:block>
|
9845
|
-
</fo:footnote-body>
|
9846
|
-
</fo:footnote>
|
9847
|
-
</xsl:template>
|
9848
|
-
|
9849
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
|
9850
|
-
<xsl:text> edition </xsl:text>
|
9851
|
-
<xsl:value-of select="."/>
|
9852
|
-
</xsl:template>
|
9853
|
-
|
9854
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
|
9855
|
-
<xsl:text> (</xsl:text>
|
9856
|
-
<fo:inline xsl:use-attribute-sets="link-style">
|
9857
|
-
<fo:basic-link external-destination="." fox:alt-text=".">
|
9858
|
-
<xsl:value-of select="."/>
|
9859
|
-
</fo:basic-link>
|
9860
|
-
</fo:inline>
|
9861
|
-
<xsl:text>)</xsl:text>
|
9862
9926
|
</xsl:template>
|
9863
9927
|
|
9864
|
-
<xsl:template match="*[local-name() = '
|
9865
|
-
|
9866
|
-
<xsl:template match="*[local-name() = 'formattedref']">
|
9867
|
-
|
9868
|
-
<xsl:apply-templates/>
|
9928
|
+
<xsl:template match="*[local-name() = 'biblio-tag']/*[local-name() = 'tab']" priority="2">
|
9929
|
+
<xsl:text> </xsl:text>
|
9869
9930
|
</xsl:template>
|
9870
9931
|
|
9871
9932
|
<!-- ======================= -->
|
@@ -10299,6 +10360,12 @@
|
|
10299
10360
|
<xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
|
10300
10361
|
<xsl:apply-templates mode="update_xml_step1"/>
|
10301
10362
|
</xsl:template>
|
10363
|
+
<xsl:template match="*[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
|
10364
|
+
<xsl:copy>
|
10365
|
+
<xsl:copy-of select="@*"/>
|
10366
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
10367
|
+
</xsl:copy>
|
10368
|
+
</xsl:template>
|
10302
10369
|
<!-- =========================================================================== -->
|
10303
10370
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
10304
10371
|
<!-- =========================================================================== -->
|
@@ -10776,6 +10843,10 @@
|
|
10776
10843
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
10777
10844
|
</xsl:template>
|
10778
10845
|
|
10846
|
+
<xsl:template name="getDocumentId_fromCurrentNode">
|
10847
|
+
<xsl:call-template name="getLang_fromCurrentNode"/><xsl:value-of select=".//*[local-name() = 'p'][1]/@id"/>
|
10848
|
+
</xsl:template>
|
10849
|
+
|
10779
10850
|
<xsl:template name="namespaceCheck">
|
10780
10851
|
<xsl:variable name="documentNS" select="namespace-uri(/*)"/>
|
10781
10852
|
<xsl:variable name="XSLNS">
|
@@ -208,6 +208,24 @@ module IsoDoc
|
|
208
208
|
elem.children = l10n("[#{@i18n.source} #{to_xml(elem.children).strip}]")
|
209
209
|
end
|
210
210
|
|
211
|
+
def norm_ref_entry_code(_ordinal, identifiers, _ids, _standard, datefn)
|
212
|
+
ret = (identifiers[0] || identifiers[1])
|
213
|
+
ret += " #{identifiers[1]}" if identifiers[0] && identifiers[1]
|
214
|
+
"#{ret}#{datefn} "
|
215
|
+
end
|
216
|
+
|
217
|
+
def biblio_ref_entry_code(ordinal, ids, _id, standard, datefn)
|
218
|
+
standard and id = nil
|
219
|
+
ret = (ids[:ordinal] || ids[:metanorma] || "[#{ordinal}]")
|
220
|
+
if ids[:sdo]
|
221
|
+
ret = prefix_bracketed_ref(ret)
|
222
|
+
ret += "#{ids[:sdo]}#{datefn} "
|
223
|
+
else
|
224
|
+
ret = prefix_bracketed_ref("#{ret}#{datefn}")
|
225
|
+
end
|
226
|
+
ret
|
227
|
+
end
|
228
|
+
|
211
229
|
include Init
|
212
230
|
end
|
213
231
|
end
|