metanorma-bipm 2.2.13 → 2.3.0
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 +16 -15
- data/lib/isodoc/bipm/bipm.brochure.xsl +108 -79
- data/lib/isodoc/bipm/bipm.guide.xsl +108 -79
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +108 -79
- data/lib/isodoc/bipm/bipm.rapport.xsl +108 -79
- data/lib/isodoc/bipm/doccontrol.rb +4 -4
- data/lib/isodoc/bipm/html/htmlstyle.css +13 -9
- data/lib/isodoc/bipm/html/htmlstyle.scss +6 -6
- data/lib/isodoc/bipm/html_convert.rb +3 -9
- data/lib/isodoc/bipm/jcgm.standard.xsl +135 -75
- data/lib/isodoc/bipm/metadata.rb +4 -4
- data/lib/isodoc/bipm/presentation_blocks.rb +41 -0
- data/lib/isodoc/bipm/presentation_xml_convert.rb +15 -38
- data/lib/isodoc/bipm/xref.rb +14 -11
- data/lib/metanorma/bipm/front.rb +2 -2
- data/lib/metanorma/bipm/isodoc.rng +26 -4
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +2 -2
- metadata +7 -6
@@ -243,13 +243,13 @@
|
|
243
243
|
<xsl:value-of select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:copyright/jcgm:from"/>
|
244
244
|
</fo:block>
|
245
245
|
<fo:block font-size="13pt" font-weight="normal" space-after="19.5mm">
|
246
|
-
<xsl:value-of select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@type = 'provenance']"/>
|
246
|
+
<xsl:value-of select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@type = 'title-provenance']"/>
|
247
247
|
</fo:block>
|
248
248
|
<fo:block border-bottom="1pt solid black"> </fo:block>
|
249
249
|
<fo:block font-size="16.5pt" margin-left="-0.5mm" padding-top="3.5mm" space-after="7mm" margin-right="7mm" line-height="105%" role="H1">
|
250
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'main']" mode="title"/>
|
250
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'title-main']" mode="title"/>
|
251
251
|
<xsl:variable name="title_part">
|
252
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'part']" mode="title"/>
|
252
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'title-part']" mode="title"/>
|
253
253
|
</xsl:variable>
|
254
254
|
<xsl:if test="normalize-space($title_part) != ''">
|
255
255
|
<xsl:text> — </xsl:text>
|
@@ -258,9 +258,9 @@
|
|
258
258
|
</fo:block>
|
259
259
|
<fo:block font-size="12pt" font-style="italic" line-height="140%" role="H1">
|
260
260
|
<xsl:variable name="secondLang" select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title/@language[. != $lang]"/>
|
261
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'main']" mode="title"/>
|
261
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'title-main']" mode="title"/>
|
262
262
|
<xsl:variable name="title_part">
|
263
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'part']" mode="title"/>
|
263
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'title-part']" mode="title"/>
|
264
264
|
</xsl:variable>
|
265
265
|
<xsl:if test="normalize-space($title_part) != ''">
|
266
266
|
<xsl:text> — </xsl:text>
|
@@ -297,9 +297,9 @@
|
|
297
297
|
</fo:table-body>
|
298
298
|
</fo:table>
|
299
299
|
<fo:block font-size="18pt" space-before="70mm" role="H1">
|
300
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'main']" mode="title"/>
|
300
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'title-main']" mode="title"/>
|
301
301
|
<xsl:variable name="title_part">
|
302
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'part']" mode="title"/>
|
302
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $lang and @type = 'title-part']" mode="title"/>
|
303
303
|
</xsl:variable>
|
304
304
|
<xsl:if test="normalize-space($title_part) != ''">
|
305
305
|
<xsl:text> — </xsl:text>
|
@@ -308,9 +308,9 @@
|
|
308
308
|
</fo:block>
|
309
309
|
<fo:block font-size="13pt" space-before="35mm" role="H1">
|
310
310
|
<xsl:variable name="secondLang" select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title/@language[. != $lang]"/>
|
311
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'main']" mode="title"/>
|
311
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'title-main']" mode="title"/>
|
312
312
|
<xsl:variable name="title_part">
|
313
|
-
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'part']" mode="title"/>
|
313
|
+
<xsl:apply-templates select="(//jcgm:bipm-standard)[1]/jcgm:bibdata/jcgm:title[@language = $secondLang and @type = 'title-part']" mode="title"/>
|
314
314
|
</xsl:variable>
|
315
315
|
<xsl:if test="normalize-space($title_part) != ''">
|
316
316
|
<xsl:text> — </xsl:text>
|
@@ -397,14 +397,16 @@
|
|
397
397
|
|
398
398
|
<fo:flow flow-name="xsl-region-body" line-height="115%">
|
399
399
|
|
400
|
-
<
|
400
|
+
<xsl:if test="count(//*[local-name() = 'bipm-standard']) != 1 ">
|
401
|
+
<!-- <fo:block-container> -->
|
401
402
|
<!-- Show title -->
|
402
403
|
<!-- Example: Evaluation of measurement data — An introduction to the `Guide to the expression of uncertainty in measurement' and related documents -->
|
403
404
|
|
404
405
|
<xsl:for-each select="//*[local-name() = 'bipm-standard']">
|
405
|
-
<fo:block font-size="20pt" font-weight="bold" margin-bottom="20pt" space-before="36pt" line-height="1.1">
|
406
|
-
<xsl:variable name="curr_lang" select="*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
|
407
406
|
|
407
|
+
<!-- <fo:block font-size="20pt" font-weight="bold" margin-bottom="20pt" space-before="36pt" line-height="1.1">
|
408
|
+
<xsl:variable name="curr_lang" select="*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
|
409
|
+
|
408
410
|
<xsl:variable name="title-main">
|
409
411
|
<xsl:apply-templates select="./*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $curr_lang and @type = 'main']" mode="title"/>
|
410
412
|
</xsl:variable>
|
@@ -412,7 +414,7 @@
|
|
412
414
|
<xsl:variable name="title-part">
|
413
415
|
<xsl:apply-templates select="./*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $curr_lang and @type = 'part']" mode="title"/>
|
414
416
|
</xsl:variable>
|
415
|
-
|
417
|
+
|
416
418
|
<fo:block role="H1">
|
417
419
|
<xsl:copy-of select="$title-main"/>
|
418
420
|
<xsl:if test="normalize-space($title-main) != '' and normalize-space($title-part) != ''">
|
@@ -420,7 +422,7 @@
|
|
420
422
|
</xsl:if>
|
421
423
|
<xsl:copy-of select="$title-part"/>
|
422
424
|
</fo:block>
|
423
|
-
|
425
|
+
|
424
426
|
<xsl:variable name="edition">
|
425
427
|
<xsl:apply-templates select="./*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) = '']">
|
426
428
|
<xsl:with-param name="curr_lang" select="$curr_lang"/>
|
@@ -429,11 +431,14 @@
|
|
429
431
|
<xsl:if test="normalize-space($edition) != ''">
|
430
432
|
<fo:block margin-top="12pt"><xsl:copy-of select="$edition"/></fo:block>
|
431
433
|
</xsl:if>
|
434
|
+
|
435
|
+
</fo:block> -->
|
432
436
|
|
433
|
-
|
434
|
-
</xsl:for-each>
|
437
|
+
<xsl:apply-templates select="jcgmsections/jcgm:p[starts-with(@class, 'zzSTDTitle')]"/>
|
435
438
|
|
436
|
-
|
439
|
+
</xsl:for-each>
|
440
|
+
<!-- </fo:block-container> -->
|
441
|
+
</xsl:if>
|
437
442
|
<!-- Clause(s) -->
|
438
443
|
<fo:block>
|
439
444
|
<xsl:choose>
|
@@ -581,6 +586,32 @@
|
|
581
586
|
</fo:block>
|
582
587
|
</xsl:template>
|
583
588
|
|
589
|
+
<xsl:template match="jcgm:sections/jcgm:p[@class = 'zzSTDTitle1']" priority="4">
|
590
|
+
<fo:block font-size="20pt" font-weight="bold" margin-bottom="20pt" space-before="36pt" line-height="1.1" role="H1">
|
591
|
+
<xsl:if test="following-sibling::*[1][self::jcgm:p][starts-with(@class, 'zzSTDTitle')]">
|
592
|
+
<xsl:attribute name="margin-bottom">0</xsl:attribute>
|
593
|
+
</xsl:if>
|
594
|
+
<xsl:apply-templates/>
|
595
|
+
</fo:block>
|
596
|
+
<xsl:variable name="curr_lang" select="ancestor::jcgm:bipm-standard/*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
|
597
|
+
<xsl:variable name="edition">
|
598
|
+
<xsl:apply-templates select="ancestor::jcgm:bipm-standard/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) = '']">
|
599
|
+
<xsl:with-param name="curr_lang" select="$curr_lang"/>
|
600
|
+
</xsl:apply-templates>
|
601
|
+
</xsl:variable>
|
602
|
+
<xsl:if test="normalize-space($edition) != ''">
|
603
|
+
<fo:block font-size="20pt" font-weight="bold" margin-top="12pt" margin-bottom="20pt" line-height="1.1">
|
604
|
+
<xsl:copy-of select="$edition"/>
|
605
|
+
</fo:block>
|
606
|
+
</xsl:if>
|
607
|
+
</xsl:template>
|
608
|
+
|
609
|
+
<xsl:template match="jcgm:sections/jcgm:p[@class = 'zzSTDTitle2']" priority="4">
|
610
|
+
<fo:block font-size="20pt" font-weight="bold" margin-top="12pt" margin-bottom="20pt" line-height="1.1">
|
611
|
+
<xsl:apply-templates/>
|
612
|
+
</fo:block>
|
613
|
+
</xsl:template>
|
614
|
+
|
584
615
|
<xsl:template match="node()">
|
585
616
|
<xsl:apply-templates/>
|
586
617
|
</xsl:template>
|
@@ -1839,19 +1870,32 @@
|
|
1839
1870
|
<xsl:variable name="titles_">
|
1840
1871
|
|
1841
1872
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
1842
|
-
<title-toc lang="en">
|
1843
|
-
|
1844
|
-
|
1845
|
-
|
1873
|
+
<!-- <title-toc lang="en">
|
1874
|
+
<xsl:if test="$namespace = 'csd' or $namespace = 'ieee' or $namespace = 'iho' or $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'unece-rec'">
|
1875
|
+
<xsl:text>Contents</xsl:text>
|
1876
|
+
</xsl:if>
|
1877
|
+
<xsl:if test="$namespace = 'csa' or $namespace = 'm3d' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper'">
|
1878
|
+
<xsl:text>Table of Contents</xsl:text>
|
1879
|
+
</xsl:if>
|
1880
|
+
<xsl:if test="$namespace = 'gb'">
|
1881
|
+
<xsl:text>Table of contents</xsl:text>
|
1882
|
+
</xsl:if>
|
1883
|
+
</title-toc> -->
|
1884
|
+
<title-toc lang="en">Table of contents</title-toc>
|
1885
|
+
<!-- <title-toc lang="fr">
|
1846
1886
|
<xsl:text>Sommaire</xsl:text>
|
1847
|
-
</title-toc>
|
1848
|
-
<title-toc lang="zh">
|
1849
|
-
|
1887
|
+
</title-toc> -->
|
1888
|
+
<!-- <title-toc lang="zh">
|
1889
|
+
<xsl:choose>
|
1890
|
+
<xsl:when test="$namespace = 'gb'">
|
1891
|
+
<xsl:text>目次</xsl:text>
|
1892
|
+
</xsl:when>
|
1893
|
+
<xsl:otherwise>
|
1850
1894
|
<xsl:text>Contents</xsl:text>
|
1851
|
-
|
1852
|
-
|
1853
|
-
|
1854
|
-
<title-
|
1895
|
+
</xsl:otherwise>
|
1896
|
+
</xsl:choose>
|
1897
|
+
</title-toc> -->
|
1898
|
+
<title-toc lang="zh">目次</title-toc>
|
1855
1899
|
|
1856
1900
|
<title-part lang="en">
|
1857
1901
|
|
@@ -1867,20 +1911,6 @@
|
|
1867
1911
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
1868
1912
|
<title-subpart lang="fr">Partie de sub #</title-subpart>
|
1869
1913
|
|
1870
|
-
<title-list-tables lang="en">List of Tables</title-list-tables>
|
1871
|
-
|
1872
|
-
<title-list-figures lang="en">List of Figures</title-list-figures>
|
1873
|
-
|
1874
|
-
<title-table-figures lang="en">Table of Figures</title-table-figures>
|
1875
|
-
|
1876
|
-
<title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
|
1877
|
-
|
1878
|
-
<title-summary lang="en">Summary</title-summary>
|
1879
|
-
|
1880
|
-
<title-continued lang="ru">(продолжение)</title-continued>
|
1881
|
-
<title-continued lang="en">(continued)</title-continued>
|
1882
|
-
<title-continued lang="fr">(continué)</title-continued>
|
1883
|
-
|
1884
1914
|
</xsl:variable>
|
1885
1915
|
<xsl:variable name="titles" select="xalan:nodeset($titles_)"/>
|
1886
1916
|
|
@@ -1888,8 +1918,8 @@
|
|
1888
1918
|
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
1889
1919
|
<xsl:value-of select="$toc_table_title"/>
|
1890
1920
|
<xsl:if test="normalize-space($toc_table_title) = ''">
|
1891
|
-
<xsl:call-template name="
|
1892
|
-
<xsl:with-param name="
|
1921
|
+
<xsl:call-template name="getLocalizedString">
|
1922
|
+
<xsl:with-param name="key">toc_tables</xsl:with-param>
|
1893
1923
|
</xsl:call-template>
|
1894
1924
|
</xsl:if>
|
1895
1925
|
</xsl:variable>
|
@@ -1898,8 +1928,8 @@
|
|
1898
1928
|
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
1899
1929
|
<xsl:value-of select="$toc_figure_title"/>
|
1900
1930
|
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
1901
|
-
<xsl:call-template name="
|
1902
|
-
<xsl:with-param name="
|
1931
|
+
<xsl:call-template name="getLocalizedString">
|
1932
|
+
<xsl:with-param name="key">toc_figures</xsl:with-param>
|
1903
1933
|
</xsl:call-template>
|
1904
1934
|
</xsl:if>
|
1905
1935
|
</xsl:variable>
|
@@ -1908,8 +1938,8 @@
|
|
1908
1938
|
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
1909
1939
|
<xsl:value-of select="$toc_requirement_title"/>
|
1910
1940
|
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
1911
|
-
<xsl:call-template name="
|
1912
|
-
<xsl:with-param name="
|
1941
|
+
<xsl:call-template name="getLocalizedString">
|
1942
|
+
<xsl:with-param name="key">toc_recommendations</xsl:with-param>
|
1913
1943
|
</xsl:call-template>
|
1914
1944
|
</xsl:if>
|
1915
1945
|
</xsl:variable>
|
@@ -4379,13 +4409,13 @@
|
|
4379
4409
|
<fo:table-body>
|
4380
4410
|
|
4381
4411
|
<xsl:variable name="title_continued_">
|
4382
|
-
<xsl:call-template name="
|
4383
|
-
<xsl:with-param name="
|
4412
|
+
<xsl:call-template name="getLocalizedString">
|
4413
|
+
<xsl:with-param name="key">continued</xsl:with-param>
|
4384
4414
|
</xsl:call-template>
|
4385
4415
|
</xsl:variable>
|
4386
|
-
|
4416
|
+
<xsl:variable name="title_continued_in_parenthesis" select="concat('(',$title_continued_,')')"/>
|
4387
4417
|
<xsl:variable name="title_continued">
|
4388
|
-
<xsl:value-of select="$
|
4418
|
+
<xsl:value-of select="$title_continued_in_parenthesis"/>
|
4389
4419
|
|
4390
4420
|
</xsl:variable>
|
4391
4421
|
|
@@ -5709,6 +5739,9 @@
|
|
5709
5739
|
<!-- END Definition List -->
|
5710
5740
|
<!-- ===================== -->
|
5711
5741
|
|
5742
|
+
<!-- default: ignore title in sections/p -->
|
5743
|
+
<xsl:template match="*[local-name() = 'sections']/*[local-name() = 'p'][starts-with(@class, 'zzSTDTitle')]" priority="3"/>
|
5744
|
+
|
5712
5745
|
<!-- ========================= -->
|
5713
5746
|
<!-- Rich text formatting -->
|
5714
5747
|
<!-- ========================= -->
|
@@ -5787,7 +5820,7 @@
|
|
5787
5820
|
<xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
|
5788
5821
|
<xsl:template match="*[local-name()='tt']/text()" priority="2">
|
5789
5822
|
<xsl:choose>
|
5790
|
-
<xsl:when test="java:replaceAll(java:java.lang.String.new(.),
|
5823
|
+
<xsl:when test="java:replaceAll(java:java.lang.String.new(.), $regex_url_start, '$2') != ''">
|
5791
5824
|
<!-- url -->
|
5792
5825
|
<xsl:call-template name="add-zero-spaces-link-java"/>
|
5793
5826
|
</xsl:when>
|
@@ -6249,10 +6282,13 @@
|
|
6249
6282
|
</xsl:choose>
|
6250
6283
|
</xsl:variable>
|
6251
6284
|
|
6285
|
+
<!-- replace sequence #x200B to one ​ -->
|
6286
|
+
<xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b{2,}', '')"/>
|
6287
|
+
|
6252
6288
|
<!-- replace sequence #x200B and space TO space -->
|
6253
|
-
<xsl:variable name="
|
6289
|
+
<xsl:variable name="text11" select="java:replaceAll(java:java.lang.String.new($text10), '\u200b ', ' ')"/>
|
6254
6290
|
|
6255
|
-
<xsl:value-of select="$
|
6291
|
+
<xsl:value-of select="$text11"/>
|
6256
6292
|
</xsl:template>
|
6257
6293
|
|
6258
6294
|
<xsl:template name="add-zero-spaces-link-java">
|
@@ -6262,8 +6298,12 @@
|
|
6262
6298
|
<xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
|
6263
6299
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space, comma, slash, @ -->
|
6264
6300
|
<xsl:variable name="url" select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/|@)','$1')"/>
|
6301
|
+
|
6302
|
+
<!-- replace sequence #x200B to one ​ -->
|
6303
|
+
<xsl:variable name="url2" select="java:replaceAll(java:java.lang.String.new($url), '\u200b{2,}', '')"/>
|
6304
|
+
|
6265
6305
|
<!-- remove zero-width space at the end -->
|
6266
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($
|
6306
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($url2), '$', '')"/>
|
6267
6307
|
</xsl:template>
|
6268
6308
|
|
6269
6309
|
<!-- add zero space after dash character (for table's entries) -->
|
@@ -7533,7 +7573,7 @@
|
|
7533
7573
|
|
7534
7574
|
<xsl:call-template name="refine_note_block_style"/>
|
7535
7575
|
|
7536
|
-
<fo:inline xsl:use-attribute-sets="note-name-style">
|
7576
|
+
<fo:inline xsl:use-attribute-sets="note-name-style" role="SKIP">
|
7537
7577
|
|
7538
7578
|
<xsl:call-template name="refine_note-name-style"/>
|
7539
7579
|
|
@@ -7570,12 +7610,12 @@
|
|
7570
7610
|
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
7571
7611
|
<xsl:choose>
|
7572
7612
|
<xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
|
7573
|
-
<fo:inline xsl:use-attribute-sets="note-p-style">
|
7613
|
+
<fo:inline xsl:use-attribute-sets="note-p-style" role="SKIP">
|
7574
7614
|
<xsl:apply-templates/>
|
7575
7615
|
</fo:inline>
|
7576
7616
|
</xsl:when>
|
7577
7617
|
<xsl:otherwise>
|
7578
|
-
<fo:block xsl:use-attribute-sets="note-p-style">
|
7618
|
+
<fo:block xsl:use-attribute-sets="note-p-style" role="SKIP">
|
7579
7619
|
<xsl:apply-templates/>
|
7580
7620
|
</fo:block>
|
7581
7621
|
</xsl:otherwise>
|
@@ -7792,25 +7832,45 @@
|
|
7792
7832
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
7793
7833
|
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
7794
7834
|
|
7795
|
-
<xsl:
|
7796
|
-
<xsl:
|
7797
|
-
<xsl:
|
7798
|
-
|
7799
|
-
|
7800
|
-
</xsl:variable>
|
7835
|
+
<xsl:if test="@width != '' and @width != 'auto'">
|
7836
|
+
<xsl:attribute name="width">
|
7837
|
+
<xsl:value-of select="@width"/>
|
7838
|
+
</xsl:attribute>
|
7839
|
+
</xsl:if>
|
7801
7840
|
|
7802
|
-
<xsl:
|
7841
|
+
<xsl:if test="@height != '' and @height != 'auto'">
|
7842
|
+
<xsl:attribute name="height">
|
7843
|
+
<xsl:value-of select="@height"/>
|
7844
|
+
</xsl:attribute>
|
7845
|
+
</xsl:if>
|
7803
7846
|
|
7804
|
-
|
7847
|
+
<xsl:choose>
|
7848
|
+
<xsl:when test="@width != '' and @width != 'auto' and @height != '' and @height != 'auto'">
|
7849
|
+
<xsl:attribute name="scaling">non-uniform</xsl:attribute>
|
7850
|
+
</xsl:when>
|
7851
|
+
<xsl:otherwise>
|
7805
7852
|
|
7806
|
-
|
7853
|
+
<xsl:variable name="img_src">
|
7854
|
+
<xsl:choose>
|
7855
|
+
<xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
|
7856
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
7857
|
+
</xsl:choose>
|
7858
|
+
</xsl:variable>
|
7807
7859
|
|
7808
|
-
|
7809
|
-
<xsl:if test="number($scale) < 100">
|
7860
|
+
<xsl:variable name="image_width_effective">
|
7810
7861
|
|
7811
|
-
|
7862
|
+
<xsl:value-of select="$width_effective"/>
|
7812
7863
|
|
7813
|
-
|
7864
|
+
</xsl:variable>
|
7865
|
+
|
7866
|
+
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
7867
|
+
<xsl:if test="number($scale) < 100">
|
7868
|
+
|
7869
|
+
<xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
|
7870
|
+
|
7871
|
+
</xsl:if>
|
7872
|
+
</xsl:otherwise>
|
7873
|
+
</xsl:choose>
|
7814
7874
|
|
7815
7875
|
</xsl:if>
|
7816
7876
|
|
@@ -11482,7 +11542,7 @@
|
|
11482
11542
|
<xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
|
11483
11543
|
<xsl:apply-templates mode="update_xml_step1"/>
|
11484
11544
|
</xsl:template>
|
11485
|
-
<xsl:template match="*[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
|
11545
|
+
<xsl:template match="*[local-name() = 'sections']/*[local-name() = 'p'][starts-with(@class, 'zzSTDTitle')]/*[local-name() = 'span'][@class] | *[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
|
11486
11546
|
<xsl:copy>
|
11487
11547
|
<xsl:copy-of select="@*"/>
|
11488
11548
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -12048,7 +12108,7 @@
|
|
12048
12108
|
<xsl:variable name="title">
|
12049
12109
|
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
12050
12110
|
|
12051
|
-
<xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'part']"/>
|
12111
|
+
<xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'title-part']"/>
|
12052
12112
|
|
12053
12113
|
</xsl:for-each>
|
12054
12114
|
</xsl:variable>
|
@@ -12071,7 +12131,7 @@
|
|
12071
12131
|
<dc:description>
|
12072
12132
|
<xsl:variable name="abstract">
|
12073
12133
|
|
12074
|
-
<xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
|
12134
|
+
<xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'title-main']"/>
|
12075
12135
|
|
12076
12136
|
</xsl:variable>
|
12077
12137
|
<xsl:value-of select="normalize-space($abstract)"/>
|
data/lib/isodoc/bipm/metadata.rb
CHANGED
@@ -27,14 +27,14 @@ module IsoDoc
|
|
27
27
|
def title(isoxml, _out)
|
28
28
|
lang1, lang2 = @lang == "fr" ? %w(fr en) : %w(en fr)
|
29
29
|
set(:doctitle, @c.encode(isoxml.at(
|
30
|
-
ns("#{TITLE}[@type='main'][@language='#{lang1}']"))&.text || ""))
|
30
|
+
ns("#{TITLE}[@type='title-main'][@language='#{lang1}']"))&.text || ""))
|
31
31
|
set(:docsubtitle, @c.encode(isoxml.at(
|
32
|
-
ns("#{TITLE}[@type='main'][@language='#{lang2}']"))&.text || ""))
|
32
|
+
ns("#{TITLE}[@type='title-main'][@language='#{lang2}']"))&.text || ""))
|
33
33
|
%w(appendix annex part subtitle provenance).each do |e|
|
34
34
|
set("#{e}title".to_sym, @c.encode(isoxml.at(
|
35
|
-
ns("#{TITLE}[@type='
|
35
|
+
ns("#{TITLE}[@type='title-#{e}'][@language='#{lang1}']"))&.text || ""))
|
36
36
|
set("#{e}subtitle".to_sym, @c.encode(isoxml.at(
|
37
|
-
ns("#{TITLE}[@type='
|
37
|
+
ns("#{TITLE}[@type='title-#{e}'][@language='#{lang2}']"))&.text || ""))
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module IsoDoc
|
2
|
+
module BIPM
|
3
|
+
class PresentationXMLConvert < IsoDoc::Generic::PresentationXMLConvert
|
4
|
+
def middle_title(docxml)
|
5
|
+
@jcgm or return nil
|
6
|
+
@iso.middle_title(docxml)
|
7
|
+
end
|
8
|
+
|
9
|
+
def table1(elem)
|
10
|
+
labelled_ancestor(elem) || elem["unnumbered"] and return
|
11
|
+
n = @xrefs.anchor(elem["id"], :label, false)
|
12
|
+
prefix_name(elem, ".<tab/>",
|
13
|
+
l10n("#{@i18n.table.capitalize} #{n}"), "name")
|
14
|
+
end
|
15
|
+
|
16
|
+
def figure1(elem)
|
17
|
+
if @jcgm
|
18
|
+
@iso.xrefs = @xrefs
|
19
|
+
@iso.figure1(elem)
|
20
|
+
else super
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# notes and remarques (list notes) are not numbered
|
25
|
+
def note1(elem)
|
26
|
+
elem.parent.name == "bibitem" || elem["notag"] == "true" and return
|
27
|
+
lbl = l10n(note_label(elem))
|
28
|
+
prefix_name(elem, "", lbl, "name")
|
29
|
+
end
|
30
|
+
|
31
|
+
def note_label(elem)
|
32
|
+
if elem.ancestors("preface").empty?
|
33
|
+
if elem.ancestors("ul, ol, dl").empty?
|
34
|
+
@i18n.note
|
35
|
+
else @i18n.listnote end
|
36
|
+
else @i18n.prefacenote
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -5,6 +5,7 @@ require_relative "init"
|
|
5
5
|
require_relative "index"
|
6
6
|
require_relative "doccontrol"
|
7
7
|
require_relative "../../relaton/render/general"
|
8
|
+
require_relative "presentation_blocks"
|
8
9
|
|
9
10
|
module IsoDoc
|
10
11
|
module BIPM
|
@@ -12,33 +13,25 @@ module IsoDoc
|
|
12
13
|
def convert1(docxml, filename, dir)
|
13
14
|
@jcgm = docxml&.at(ns("//bibdata/ext/editorialgroup/committee/" \
|
14
15
|
"@acronym"))&.value == "JCGM"
|
15
|
-
@
|
16
|
-
|
17
|
-
i18n = @iso.i18n_init(@lang, @script, @locale, nil)
|
18
|
-
@iso.metadata_init(@lang, @script, @locale, i18n)
|
16
|
+
@xrefs.klass.jcgm = @jcgm
|
17
|
+
@jcgm and @iso = iso_processor(docxml)
|
19
18
|
super
|
20
19
|
end
|
21
20
|
|
21
|
+
def iso_processor(docxml)
|
22
|
+
iso = IsoDoc::Iso::PresentationXMLConvert
|
23
|
+
.new({ language: @lang, script: @script })
|
24
|
+
i18n = iso.i18n_init(@lang, @script, @locale, nil)
|
25
|
+
iso.metadata_init(@lang, @script, @locale, i18n)
|
26
|
+
iso.info(docxml, nil)
|
27
|
+
iso
|
28
|
+
end
|
29
|
+
|
22
30
|
def eref_localities1(opt)
|
23
31
|
@jcgm and return @iso.eref_localities1(opt)
|
24
32
|
super
|
25
33
|
end
|
26
34
|
|
27
|
-
def table1(elem)
|
28
|
-
labelled_ancestor(elem) || elem["unnumbered"] and return
|
29
|
-
n = @xrefs.anchor(elem["id"], :label, false)
|
30
|
-
prefix_name(elem, ".<tab/>",
|
31
|
-
l10n("#{@i18n.table.capitalize} #{n}"), "name")
|
32
|
-
end
|
33
|
-
|
34
|
-
def figure1(elem)
|
35
|
-
if @jcgm
|
36
|
-
@iso.xrefs = @xrefs
|
37
|
-
@iso.figure1(elem)
|
38
|
-
else super
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
35
|
def annex1(elem)
|
43
36
|
@jcgm and return super
|
44
37
|
elem["unnumbered"] == "true" and return
|
@@ -77,8 +70,8 @@ module IsoDoc
|
|
77
70
|
end
|
78
71
|
|
79
72
|
def conversions(docxml)
|
80
|
-
super
|
81
73
|
doccontrol docxml
|
74
|
+
super
|
82
75
|
end
|
83
76
|
|
84
77
|
def twitter_cldr_localiser_symbols
|
@@ -115,9 +108,9 @@ module IsoDoc
|
|
115
108
|
def bibdata_titles(bibdata)
|
116
109
|
app = bibdata.at(ns("//bibdata/ext/" \
|
117
110
|
"structuredidentifier/part")) or return
|
118
|
-
bibdata.xpath(ns("//bibdata/title[@type = 'part']")).each do |t|
|
111
|
+
bibdata.xpath(ns("//bibdata/title[@type = 'title-part']")).each do |t|
|
119
112
|
t.previous = t.dup
|
120
|
-
t["type"] = "part-with-numbering"
|
113
|
+
t["type"] = "title-part-with-numbering"
|
121
114
|
part = t["language"] == "en" ? "Part" : "Partie" # not looking up in YAML
|
122
115
|
t.children = l10n("#{part} #{app.text}: #{to_xml(t.children)}",
|
123
116
|
t["language"])
|
@@ -170,22 +163,6 @@ module IsoDoc
|
|
170
163
|
end
|
171
164
|
end
|
172
165
|
|
173
|
-
# notes and remarques (list notes) are not numbered
|
174
|
-
def note1(elem)
|
175
|
-
elem.parent.name == "bibitem" || elem["notag"] == "true" and return
|
176
|
-
lbl = l10n(note_label(elem))
|
177
|
-
prefix_name(elem, "", lbl, "name")
|
178
|
-
end
|
179
|
-
|
180
|
-
def note_label(elem)
|
181
|
-
if elem.ancestors("preface").empty?
|
182
|
-
if elem.ancestors("ul, ol, dl").empty?
|
183
|
-
@i18n.note
|
184
|
-
else @i18n.listnote end
|
185
|
-
else @i18n.prefacenote
|
186
|
-
end
|
187
|
-
end
|
188
|
-
|
189
166
|
def termsource1(elem)
|
190
167
|
# elem["status"] == "modified" and return super
|
191
168
|
while elem&.next_element&.name == "termsource"
|
data/lib/isodoc/bipm/xref.rb
CHANGED
@@ -4,13 +4,15 @@ module IsoDoc
|
|
4
4
|
end
|
5
5
|
|
6
6
|
class Xref < IsoDoc::Xref
|
7
|
+
attr_accessor :jcgm
|
8
|
+
|
7
9
|
def initialize(lang, script, klass, i18n, options = {})
|
8
10
|
@iso = IsoDoc::Iso::Xref.new(lang, script, klass, i18n, options)
|
9
11
|
super
|
10
12
|
end
|
11
13
|
|
12
14
|
def parse(docxml)
|
13
|
-
@jcgm = docxml&.at(ns("//bibdata/ext/editorialgroup/committee/"\
|
15
|
+
@jcgm = docxml&.at(ns("//bibdata/ext/editorialgroup/committee/" \
|
14
16
|
"@acronym"))&.value == "JCGM"
|
15
17
|
@annexlbl =
|
16
18
|
if @jcgm then @labels["iso_annex"]
|
@@ -38,8 +40,9 @@ module IsoDoc
|
|
38
40
|
end
|
39
41
|
|
40
42
|
def clause_names_jcgm(docxml, sect_num)
|
41
|
-
docxml.xpath(ns("//clause[parent::sections][not(@type = 'scope')]"\
|
42
|
-
"[not(descendant::terms)]"))
|
43
|
+
docxml.xpath(ns("//clause[parent::sections][not(@type = 'scope')]" \
|
44
|
+
"[not(descendant::terms)][not(descendant::references)]"))
|
45
|
+
.each do |c|
|
43
46
|
section_names(c, sect_num, 1)
|
44
47
|
end
|
45
48
|
end
|
@@ -48,24 +51,24 @@ module IsoDoc
|
|
48
51
|
|
49
52
|
def clause_names_bipm(docxml, _sect_num)
|
50
53
|
n = Counter.new
|
51
|
-
docxml.xpath(ns("//sections/clause[not(#{UNNUM})] | "\
|
52
|
-
"//sections/terms[not(#{UNNUM})] | "\
|
54
|
+
docxml.xpath(ns("//sections/clause[not(#{UNNUM})] | " \
|
55
|
+
"//sections/terms[not(#{UNNUM})] | " \
|
53
56
|
"//sections/definitions[not(#{UNNUM})]"))
|
54
57
|
.each { |c| section_names(c, n, 1) }
|
55
|
-
docxml.xpath(ns("//sections/clause[#{UNNUM}] | "\
|
56
|
-
"//sections/terms[#{UNNUM}] | "\
|
58
|
+
docxml.xpath(ns("//sections/clause[#{UNNUM}] | " \
|
59
|
+
"//sections/terms[#{UNNUM}] | " \
|
57
60
|
"//sections/definitions[#{UNNUM}]"))
|
58
61
|
.each { |c| unnumbered_section_names(c, 1) }
|
59
62
|
end
|
60
63
|
|
61
64
|
NUMBERED_SUBCLAUSES =
|
62
|
-
"./clause[not(#{UNNUM})] | ./references[not(#{UNNUM})] | "\
|
63
|
-
"./term[not(#{UNNUM})] | ./terms[not(#{UNNUM})] | "\
|
65
|
+
"./clause[not(#{UNNUM})] | ./references[not(#{UNNUM})] | " \
|
66
|
+
"./term[not(#{UNNUM})] | ./terms[not(#{UNNUM})] | " \
|
64
67
|
"./definitions[not(#{UNNUM})]".freeze
|
65
68
|
|
66
69
|
UNNUMBERED_SUBCLAUSES =
|
67
|
-
"./clause[#{UNNUM}] | ./references[#{UNNUM}] | "\
|
68
|
-
"./term[#{UNNUM}] | ./terms[#{UNNUM}] | "\
|
70
|
+
"./clause[#{UNNUM}] | ./references[#{UNNUM}] | " \
|
71
|
+
"./term[#{UNNUM}] | ./terms[#{UNNUM}] | " \
|
69
72
|
"./definitions[#{UNNUM}]".freeze
|
70
73
|
|
71
74
|
def section_name_anchors(clause, num, lvl)
|
data/lib/metanorma/bipm/front.rb
CHANGED
@@ -91,7 +91,7 @@ module Metanorma
|
|
91
91
|
def title(node, xml)
|
92
92
|
["en", "fr"].each do |lang|
|
93
93
|
at = { language: lang, format: "text/plain" }
|
94
|
-
xml.title **attr_code(at.merge(type: "main")) do |t1|
|
94
|
+
xml.title **attr_code(at.merge(type: "title-main")) do |t1|
|
95
95
|
t1 << Metanorma::Utils::asciidoc_sub(node.attr("title-#{lang}"))
|
96
96
|
end
|
97
97
|
%w(cover appendix annex part subpart provenance).each do |w|
|
@@ -104,7 +104,7 @@ module Metanorma
|
|
104
104
|
at = { language: lang, format: "text/plain" }
|
105
105
|
return unless title = node.attr("title-#{type}-#{lang}")
|
106
106
|
|
107
|
-
xml.title **attr_code(at.merge(type: type)) do |t1|
|
107
|
+
xml.title **attr_code(at.merge(type: "title-#{type}")) do |t1|
|
108
108
|
t1 << Metanorma::Utils::asciidoc_sub(title)
|
109
109
|
end
|
110
110
|
end
|