metanorma-bipm 2.1.13 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/bipm/base_convert.rb +0 -28
- data/lib/isodoc/bipm/bipm.brochure.xsl +340 -240
- data/lib/isodoc/bipm/bipm.guide.xsl +340 -240
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +340 -240
- data/lib/isodoc/bipm/bipm.rapport.xsl +340 -240
- data/lib/isodoc/bipm/html/htmlstyle.css +5 -2
- data/lib/isodoc/bipm/index.rb +29 -18
- data/lib/isodoc/bipm/jcgm.standard.xsl +282 -194
- data/lib/isodoc/bipm/presentation_xml_convert.rb +26 -9
- data/lib/metanorma/bipm/basicdoc.rng +3 -0
- data/lib/metanorma/bipm/biblio-standoc.rng +1 -1
- data/lib/metanorma/bipm/isodoc.rng +11 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +2 -2
- metadata +7 -7
@@ -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>
|
@@ -4369,7 +4379,26 @@
|
|
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>
|
4398
|
+
|
4399
|
+
<xsl:if test="following-sibling::*[1][local-name() = 'fn']">
|
4400
|
+
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
4401
|
+
</xsl:if>
|
4373
4402
|
|
4374
4403
|
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
4375
4404
|
<xsl:value-of select="$current_fn_number_text"/>
|
@@ -4429,7 +4458,10 @@
|
|
4429
4458
|
</xsl:for-each>
|
4430
4459
|
<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']/*">
|
4431
4460
|
<xsl:sort select="@displayorder" data-type="number"/>
|
4432
|
-
|
4461
|
+
<!-- commented:
|
4462
|
+
.//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] |
|
4463
|
+
because 'fn' there is in biblio-tag -->
|
4464
|
+
<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])]">
|
4433
4465
|
<!-- copy unique fn -->
|
4434
4466
|
<fn gen_id="{generate-id(.)}">
|
4435
4467
|
<xsl:copy-of select="@*"/>
|
@@ -5297,7 +5329,7 @@
|
|
5297
5329
|
|
5298
5330
|
<xsl:variable name="_font-size">
|
5299
5331
|
|
5300
|
-
<!--
|
5332
|
+
<!-- inherit -->
|
5301
5333
|
|
5302
5334
|
10
|
5303
5335
|
|
@@ -5541,6 +5573,23 @@
|
|
5541
5573
|
<xsl:apply-templates/>
|
5542
5574
|
</xsl:template>
|
5543
5575
|
|
5576
|
+
<!-- Don't break standard's numbers -->
|
5577
|
+
<!-- Example : <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
5578
|
+
<xsl:template match="*[local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" priority="2">
|
5579
|
+
<xsl:choose>
|
5580
|
+
<xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
|
5581
|
+
<xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
|
5582
|
+
<fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
|
5583
|
+
</xsl:when>
|
5584
|
+
<xsl:otherwise>
|
5585
|
+
<xsl:apply-templates/>
|
5586
|
+
</xsl:otherwise>
|
5587
|
+
</xsl:choose>
|
5588
|
+
</xsl:template>
|
5589
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
|
5590
|
+
<fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
|
5591
|
+
</xsl:template>
|
5592
|
+
|
5544
5593
|
<!-- ========================= -->
|
5545
5594
|
<!-- END Rich text formatting -->
|
5546
5595
|
<!-- ========================= -->
|
@@ -5936,7 +5985,7 @@
|
|
5936
5985
|
<xsl:choose>
|
5937
5986
|
<xsl:when test="@colspan">
|
5938
5987
|
<xsl:variable name="td">
|
5939
|
-
<xsl:element name="
|
5988
|
+
<xsl:element name="{local-name()}">
|
5940
5989
|
<xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
|
5941
5990
|
<xsl:if test="local-name()='th'">
|
5942
5991
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -5951,7 +6000,7 @@
|
|
5951
6000
|
</xsl:call-template>
|
5952
6001
|
</xsl:when>
|
5953
6002
|
<xsl:otherwise>
|
5954
|
-
<xsl:element name="
|
6003
|
+
<xsl:element name="{local-name()}">
|
5955
6004
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
5956
6005
|
<xsl:if test="local-name()='th'">
|
5957
6006
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -6018,7 +6067,7 @@
|
|
6018
6067
|
<xsl:variable name="currentRow" select="."/>
|
6019
6068
|
|
6020
6069
|
<xsl:variable name="normalizedTDs">
|
6021
|
-
<xsl:for-each select="xalan:nodeset($previousRow)
|
6070
|
+
<xsl:for-each select="xalan:nodeset($previousRow)//*[self::td or self::th]">
|
6022
6071
|
<xsl:choose>
|
6023
6072
|
<xsl:when test="@rowspan > 1">
|
6024
6073
|
<xsl:copy>
|
@@ -6030,7 +6079,7 @@
|
|
6030
6079
|
</xsl:copy>
|
6031
6080
|
</xsl:when>
|
6032
6081
|
<xsl:otherwise>
|
6033
|
-
<xsl:copy-of select="$currentRow
|
6082
|
+
<xsl:copy-of select="$currentRow/*[self::td or self::th][1 + count(current()/preceding-sibling::*[self::td or self::th][not(@rowspan) or (@rowspan = 1)])]"/>
|
6034
6083
|
</xsl:otherwise>
|
6035
6084
|
</xsl:choose>
|
6036
6085
|
</xsl:for-each>
|
@@ -6251,6 +6300,33 @@
|
|
6251
6300
|
</xsl:choose>
|
6252
6301
|
</xsl:template>
|
6253
6302
|
|
6303
|
+
<xsl:template name="getLang_fromCurrentNode">
|
6304
|
+
<xsl:variable name="language_current" select="normalize-space(.//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
6305
|
+
<xsl:variable name="language">
|
6306
|
+
<xsl:choose>
|
6307
|
+
<xsl:when test="$language_current != ''">
|
6308
|
+
<xsl:value-of select="$language_current"/>
|
6309
|
+
</xsl:when>
|
6310
|
+
<xsl:otherwise>
|
6311
|
+
<xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
6312
|
+
<xsl:choose>
|
6313
|
+
<xsl:when test="$language_current_2 != ''">
|
6314
|
+
<xsl:value-of select="$language_current_2"/>
|
6315
|
+
</xsl:when>
|
6316
|
+
<xsl:otherwise>
|
6317
|
+
<xsl:value-of select=".//*[local-name()='bibdata']//*[local-name()='language']"/>
|
6318
|
+
</xsl:otherwise>
|
6319
|
+
</xsl:choose>
|
6320
|
+
</xsl:otherwise>
|
6321
|
+
</xsl:choose>
|
6322
|
+
</xsl:variable>
|
6323
|
+
|
6324
|
+
<xsl:choose>
|
6325
|
+
<xsl:when test="$language = 'English'">en</xsl:when>
|
6326
|
+
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
6327
|
+
</xsl:choose>
|
6328
|
+
</xsl:template>
|
6329
|
+
|
6254
6330
|
<xsl:template name="capitalizeWords">
|
6255
6331
|
<xsl:param name="str"/>
|
6256
6332
|
<xsl:variable name="str2" select="translate($str, '-', ' ')"/>
|
@@ -6707,12 +6783,6 @@
|
|
6707
6783
|
|
6708
6784
|
<fo:block-container margin-left="0mm">
|
6709
6785
|
|
6710
|
-
<!-- <xsl:if test="$namespace = 'iho'">
|
6711
|
-
<xsl:if test="ancestor::iho:td">
|
6712
|
-
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
6713
|
-
</xsl:if>
|
6714
|
-
</xsl:if> -->
|
6715
|
-
|
6716
6786
|
<fo:block>
|
6717
6787
|
|
6718
6788
|
<fo:inline xsl:use-attribute-sets="note-name-style">
|
@@ -6880,7 +6950,7 @@
|
|
6880
6950
|
<xsl:template match="*[local-name() = 'figure']" name="figure">
|
6881
6951
|
<xsl:variable name="isAdded" select="@added"/>
|
6882
6952
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
6883
|
-
<fo:block-container id="{@id}">
|
6953
|
+
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
6884
6954
|
|
6885
6955
|
<xsl:call-template name="setTrackChangesStyles">
|
6886
6956
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
@@ -7216,6 +7286,31 @@
|
|
7216
7286
|
<xsl:apply-templates mode="svg_update"/>
|
7217
7287
|
</xsl:copy>
|
7218
7288
|
</xsl:template>
|
7289
|
+
|
7290
|
+
<!-- regex for 'display: inline-block;' -->
|
7291
|
+
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
7292
|
+
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
7293
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), $regex_svg_style_notsupported, '')"/>
|
7294
|
+
</xsl:template>
|
7295
|
+
|
7296
|
+
<!-- replace
|
7297
|
+
stroke="rgba(r, g, b, alpha)" to
|
7298
|
+
stroke="rgb(r,g,b)" stroke-opacity="alpha", and
|
7299
|
+
fill="rgba(r, g, b, alpha)" to
|
7300
|
+
fill="rgb(r,g,b)" fill-opacity="alpha" -->
|
7301
|
+
<xsl:template match="@*[local-name() = 'stroke' or local-name() = 'fill'][starts-with(normalize-space(.), 'rgba')]" mode="svg_update">
|
7302
|
+
<xsl:variable name="components_">
|
7303
|
+
<xsl:call-template name="split">
|
7304
|
+
<xsl:with-param name="pText" select="substring-before(substring-after(., '('), ')')"/>
|
7305
|
+
<xsl:with-param name="sep" select="','"/>
|
7306
|
+
</xsl:call-template>
|
7307
|
+
</xsl:variable>
|
7308
|
+
<xsl:variable name="components" select="xalan:nodeset($components_)"/>
|
7309
|
+
<xsl:variable name="att_name" select="local-name()"/>
|
7310
|
+
<xsl:attribute name="{$att_name}"><xsl:value-of select="concat('rgb(', $components/item[1], ',', $components/item[2], ',', $components/item[3], ')')"/></xsl:attribute>
|
7311
|
+
<xsl:attribute name="{$att_name}-opacity"><xsl:value-of select="$components/item[4]"/></xsl:attribute>
|
7312
|
+
</xsl:template>
|
7313
|
+
|
7219
7314
|
<!-- ============== -->
|
7220
7315
|
<!-- END: svg_update -->
|
7221
7316
|
<!-- ============== -->
|
@@ -7841,7 +7936,13 @@
|
|
7841
7936
|
</xsl:template>
|
7842
7937
|
|
7843
7938
|
<xsl:template match="text()" mode="contents_item">
|
7844
|
-
<xsl:
|
7939
|
+
<xsl:variable name="text">
|
7940
|
+
<!-- to split by '_' and other chars -->
|
7941
|
+
<text><xsl:call-template name="add-zero-spaces-java"/></text>
|
7942
|
+
</xsl:variable>
|
7943
|
+
<xsl:for-each select="xalan:nodeset($text)/text/text()">
|
7944
|
+
<xsl:call-template name="keep_together_standard_number"/>
|
7945
|
+
</xsl:for-each>
|
7845
7946
|
</xsl:template>
|
7846
7947
|
|
7847
7948
|
<!-- Note: to enable the addition of character span markup with semantic styling for DIS Word output -->
|
@@ -7852,35 +7953,53 @@
|
|
7852
7953
|
<!-- =============== -->
|
7853
7954
|
<!-- sourcecode -->
|
7854
7955
|
<!-- =============== -->
|
7855
|
-
<xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
7856
7956
|
|
7857
|
-
|
7858
|
-
|
7859
|
-
|
7957
|
+
<xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'source-highlighter-css']"/>
|
7958
|
+
<xsl:variable name="sourcecode_css_" select="java:org.metanorma.fop.Util.parseCSS($source-highlighter-css_)"/>
|
7959
|
+
<xsl:variable name="sourcecode_css" select="xalan:nodeset($sourcecode_css_)"/>
|
7860
7960
|
|
7861
|
-
|
7961
|
+
<xsl:template match="*[local-name() = 'property']" mode="css">
|
7962
|
+
<xsl:attribute name="{@name}">
|
7963
|
+
<xsl:value-of select="@value"/>
|
7964
|
+
</xsl:attribute>
|
7965
|
+
</xsl:template>
|
7862
7966
|
|
7863
|
-
|
7864
|
-
|
7865
|
-
|
7866
|
-
</xsl:if> -->
|
7967
|
+
<xsl:template name="get_sourcecode_attributes">
|
7968
|
+
<xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
|
7969
|
+
<xsl:variable name="_font-size">
|
7867
7970
|
|
7868
|
-
|
7971
|
+
<!-- inherit -->
|
7869
7972
|
|
7870
|
-
|
7871
|
-
<xsl:if test="$
|
7872
|
-
<xsl:
|
7873
|
-
|
7874
|
-
|
7875
|
-
|
7876
|
-
|
7877
|
-
|
7878
|
-
|
7879
|
-
|
7880
|
-
|
7881
|
-
|
7973
|
+
9
|
7974
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
7975
|
+
<xsl:if test="$current_template = 'standard'">8</xsl:if>
|
7976
|
+
</xsl:if> -->
|
7977
|
+
|
7978
|
+
</xsl:variable>
|
7979
|
+
|
7980
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
7981
|
+
<xsl:if test="$font-size != ''">
|
7982
|
+
<xsl:attribute name="font-size">
|
7983
|
+
<xsl:choose>
|
7984
|
+
<xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
|
7985
|
+
<xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
|
7986
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
7987
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
7988
|
+
</xsl:choose>
|
7989
|
+
</xsl:attribute>
|
7990
|
+
</xsl:if>
|
7991
|
+
<xsl:apply-templates select="$sourcecode_css//class[@name = 'sourcecode']" mode="css"/>
|
7992
|
+
</xsl:element>
|
7993
|
+
</xsl:template>
|
7994
|
+
|
7995
|
+
<xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
7996
|
+
|
7997
|
+
<xsl:variable name="sourcecode_attributes">
|
7998
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
7882
7999
|
</xsl:variable>
|
7883
8000
|
|
8001
|
+
<!-- <xsl:copy-of select="$sourcecode_css"/> -->
|
8002
|
+
|
7884
8003
|
<xsl:choose>
|
7885
8004
|
<xsl:when test="$isGenerateTableIF = 'true' and (ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])">
|
7886
8005
|
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
|
@@ -7934,9 +8053,10 @@
|
|
7934
8053
|
</xsl:choose>
|
7935
8054
|
</xsl:template>
|
7936
8055
|
|
7937
|
-
<xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
8056
|
+
<xsl:template match="*[local-name()='sourcecode']/text() | *[local-name()='sourcecode']//*[local-name()='span']/text()" priority="2">
|
7938
8057
|
<xsl:choose>
|
7939
|
-
|
8058
|
+
<!-- disabled -->
|
8059
|
+
<xsl:when test="1 = 2 and normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
|
7940
8060
|
<xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
|
7941
8061
|
<xsl:choose>
|
7942
8062
|
<xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
|
@@ -7951,9 +8071,76 @@
|
|
7951
8071
|
<xsl:call-template name="add_spaces_to_sourcecode"/>
|
7952
8072
|
</xsl:otherwise>
|
7953
8073
|
</xsl:choose>
|
8074
|
+
</xsl:template>
|
7954
8075
|
|
8076
|
+
<!-- add sourcecode highlighting -->
|
8077
|
+
<xsl:template match="*[local-name()='sourcecode']//*[local-name()='span'][@class]" priority="2">
|
8078
|
+
<xsl:variable name="class" select="@class"/>
|
8079
|
+
<xsl:choose>
|
8080
|
+
<xsl:when test="$sourcecode_css//class[@name = $class]">
|
8081
|
+
<fo:inline>
|
8082
|
+
<xsl:apply-templates select="$sourcecode_css//class[@name = $class]" mode="css"/>
|
8083
|
+
<xsl:apply-templates/>
|
8084
|
+
</fo:inline>
|
8085
|
+
</xsl:when>
|
8086
|
+
<xsl:otherwise>
|
8087
|
+
<xsl:apply-templates/>
|
8088
|
+
</xsl:otherwise>
|
8089
|
+
</xsl:choose>
|
7955
8090
|
</xsl:template>
|
7956
8091
|
|
8092
|
+
<!-- outer table with line numbers for sourcecode -->
|
8093
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']" priority="2">
|
8094
|
+
<fo:block>
|
8095
|
+
<fo:table width="100%" table-layout="fixed">
|
8096
|
+
<xsl:copy-of select="@id"/>
|
8097
|
+
<fo:table-column column-width="8%"/>
|
8098
|
+
<fo:table-column column-width="92%"/>
|
8099
|
+
<fo:table-body>
|
8100
|
+
<xsl:apply-templates/>
|
8101
|
+
</fo:table-body>
|
8102
|
+
</fo:table>
|
8103
|
+
</fo:block>
|
8104
|
+
</xsl:template>
|
8105
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody']" priority="2">
|
8106
|
+
<xsl:apply-templates/>
|
8107
|
+
</xsl:template>
|
8108
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']" priority="2">
|
8109
|
+
<fo:table-row>
|
8110
|
+
<xsl:apply-templates/>
|
8111
|
+
</fo:table-row>
|
8112
|
+
</xsl:template>
|
8113
|
+
<!-- first td with line numbers -->
|
8114
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][not(preceding-sibling::*)]" priority="2">
|
8115
|
+
<fo:table-cell>
|
8116
|
+
<fo:block>
|
8117
|
+
|
8118
|
+
<!-- set attibutes for line numbers - same as sourcecode -->
|
8119
|
+
<xsl:variable name="sourcecode_attributes">
|
8120
|
+
<xsl:for-each select="following-sibling::*[local-name() = 'td']/*[local-name() = 'sourcecode']">
|
8121
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
8122
|
+
</xsl:for-each>
|
8123
|
+
</xsl:variable>
|
8124
|
+
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*[not(starts-with(local-name(), 'margin-') or starts-with(local-name(), 'space-'))]">
|
8125
|
+
<xsl:attribute name="{local-name()}">
|
8126
|
+
<xsl:value-of select="."/>
|
8127
|
+
</xsl:attribute>
|
8128
|
+
</xsl:for-each>
|
8129
|
+
|
8130
|
+
<xsl:apply-templates/>
|
8131
|
+
</fo:block>
|
8132
|
+
</fo:table-cell>
|
8133
|
+
</xsl:template>
|
8134
|
+
<!-- second td with sourcecode -->
|
8135
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2">
|
8136
|
+
<fo:table-cell>
|
8137
|
+
<fo:block>
|
8138
|
+
<xsl:apply-templates/>
|
8139
|
+
</fo:block>
|
8140
|
+
</fo:table-cell>
|
8141
|
+
</xsl:template>
|
8142
|
+
<!-- END outer table with line numbers for sourcecode -->
|
8143
|
+
|
7957
8144
|
<xsl:template name="add_spaces_to_sourcecode">
|
7958
8145
|
<xsl:variable name="text_step1">
|
7959
8146
|
<xsl:call-template name="add-zero-spaces-equal"/>
|
@@ -9645,17 +9832,17 @@
|
|
9645
9832
|
<fo:block>
|
9646
9833
|
<fo:inline>
|
9647
9834
|
|
9648
|
-
|
9649
|
-
|
9650
|
-
|
9651
|
-
</xsl:if>
|
9652
|
-
|
9835
|
+
<xsl:apply-templates select="*[local-name() = 'biblio-tag']">
|
9836
|
+
<xsl:with-param name="biblio_tag_part">first</xsl:with-param>
|
9837
|
+
</xsl:apply-templates>
|
9653
9838
|
</fo:inline>
|
9654
9839
|
</fo:block>
|
9655
9840
|
</fo:list-item-label>
|
9656
9841
|
<fo:list-item-body start-indent="body-start()">
|
9657
9842
|
<fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
|
9658
|
-
<xsl:call-template name="processBibitem"
|
9843
|
+
<xsl:call-template name="processBibitem">
|
9844
|
+
<xsl:with-param name="biblio_tag_part">last</xsl:with-param>
|
9845
|
+
</xsl:call-template>
|
9659
9846
|
</fo:block>
|
9660
9847
|
</fo:list-item-body>
|
9661
9848
|
</fo:list-item>
|
@@ -9664,168 +9851,56 @@
|
|
9664
9851
|
</xsl:template> <!-- references[not(@normative='true')]/bibitem -->
|
9665
9852
|
|
9666
9853
|
<xsl:template name="processBibitem">
|
9854
|
+
<xsl:param name="biblio_tag_part">both</xsl:param>
|
9667
9855
|
|
9668
|
-
<!-- start
|
9669
|
-
<xsl:
|
9670
|
-
<xsl:
|
9671
|
-
|
9672
|
-
<xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal') and not(@type = 'BIPM')]"/></xsl:otherwise>
|
9673
|
-
</xsl:choose>
|
9674
|
-
</xsl:variable>
|
9675
|
-
<xsl:value-of select="$docidentifier"/>
|
9856
|
+
<!-- start bibitem processing -->
|
9857
|
+
<xsl:if test=".//*[local-name() = 'fn']">
|
9858
|
+
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
9859
|
+
</xsl:if>
|
9676
9860
|
|
9677
|
-
|
9678
|
-
|
9861
|
+
<!-- move opening ace-tag before number -->
|
9862
|
+
<xsl:apply-templates select="*[local-name() = 'formattedref']/node()[1][local-name() = 'add' and contains(., '_start')]">
|
9863
|
+
<xsl:with-param name="skip">false</xsl:with-param>
|
9864
|
+
</xsl:apply-templates>
|
9679
9865
|
|
9680
|
-
|
9866
|
+
<xsl:apply-templates select="*[local-name() = 'biblio-tag']">
|
9867
|
+
<xsl:with-param name="biblio_tag_part" select="$biblio_tag_part"/>
|
9868
|
+
</xsl:apply-templates>
|
9869
|
+
<xsl:apply-templates select="*[local-name() = 'formattedref']"/>
|
9870
|
+
<!-- end bibitem processing -->
|
9681
9871
|
|
9682
9872
|
</xsl:template> <!-- processBibitem (bibitem) -->
|
9683
9873
|
|
9684
|
-
<xsl:template name="
|
9685
|
-
<xsl:
|
9686
|
-
|
9687
|
-
|
9688
|
-
|
9689
|
-
|
9690
|
-
|
9691
|
-
|
9692
|
-
|
9693
|
-
|
9694
|
-
|
9695
|
-
|
9696
|
-
<xsl:if test="$type != ''">
|
9697
|
-
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
9698
|
-
</xsl:if> -->
|
9699
|
-
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
|
9700
|
-
</xsl:otherwise>
|
9701
|
-
</xsl:choose>
|
9702
|
-
</xsl:template> <!-- processBibitemDocId -->
|
9874
|
+
<xsl:template match="*[local-name() = 'title']" mode="title">
|
9875
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
9876
|
+
</xsl:template>
|
9877
|
+
|
9878
|
+
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/>
|
9879
|
+
|
9880
|
+
<xsl:template match="*[local-name() = 'formattedref']">
|
9881
|
+
<!-- <xsl:if test="$namespace = 'unece' or $namespace = 'unece-rec'">
|
9882
|
+
<xsl:text>, </xsl:text>
|
9883
|
+
</xsl:if> -->
|
9884
|
+
<xsl:apply-templates/>
|
9885
|
+
</xsl:template>
|
9703
9886
|
|
9704
|
-
<xsl:template name="
|
9887
|
+
<xsl:template match="*[local-name() = 'biblio-tag']">
|
9888
|
+
<xsl:param name="biblio_tag_part">both</xsl:param>
|
9705
9889
|
<xsl:choose>
|
9706
|
-
<xsl:when test="
|
9707
|
-
<
|
9708
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
|
9709
|
-
</author>
|
9890
|
+
<xsl:when test="$biblio_tag_part = 'first' and *[local-name() = 'tab']">
|
9891
|
+
<xsl:apply-templates select="./*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
9710
9892
|
</xsl:when>
|
9711
|
-
<xsl:when test="
|
9712
|
-
<
|
9713
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
9714
|
-
<xsl:text> </xsl:text>
|
9715
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
|
9716
|
-
</author>
|
9717
|
-
</xsl:when>
|
9718
|
-
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
|
9719
|
-
<author>
|
9720
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
9721
|
-
<xsl:text> </xsl:text>
|
9722
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
|
9723
|
-
</author>
|
9893
|
+
<xsl:when test="$biblio_tag_part = 'last'">
|
9894
|
+
<xsl:apply-templates select="./*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
9724
9895
|
</xsl:when>
|
9725
9896
|
<xsl:otherwise>
|
9726
9897
|
<xsl:apply-templates/>
|
9727
9898
|
</xsl:otherwise>
|
9728
9899
|
</xsl:choose>
|
9729
|
-
</xsl:template> <!-- processPersonalAuthor -->
|
9730
|
-
|
9731
|
-
<xsl:template name="renderDate">
|
9732
|
-
<xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
|
9733
|
-
<xsl:value-of select="*[local-name() = 'on']"/>
|
9734
|
-
</xsl:if>
|
9735
|
-
<xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
|
9736
|
-
<xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
|
9737
|
-
</xsl:if>
|
9738
|
-
</xsl:template>
|
9739
|
-
|
9740
|
-
<xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
|
9741
|
-
<xsl:value-of select="translate(.,'. ','')"/>
|
9742
|
-
</xsl:template>
|
9743
|
-
|
9744
|
-
<xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
9745
|
-
<xsl:value-of select="substring(.,1,1)"/>
|
9746
|
-
</xsl:template>
|
9747
|
-
|
9748
|
-
<xsl:template match="*[local-name() = 'title']" mode="title">
|
9749
|
-
<fo:inline><xsl:apply-templates/></fo:inline>
|
9750
|
-
</xsl:template>
|
9751
|
-
|
9752
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
|
9753
|
-
<!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
|
9754
|
-
<fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
|
9755
|
-
<xsl:apply-templates/>
|
9756
|
-
</fo:inline>
|
9757
9900
|
</xsl:template>
|
9758
9901
|
|
9759
|
-
|
9760
|
-
|
9761
|
-
|
9762
|
-
<!-- list of footnotes to calculate actual footnotes number -->
|
9763
|
-
<xsl:variable name="p_fn_">
|
9764
|
-
<xsl:call-template name="get_fn_list"/>
|
9765
|
-
</xsl:variable>
|
9766
|
-
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
9767
|
-
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
9768
|
-
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
9769
|
-
<!-- fn sequence number in document -->
|
9770
|
-
<xsl:variable name="current_fn_number">
|
9771
|
-
<xsl:choose>
|
9772
|
-
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
9773
|
-
<xsl:otherwise>
|
9774
|
-
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
9775
|
-
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
9776
|
-
</xsl:otherwise>
|
9777
|
-
</xsl:choose>
|
9778
|
-
</xsl:variable>
|
9779
|
-
<fo:footnote>
|
9780
|
-
<xsl:variable name="number">
|
9781
|
-
|
9782
|
-
<xsl:value-of select="$current_fn_number"/>
|
9783
|
-
|
9784
|
-
</xsl:variable>
|
9785
|
-
|
9786
|
-
<xsl:variable name="current_fn_number_text">
|
9787
|
-
<xsl:value-of select="$number"/>
|
9788
|
-
|
9789
|
-
<xsl:text>)</xsl:text>
|
9790
|
-
|
9791
|
-
</xsl:variable>
|
9792
|
-
|
9793
|
-
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
9794
|
-
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
9795
|
-
<xsl:value-of select="$current_fn_number_text"/>
|
9796
|
-
</fo:basic-link>
|
9797
|
-
</fo:inline>
|
9798
|
-
<fo:footnote-body>
|
9799
|
-
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
9800
|
-
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
9801
|
-
<xsl:value-of select="$current_fn_number_text"/>
|
9802
|
-
</fo:inline>
|
9803
|
-
<xsl:apply-templates/>
|
9804
|
-
</fo:block>
|
9805
|
-
</fo:footnote-body>
|
9806
|
-
</fo:footnote>
|
9807
|
-
</xsl:template>
|
9808
|
-
|
9809
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
|
9810
|
-
<xsl:text> edition </xsl:text>
|
9811
|
-
<xsl:value-of select="."/>
|
9812
|
-
</xsl:template>
|
9813
|
-
|
9814
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
|
9815
|
-
<xsl:text> (</xsl:text>
|
9816
|
-
<fo:inline xsl:use-attribute-sets="link-style">
|
9817
|
-
<fo:basic-link external-destination="." fox:alt-text=".">
|
9818
|
-
<xsl:value-of select="."/>
|
9819
|
-
</fo:basic-link>
|
9820
|
-
</fo:inline>
|
9821
|
-
<xsl:text>)</xsl:text>
|
9822
|
-
</xsl:template>
|
9823
|
-
|
9824
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/>
|
9825
|
-
|
9826
|
-
<xsl:template match="*[local-name() = 'formattedref']">
|
9827
|
-
|
9828
|
-
<xsl:apply-templates/>
|
9902
|
+
<xsl:template match="*[local-name() = 'biblio-tag']/*[local-name() = 'tab']" priority="2">
|
9903
|
+
<xsl:text> </xsl:text>
|
9829
9904
|
</xsl:template>
|
9830
9905
|
|
9831
9906
|
<!-- ======================= -->
|
@@ -10163,7 +10238,9 @@
|
|
10163
10238
|
<!-- Update xml -->
|
10164
10239
|
<!-- ===================================== -->
|
10165
10240
|
<!-- =========================================================================== -->
|
10166
|
-
<!-- STEP1:
|
10241
|
+
<!-- STEP1: -->
|
10242
|
+
<!-- - Re-order elements in 'preface', 'sections' based on @displayorder -->
|
10243
|
+
<!-- - Ignore 'span' without style -->
|
10167
10244
|
<!-- =========================================================================== -->
|
10168
10245
|
<xsl:template match="@*|node()" mode="update_xml_step1">
|
10169
10246
|
<xsl:copy>
|
@@ -10246,7 +10323,8 @@
|
|
10246
10323
|
</xsl:copy>
|
10247
10324
|
</xsl:template>
|
10248
10325
|
|
10249
|
-
|
10326
|
+
<!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
10327
|
+
<xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
|
10250
10328
|
<xsl:copy>
|
10251
10329
|
<xsl:copy-of select="@*"/>
|
10252
10330
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -10256,6 +10334,12 @@
|
|
10256
10334
|
<xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
|
10257
10335
|
<xsl:apply-templates mode="update_xml_step1"/>
|
10258
10336
|
</xsl:template>
|
10337
|
+
<xsl:template match="*[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
|
10338
|
+
<xsl:copy>
|
10339
|
+
<xsl:copy-of select="@*"/>
|
10340
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
10341
|
+
</xsl:copy>
|
10342
|
+
</xsl:template>
|
10259
10343
|
<!-- =========================================================================== -->
|
10260
10344
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
10261
10345
|
<!-- =========================================================================== -->
|
@@ -10733,6 +10817,10 @@
|
|
10733
10817
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
10734
10818
|
</xsl:template>
|
10735
10819
|
|
10820
|
+
<xsl:template name="getDocumentId_fromCurrentNode">
|
10821
|
+
<xsl:call-template name="getLang_fromCurrentNode"/><xsl:value-of select=".//*[local-name() = 'p'][1]/@id"/>
|
10822
|
+
</xsl:template>
|
10823
|
+
|
10736
10824
|
<xsl:template name="namespaceCheck">
|
10737
10825
|
<xsl:variable name="documentNS" select="namespace-uri(/*)"/>
|
10738
10826
|
<xsl:variable name="XSLNS">
|