metanorma-bipm 2.5.8 → 2.5.9
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/bipm.brochure.xsl +240 -116
- data/lib/isodoc/bipm/bipm.guide.xsl +240 -116
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +240 -116
- data/lib/isodoc/bipm/bipm.rapport.xsl +240 -116
- data/lib/isodoc/bipm/jcgm.standard.xsl +168 -87
- data/lib/isodoc/bipm/presentation_xml_convert.rb +18 -24
- data/lib/isodoc/bipm/xref.rb +4 -27
- data/lib/metanorma/bipm/version.rb +1 -1
- data/lib/relaton/render/config.yml +3 -3
- metadata +2 -3
- data/lib/isodoc/bipm/index.rb +0 -163
@@ -360,7 +360,7 @@
|
|
360
360
|
|
361
361
|
<xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to preface -->
|
362
362
|
|
363
|
-
<xsl:for-each select=".//*[local-name() = 'page_sequence'][parent::*[local-name() = 'boilerplate'] or parent::*[local-name() = 'preface']][normalize-space() != '' or
|
363
|
+
<xsl:for-each select=".//*[local-name() = 'page_sequence'][parent::*[local-name() = 'boilerplate'] or parent::*[local-name() = 'preface']][normalize-space() != '' or .//*[local-name() = 'image'] or .//*[local-name() = 'svg']]">
|
364
364
|
|
365
365
|
<fo:page-sequence master-reference="document-jcgm" format="i">
|
366
366
|
|
@@ -392,7 +392,7 @@
|
|
392
392
|
|
393
393
|
<xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to preface -->
|
394
394
|
|
395
|
-
<xsl:for-each select=".//*[local-name() = 'page_sequence'][not(parent::*[local-name() = 'boilerplate'] or parent::*[local-name() = 'preface'])][normalize-space() != '' or
|
395
|
+
<xsl:for-each select=".//*[local-name() = 'page_sequence'][not(parent::*[local-name() = 'boilerplate'] or parent::*[local-name() = 'preface'])][normalize-space() != '' or .//*[local-name() = 'image'] or .//*[local-name() = 'svg']]">
|
396
396
|
|
397
397
|
<!-- JCGM BODY -->
|
398
398
|
<fo:page-sequence master-reference="document-jcgm" force-page-count="no-force">
|
@@ -5161,7 +5161,9 @@
|
|
5161
5161
|
<fo:block role="SKIP">
|
5162
5162
|
|
5163
5163
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
5164
|
-
|
5164
|
+
|
5165
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
5166
|
+
|
5165
5167
|
</xsl:if>
|
5166
5168
|
|
5167
5169
|
<xsl:apply-templates/>
|
@@ -6194,7 +6196,17 @@
|
|
6194
6196
|
<xsl:call-template name="refine_dt-cell-style"/>
|
6195
6197
|
|
6196
6198
|
<fo:block xsl:use-attribute-sets="dt-block-style" role="SKIP">
|
6197
|
-
|
6199
|
+
|
6200
|
+
<xsl:choose>
|
6201
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
6202
|
+
|
6203
|
+
<xsl:copy-of select="@id"/>
|
6204
|
+
|
6205
|
+
</xsl:when>
|
6206
|
+
<xsl:otherwise>
|
6207
|
+
<xsl:copy-of select="@id"/>
|
6208
|
+
</xsl:otherwise>
|
6209
|
+
</xsl:choose>
|
6198
6210
|
|
6199
6211
|
<xsl:if test="normalize-space($key_iso) = 'true'">
|
6200
6212
|
<xsl:attribute name="margin-top">0</xsl:attribute>
|
@@ -6226,7 +6238,9 @@
|
|
6226
6238
|
<fo:block role="SKIP">
|
6227
6239
|
|
6228
6240
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
6229
|
-
|
6241
|
+
|
6242
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
6243
|
+
|
6230
6244
|
</xsl:if>
|
6231
6245
|
|
6232
6246
|
<xsl:choose>
|
@@ -7467,6 +7481,14 @@
|
|
7467
7481
|
</xsl:for-each>
|
7468
7482
|
</xsl:variable>
|
7469
7483
|
|
7484
|
+
<!-- <xsl:if test="$debug = 'true'">
|
7485
|
+
<redirect:write file="{generate-id()}_words_with_width_sorted.xml">
|
7486
|
+
<td_text><xsl:copy-of select="$td_text"/></td_text>
|
7487
|
+
<words_with_width><xsl:copy-of select="$words_with_width"/></words_with_width>
|
7488
|
+
<xsl:copy-of select="$words_with_width_sorted"/>
|
7489
|
+
</redirect:write>
|
7490
|
+
</xsl:if> -->
|
7491
|
+
|
7470
7492
|
<xsl:variable name="words">
|
7471
7493
|
<xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
|
7472
7494
|
<word>
|
@@ -7592,6 +7614,7 @@
|
|
7592
7614
|
<xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
|
7593
7615
|
<xsl:if test="ancestor::*[local-name() = 'sourcecode']"><tag>sourcecode</tag></xsl:if>
|
7594
7616
|
<xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
|
7617
|
+
<xsl:if test="ancestor::*[local-name() = 'font_en_vertical']"><tag>font_en_vertical</tag></xsl:if>
|
7595
7618
|
</tags>
|
7596
7619
|
</xsl:template>
|
7597
7620
|
<!-- =============================== -->
|
@@ -8139,7 +8162,16 @@
|
|
8139
8162
|
</xsl:when>
|
8140
8163
|
<xsl:otherwise>
|
8141
8164
|
<!-- output text from <link>text</link> -->
|
8142
|
-
<xsl:
|
8165
|
+
<xsl:choose>
|
8166
|
+
<xsl:when test="starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.')">
|
8167
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
8168
|
+
<xsl:with-param name="text" select="."/>
|
8169
|
+
</xsl:call-template>
|
8170
|
+
</xsl:when>
|
8171
|
+
<xsl:otherwise>
|
8172
|
+
<xsl:apply-templates/>
|
8173
|
+
</xsl:otherwise>
|
8174
|
+
</xsl:choose>
|
8143
8175
|
</xsl:otherwise>
|
8144
8176
|
</xsl:choose>
|
8145
8177
|
</fo:basic-link>
|
@@ -8778,16 +8810,29 @@
|
|
8778
8810
|
<xsl:template name="getImageSrc">
|
8779
8811
|
<xsl:choose>
|
8780
8812
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
8813
|
+
<xsl:call-template name="getImageSrcExternal"/>
|
8814
|
+
</xsl:when>
|
8815
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
8816
|
+
</xsl:choose>
|
8817
|
+
</xsl:template>
|
8818
|
+
|
8819
|
+
<xsl:template name="getImageSrcExternal">
|
8820
|
+
<xsl:choose>
|
8821
|
+
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
8822
|
+
<xsl:value-of select="@src"/>
|
8823
|
+
</xsl:when>
|
8824
|
+
<xsl:otherwise>
|
8825
|
+
<xsl:variable name="src_with_basepath" select="concat($basepath, @src)"/>
|
8826
|
+
<xsl:variable name="file_exists" select="normalize-space(java:exists(java:java.io.File.new($src_with_basepath)))"/>
|
8781
8827
|
<xsl:choose>
|
8782
|
-
<xsl:when test="
|
8783
|
-
<xsl:value-of select="
|
8828
|
+
<xsl:when test="$file_exists = 'true'">
|
8829
|
+
<xsl:value-of select="$src_with_basepath"/>
|
8784
8830
|
</xsl:when>
|
8785
8831
|
<xsl:otherwise>
|
8786
|
-
<xsl:value-of select="
|
8832
|
+
<xsl:value-of select="@src"/>
|
8787
8833
|
</xsl:otherwise>
|
8788
8834
|
</xsl:choose>
|
8789
|
-
</xsl:
|
8790
|
-
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
8835
|
+
</xsl:otherwise>
|
8791
8836
|
</xsl:choose>
|
8792
8837
|
</xsl:template>
|
8793
8838
|
|
@@ -8835,14 +8880,8 @@
|
|
8835
8880
|
<xsl:value-of select="concat('url(file:///',$basepath, $src_png, ')')"/>
|
8836
8881
|
</xsl:when>
|
8837
8882
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
8838
|
-
<xsl:
|
8839
|
-
|
8840
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
8841
|
-
</xsl:when>
|
8842
|
-
<xsl:otherwise>
|
8843
|
-
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
8844
|
-
</xsl:otherwise>
|
8845
|
-
</xsl:choose>
|
8883
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
8884
|
+
<xsl:value-of select="concat('url(file:///', $src_external, ')')"/>
|
8846
8885
|
</xsl:when>
|
8847
8886
|
<xsl:otherwise>
|
8848
8887
|
<xsl:value-of select="@src"/>
|
@@ -8863,16 +8902,8 @@
|
|
8863
8902
|
</svg>
|
8864
8903
|
</xsl:when>
|
8865
8904
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
8866
|
-
<xsl:variable name="
|
8867
|
-
|
8868
|
-
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
8869
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
8870
|
-
</xsl:when>
|
8871
|
-
<xsl:otherwise>
|
8872
|
-
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
8873
|
-
</xsl:otherwise>
|
8874
|
-
</xsl:choose>
|
8875
|
-
</xsl:variable>
|
8905
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
8906
|
+
<xsl:variable name="src" select="concat('url(file:///', $src_external, ')')"/>
|
8876
8907
|
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
8877
8908
|
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
8878
8909
|
<xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
|
@@ -13007,7 +13038,9 @@
|
|
13007
13038
|
<xsl:template name="add_id">
|
13008
13039
|
<xsl:if test="not(@id)">
|
13009
13040
|
<!-- add @id - first element with @id plus '_element_name' -->
|
13010
|
-
<xsl:
|
13041
|
+
<xsl:variable name="prefix_id_" select="(.//*[@id])[1]/@id"/>
|
13042
|
+
<xsl:variable name="prefix_id"><xsl:value-of select="$prefix_id_"/><xsl:if test="normalize-space($prefix_id_) = ''"><xsl:value-of select="generate-id()"/></xsl:if></xsl:variable>
|
13043
|
+
<xsl:attribute name="id"><xsl:value-of select="$prefix_id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
|
13011
13044
|
</xsl:if>
|
13012
13045
|
</xsl:template>
|
13013
13046
|
|
@@ -14310,6 +14343,7 @@
|
|
14310
14343
|
<xsl:param name="formatted">false</xsl:param>
|
14311
14344
|
<xsl:param name="lang"/>
|
14312
14345
|
<xsl:param name="returnEmptyIfNotFound">false</xsl:param>
|
14346
|
+
<xsl:param name="bibdata_updated"/>
|
14313
14347
|
|
14314
14348
|
<xsl:variable name="curr_lang">
|
14315
14349
|
<xsl:choose>
|
@@ -14323,6 +14357,9 @@
|
|
14323
14357
|
|
14324
14358
|
<xsl:variable name="data_value">
|
14325
14359
|
<xsl:choose>
|
14360
|
+
<xsl:when test="$formatted = 'true' and string-length($bibdata_updated) != ''">
|
14361
|
+
<xsl:apply-templates select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
14362
|
+
</xsl:when>
|
14326
14363
|
<xsl:when test="$formatted = 'true'">
|
14327
14364
|
<xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
14328
14365
|
</xsl:when>
|
@@ -14494,14 +14531,8 @@
|
|
14494
14531
|
<xsl:value-of select="$src"/>
|
14495
14532
|
</xsl:when>
|
14496
14533
|
<xsl:otherwise>
|
14497
|
-
<xsl:
|
14498
|
-
|
14499
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
14500
|
-
</xsl:when>
|
14501
|
-
<xsl:otherwise>
|
14502
|
-
<xsl:value-of select="concat('url(file:///',$basepath, $src, ')')"/>
|
14503
|
-
</xsl:otherwise>
|
14504
|
-
</xsl:choose>
|
14534
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
14535
|
+
<xsl:value-of select="concat('url(file:///', $src_external, ')')"/>
|
14505
14536
|
</xsl:otherwise>
|
14506
14537
|
</xsl:choose>
|
14507
14538
|
</xsl:template>
|
@@ -14523,15 +14554,23 @@
|
|
14523
14554
|
<!-- END: insert cover page image -->
|
14524
14555
|
|
14525
14556
|
<!-- https://github.com/metanorma/docs/blob/main/109.adoc -->
|
14557
|
+
<xsl:variable name="regex_ja_spec_half_width_">
|
14558
|
+
\u0028 <!-- U+0028 LEFT PARENTHESIS (() -->
|
14559
|
+
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
14560
|
+
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
14561
|
+
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
14562
|
+
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
14563
|
+
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
14564
|
+
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
14565
|
+
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
14566
|
+
</xsl:variable>
|
14567
|
+
<xsl:variable name="regex_ja_spec_half_width" select="translate(normalize-space($regex_ja_spec_half_width_), ' ', '')"/>
|
14526
14568
|
<xsl:variable name="regex_ja_spec_">[
|
14527
14569
|
<!-- Rotate 90° clockwise -->
|
14528
|
-
|
14570
|
+
<xsl:value-of select="$regex_ja_spec_half_width"/>
|
14529
14571
|
\uFF08 <!-- U+FF08 FULLWIDTH LEFT PARENTHESIS (() -->
|
14530
|
-
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
14531
14572
|
\uFF09 <!-- U+FF09 FULLWIDTH RIGHT PARENTHESIS ()) -->
|
14532
|
-
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
14533
14573
|
\uFF5B <!-- U+FF5B FULLWIDTH LEFT CURLY BRACKET ({) -->
|
14534
|
-
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
14535
14574
|
\uFF5D <!-- U+FF5D FULLWIDTH RIGHT CURLY BRACKET (}) -->
|
14536
14575
|
\u3014 <!-- U+3014 LEFT TORTOISE SHELL BRACKET (〔) -->
|
14537
14576
|
\u3015 <!-- U+3015 RIGHT TORTOISE SHELL BRACKET (〕) -->
|
@@ -14539,21 +14578,16 @@
|
|
14539
14578
|
\u3011 <!-- U+3011 RIGHT BLACK LENTICULAR BRACKET (】) -->
|
14540
14579
|
\u300A <!-- U+300A LEFT DOUBLE ANGLE BRACKET (《) -->
|
14541
14580
|
\u300B <!-- U+300B RIGHT DOUBLE ANGLE BRACKET (》) -->
|
14542
|
-
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
14543
14581
|
\u300C <!-- U+300C LEFT CORNER BRACKET (「) -->
|
14544
|
-
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
14545
14582
|
\u300D <!-- U+300D RIGHT CORNER BRACKET (」) -->
|
14546
14583
|
\u300E <!-- U+300E LEFT WHITE CORNER BRACKET (『) -->
|
14547
14584
|
\u300F <!-- U+300F RIGHT WHITE CORNER BRACKET (』) -->
|
14548
|
-
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
14549
14585
|
\uFF3B <!-- U+FF3B FULLWIDTH LEFT SQUARE BRACKET ([) -->
|
14550
|
-
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
14551
14586
|
\uFF3D <!-- U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (]) -->
|
14552
14587
|
\u3008 <!-- U+3008 LEFT ANGLE BRACKET (〈) -->
|
14553
14588
|
\u3009 <!-- U+3009 RIGHT ANGLE BRACKET (〉) -->
|
14554
14589
|
\u3016 <!-- U+3016 LEFT WHITE LENTICULAR BRACKET (〖) -->
|
14555
14590
|
\u3017 <!-- U+3017 RIGHT WHITE LENTICULAR BRACKET (〗) -->
|
14556
|
-
|
14557
14591
|
\u301A <!-- U+301A LEFT WHITE SQUARE BRACKET (〚) -->
|
14558
14592
|
\u301B <!-- U+301B RIGHT WHITE SQUARE BRACKET (〛) -->
|
14559
14593
|
\u301C <!-- U+301C WAVE DASH (〜) -->
|
@@ -14585,6 +14619,7 @@
|
|
14585
14619
|
<xsl:variable name="regex_ja_spec"><xsl:value-of select="translate(normalize-space($regex_ja_spec_), ' ', '')"/></xsl:variable>
|
14586
14620
|
<xsl:template name="insertVerticalChar">
|
14587
14621
|
<xsl:param name="str"/>
|
14622
|
+
<xsl:param name="char_prev"/>
|
14588
14623
|
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
14589
14624
|
<xsl:param name="reference-orientation">90</xsl:param>
|
14590
14625
|
<xsl:param name="add_zero_width_space">false</xsl:param>
|
@@ -14594,53 +14629,99 @@
|
|
14594
14629
|
</xsl:when>
|
14595
14630
|
<xsl:otherwise>
|
14596
14631
|
<xsl:if test="string-length($str) > 0">
|
14597
|
-
|
14632
|
+
|
14633
|
+
<!-- <xsl:variable name="horizontal_mode" select="normalize-space(ancestor::*[local-name() = 'span'][@class = 'horizontal'] and 1 = 1)"/> -->
|
14598
14634
|
<xsl:variable name="char" select="substring($str,1,1)"/>
|
14599
|
-
<
|
14600
|
-
|
14601
|
-
|
14602
|
-
|
14603
|
-
|
14604
|
-
<xsl:
|
14605
|
-
<
|
14606
|
-
|
14607
|
-
|
14608
|
-
|
14609
|
-
|
14610
|
-
|
14611
|
-
|
14612
|
-
|
14613
|
-
|
14614
|
-
|
14615
|
-
|
14616
|
-
|
14617
|
-
|
14618
|
-
|
14619
|
-
|
14620
|
-
|
14621
|
-
</xsl:
|
14622
|
-
|
14635
|
+
<xsl:variable name="char_next" select="substring($str,2,1)"/>
|
14636
|
+
|
14637
|
+
<xsl:variable name="char_half_width" select="normalize-space(java:matches(java:java.lang.String.new($char), concat('([', $regex_ja_spec_half_width, ']{1,})')))"/>
|
14638
|
+
|
14639
|
+
<xsl:choose>
|
14640
|
+
<xsl:when test="$char_half_width = 'true'">
|
14641
|
+
<fo:inline>
|
14642
|
+
<xsl:attribute name="baseline-shift">7%</xsl:attribute>
|
14643
|
+
<xsl:value-of select="$char"/>
|
14644
|
+
</fo:inline>
|
14645
|
+
</xsl:when>
|
14646
|
+
<xsl:otherwise>
|
14647
|
+
<!-- namespace-uri(ancestor::*[local-name() = 'title']) != '' to skip title from $contents -->
|
14648
|
+
<xsl:if test="namespace-uri(ancestor::*[local-name() = 'title']) != '' and ($char_prev = '' and ../preceding-sibling::node())">
|
14649
|
+
<fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
|
14650
|
+
</xsl:if>
|
14651
|
+
<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm" role="SKIP" text-align-last="center">
|
14652
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
14653
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
14654
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
14655
|
+
</xsl:if>
|
14656
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
|
14657
|
+
<xsl:attribute name="reference-orientation">0</xsl:attribute>
|
14658
|
+
</xsl:if>
|
14659
|
+
<xsl:if test="$char = '゜' or $char = '。' or $char = '﹒' or $char = '.'">
|
14660
|
+
<!-- Rotate 180°:
|
14661
|
+
U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜)
|
14662
|
+
U+3002 IDEOGRAPHIC FULL STOP (。)
|
14663
|
+
U+FE52 SMALL FULL STOP (﹒)
|
14664
|
+
U+FF0E FULLWIDTH FULL STOP (.)
|
14665
|
+
-->
|
14666
|
+
<xsl:attribute name="reference-orientation">-90</xsl:attribute>
|
14667
|
+
</xsl:if>
|
14668
|
+
<fo:block-container width="1em" role="SKIP"><!-- border="0.5pt solid blue" -->
|
14669
|
+
<fo:block line-height="1em" role="SKIP">
|
14670
|
+
<!-- <xsl:choose>
|
14671
|
+
<xsl:when test="$horizontal_mode = 'true'">
|
14672
|
+
<xsl:value-of select="$str"/>
|
14673
|
+
</xsl:when>
|
14674
|
+
<xsl:otherwise>
|
14675
|
+
<xsl:value-of select="$char"/>
|
14676
|
+
</xsl:otherwise>
|
14677
|
+
</xsl:choose> -->
|
14623
14678
|
<xsl:value-of select="$char"/>
|
14624
|
-
</
|
14625
|
-
</
|
14626
|
-
</fo:
|
14627
|
-
|
14628
|
-
|
14629
|
-
|
14630
|
-
|
14631
|
-
|
14632
|
-
|
14633
|
-
|
14634
|
-
|
14635
|
-
<xsl:
|
14636
|
-
|
14637
|
-
|
14638
|
-
|
14679
|
+
</fo:block>
|
14680
|
+
</fo:block-container>
|
14681
|
+
</fo:inline-container>
|
14682
|
+
<xsl:if test="namespace-uri(ancestor::*[local-name() = 'title']) != '' and ($char_next != '' or ../following-sibling::node())">
|
14683
|
+
<fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
|
14684
|
+
</xsl:if>
|
14685
|
+
</xsl:otherwise>
|
14686
|
+
</xsl:choose>
|
14687
|
+
|
14688
|
+
<xsl:if test="$add_zero_width_space = 'true' and ($char = ',' or $char = '.' or $char = ' ' or $char = '·' or $char = ')' or $char = ']' or $char = '}' or $char = '/')"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
14689
|
+
<!-- <xsl:if test="$horizontal_mode = 'false'"> -->
|
14690
|
+
<xsl:call-template name="insertVerticalChar">
|
14691
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
14692
|
+
<xsl:with-param name="char_prev" select="$char"/>
|
14693
|
+
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
14694
|
+
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
14695
|
+
<xsl:with-param name="add_zero_width_space" select="$add_zero_width_space"/>
|
14696
|
+
</xsl:call-template>
|
14697
|
+
<!-- </xsl:if> -->
|
14639
14698
|
</xsl:if>
|
14640
14699
|
</xsl:otherwise>
|
14641
14700
|
</xsl:choose>
|
14642
14701
|
</xsl:template>
|
14643
14702
|
|
14703
|
+
<xsl:template name="insertHorizontalChars">
|
14704
|
+
<xsl:param name="str"/>
|
14705
|
+
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
14706
|
+
<xsl:param name="reference-orientation">90</xsl:param>
|
14707
|
+
<xsl:param name="add_zero_width_space">false</xsl:param>
|
14708
|
+
<xsl:choose>
|
14709
|
+
<xsl:otherwise>
|
14710
|
+
<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm" role="SKIP">
|
14711
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
14712
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
14713
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
14714
|
+
</xsl:if>
|
14715
|
+
<fo:block-container width="1em" role="SKIP"> <!-- border="0.5pt solid green" -->
|
14716
|
+
<fo:block line-height="1em" role="SKIP">
|
14717
|
+
<xsl:value-of select="$str"/>
|
14718
|
+
</fo:block>
|
14719
|
+
</fo:block-container>
|
14720
|
+
</fo:inline-container>
|
14721
|
+
</xsl:otherwise>
|
14722
|
+
</xsl:choose>
|
14723
|
+
</xsl:template>
|
14724
|
+
|
14644
14725
|
<xsl:template name="number-to-words">
|
14645
14726
|
<xsl:param name="number"/>
|
14646
14727
|
<xsl:param name="first"/>
|
@@ -2,7 +2,6 @@ require "isodoc"
|
|
2
2
|
require "metanorma-generic"
|
3
3
|
require "metanorma-iso"
|
4
4
|
require_relative "init"
|
5
|
-
require_relative "index"
|
6
5
|
require_relative "doccontrol"
|
7
6
|
require_relative "../../relaton/render/general"
|
8
7
|
require_relative "presentation_blocks"
|
@@ -33,16 +32,6 @@ module IsoDoc
|
|
33
32
|
super
|
34
33
|
end
|
35
34
|
|
36
|
-
# KILL
|
37
|
-
def annex1x(elem)
|
38
|
-
@jcgm and return super
|
39
|
-
elem["unnumbered"] == "true" and return
|
40
|
-
lbl = @xrefs.anchor(elem["id"], :label)
|
41
|
-
t = elem.at(ns("./title")) and
|
42
|
-
t.children = "<strong>#{to_xml(t.children)}</strong>"
|
43
|
-
prefix_name(elem, ".<tab/>", lbl, "title")
|
44
|
-
end
|
45
|
-
|
46
35
|
def annex_delim(elem)
|
47
36
|
@jcgm and return super
|
48
37
|
".<tab/>"
|
@@ -63,19 +52,6 @@ module IsoDoc
|
|
63
52
|
super
|
64
53
|
end
|
65
54
|
|
66
|
-
# KILL
|
67
|
-
def prefix_namex(node, delims, number, elem)
|
68
|
-
number.nil? || number.empty? and return
|
69
|
-
unless name = node.at(ns("./#{elem}[not(@type = 'quoted')]"))
|
70
|
-
node.at(ns("./#{elem}[@type = 'quoted']")) and return
|
71
|
-
node.add_first_child "<#{elem}></#{elem}>"
|
72
|
-
name = node.children.first
|
73
|
-
end
|
74
|
-
if name.children.empty? then name.add_child(cleanup_entities(number))
|
75
|
-
else (name.children.first.previous = "#{number}#{delim}")
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
55
|
def prefix_name(node, delims, number, elem)
|
80
56
|
if n = node.at(ns("./#{elem}[@type = 'quoted']"))
|
81
57
|
n1 = n.dup
|
@@ -204,6 +180,24 @@ module IsoDoc
|
|
204
180
|
termsource_add_modification_text(elem.at(ns("./modification")))
|
205
181
|
end
|
206
182
|
|
183
|
+
def enable_indexsect
|
184
|
+
true
|
185
|
+
end
|
186
|
+
|
187
|
+
def index1(docxml, indexsect, index)
|
188
|
+
index.keys.sort.each do |k|
|
189
|
+
c = indexsect.add_child "<clause #{add_id}><title>#{k}</title><ul></ul></clause>"
|
190
|
+
words = index[k].keys.each_with_object({}) do |w, v|
|
191
|
+
v[sortable(w).downcase] = w
|
192
|
+
end
|
193
|
+
words.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
194
|
+
c.first.at(ns("./ul")).add_child index_entries(words, index[k], w)
|
195
|
+
end
|
196
|
+
end
|
197
|
+
docxml.xpath(ns("//indexsect//xref")).each { |x| x.children.remove }
|
198
|
+
@xrefs.bookmark_anchor_names(docxml)
|
199
|
+
end
|
200
|
+
|
207
201
|
include Init
|
208
202
|
end
|
209
203
|
end
|
data/lib/isodoc/bipm/xref.rb
CHANGED
@@ -59,14 +59,6 @@ module IsoDoc
|
|
59
59
|
"./term[#{UNNUM}] | ./terms[#{UNNUM}] | " \
|
60
60
|
"./definitions[#{UNNUM}]".freeze
|
61
61
|
|
62
|
-
# KILL
|
63
|
-
def section_name_anchors(clause, num, lvl)
|
64
|
-
lbl = @jcgm ? "clause_jcgm" : "clause"
|
65
|
-
@anchors[clause["id"]] =
|
66
|
-
{ label: num.print, xref: l10n("#{@labels[lbl]} #{num.print}"),
|
67
|
-
level: lvl, type: "clause", elem: @labels[lbl] }
|
68
|
-
end
|
69
|
-
|
70
62
|
def section_name_anchors(clause, num, level)
|
71
63
|
lbl = @jcgm ? "clause_jcgm" : "clause"
|
72
64
|
xref = labelled_autonum(@labels[lbl], num)
|
@@ -77,21 +69,6 @@ module IsoDoc
|
|
77
69
|
elem: @labels[lbl] }
|
78
70
|
end
|
79
71
|
|
80
|
-
# KILL
|
81
|
-
def section_names(clause, num, lvl)
|
82
|
-
clause.nil? and return num
|
83
|
-
num.increment(clause)
|
84
|
-
@anchors[clause["id"]] = section_name_anchors(clause, num, lvl)
|
85
|
-
i = Counter.new(0, prefix: num.print)
|
86
|
-
clause.xpath(ns(NUMBERED_SUBCLAUSES)).each do |c|
|
87
|
-
section_names1(c, i.increment(c).print, lvl + 1)
|
88
|
-
end
|
89
|
-
clause.xpath(ns(UNNUMBERED_SUBCLAUSES)).each do |c|
|
90
|
-
unnumbered_section_names1(c, lvl + 1)
|
91
|
-
end
|
92
|
-
num
|
93
|
-
end
|
94
|
-
|
95
72
|
def section_names(clause, num, lvl)
|
96
73
|
unnumbered_section_name?(clause) and return num
|
97
74
|
num.increment(clause)
|
@@ -135,7 +112,7 @@ module IsoDoc
|
|
135
112
|
section_names1(c, lbl, i.increment(c).print, level + 1)
|
136
113
|
end
|
137
114
|
clause.xpath(ns(UNNUMBERED_SUBCLAUSES)).each do |c|
|
138
|
-
unnumbered_section_names1(c,
|
115
|
+
unnumbered_section_names1(c, level + 1)
|
139
116
|
end
|
140
117
|
end
|
141
118
|
|
@@ -180,7 +157,7 @@ module IsoDoc
|
|
180
157
|
@anchors[clause["id"]] = annex_name_anchors(clause, lbl)
|
181
158
|
if @klass.single_term_clause?(clause)
|
182
159
|
annex_names1(clause.at(ns("./references | ./terms | ./definitions")),
|
183
|
-
|
160
|
+
nil, "#{prefix}#{num}", 1)
|
184
161
|
else
|
185
162
|
i = Counter.new(0)
|
186
163
|
clause.xpath(ns(NUMBERED_SUBCLAUSES)).each do |c|
|
@@ -202,8 +179,8 @@ module IsoDoc
|
|
202
179
|
lbl = semx(clause, lbl, "title")
|
203
180
|
@anchors[clause["id"]] = unnumbered_annex_anchors(lbl)
|
204
181
|
if @klass.single_term_clause?(clause)
|
205
|
-
|
206
|
-
|
182
|
+
unnumbered_annex_names1(clause.at(ns("./references | ./terms | ./definitions")),
|
183
|
+
1)
|
207
184
|
else
|
208
185
|
clause.xpath(ns(SUBCLAUSES))
|
209
186
|
.each { |c| unnumbered_annex_names1(c, 2) }
|
@@ -25,14 +25,14 @@ template:
|
|
25
25
|
# TODO: omitted: author ids, additional info for component part, subsidiary titles of host resource, rights metadata, distributor, relationships
|
26
26
|
journal: "<em>{{ title}}</em> [{{medium}}] . ({% if place %}{{place}}{%else%}{{ labels['no_place']}}{%endif%}:_{{publisher}}). ({{date}}). {{size}}. {{extent}}. {{ authoritative_identifier | join: '. ' }}. {{ uri }}. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
|
27
27
|
# TODO subsidiary titles, rights metadata, item attributes, relationships
|
28
|
-
article: "{{ creatornames }} ({{role | capitalize}}) ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} {{
|
28
|
+
article: "{{ creatornames }} ({{role | capitalize}}) ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} {{ title }}. <em>{{ series }}</em>. [{{medium}}] {{draft}} . {{size}}. {{ extent }}. {{ authoritative_identifier | join: '. ' }}. {{ uri }}. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
|
29
29
|
# TODO: omitted: author ids, subsidiary titles, rights metadata, distributor, item attributes, relationships; newspapers
|
30
30
|
software: "{{ creatornames }} ({{ role | capitalize}}) ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} <em>{{ title }}</em> . {{ labels['version'] | capitalize }}_{{ edition_raw }} {{draft}} . [{{medium | capitalize}}]. ({% if place %}{{place}}{%else%}{{ labels['no_place']}}{%endif%}:_{{publisher}}). {{ authoritative_identifier | join: '. ' }}. {{ uri }}. {{size}}. {{ extent}}. [{{ labels['viewed'] }}:_{{date_accessed}}]. "
|
31
31
|
# TODO: omitted: author ids, subsidiary titles, subsidiary creators, copyright, license, distributor, system requirements, relationships
|
32
32
|
electronic resource: software
|
33
|
-
standard: "{% if home_standard %}<em>{{title}}</em>, _{{extent}}{%else%}{% if creatornames %}{{ creatornames }} ({{ role | capitalize}}){%else%}{{ publisher}}{%endif%} . ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} <em>{{ title }}</em> ({{nistpublisher}}), {{draft }}
|
33
|
+
standard: "{% if home_standard %}<em>{{title}}</em>, _{{extent}}{%else%}{% if creatornames %}{{ creatornames }} ({{ role | capitalize}}){%else%}{{ publisher}}{%endif%} . ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} <em>{{ title }}</em> ({{nistpublisher}}), {{draft }} . [{{ medium | capitalize }}]. {{size}}. {{ extent }}. {{ authoritative_identifier | join: '. ' }}. {{ uri }}. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}].{%endif%}"
|
34
34
|
# TODO: omitted: author ids, subsidiary titles, rights metadata, distributor, persistent identifier, item attributes, relationships
|
35
|
-
techreport: "{% if creatornames %}{{ creatornames }} ({{ role | capitalize}}){%else%}{{ publisher}}{%endif%} . ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} <em>{{ title }}</em> ({{nistpublisher}}), {{draft }}
|
35
|
+
techreport: "{% if creatornames %}{{ creatornames }} ({{ role | capitalize}}){%else%}{{ publisher}}{%endif%} . ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} <em>{{ title }}</em> ({{nistpublisher}}), {{draft }} . [{{ medium | capitalize }}]. {{size}}. {{ extent }}. {{ authoritative_identifier | join: '. ' }}. {{ uri }}. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
|
36
36
|
dataset: "{{ creatornames }} ({{ role | capitalize }}) ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} <em>{{ title }}</em> . {{ labels['version'] | capitalize }}_{{ edition_raw }} [{{medium }}]. {{ labels['in'] | capitalize }}:_{{series}}. {{ authoritative_identifier | join: '. ' }}. {{ uri }}. {{ size }}. {{ extent}}. [{{ labels['viewed'] }}:_{{date_accessed}}]. "
|
37
37
|
# TODO: omitted: author ids, system requirements, host archive, copyright, license, data source, distributor, usage instructions, relationships, provenance
|
38
38
|
website: "{{ creatornames }} ({{ role | capitalize }}) ({{date}} ({{ labels['updated'] }}_{{date_updated}}) {% if date %}){% endif %} <em>{{ title }}</em> . {{ labels['version'] | capitalize }}_{{ edition_raw }} [{{medium }}] ({% if place %}{{place}}{%else%}{{ labels['no_place']}}{%endif%}:_{{publisher}}) {{ draft }} . {{ authoritative_identifier | join: '. ' }}. {{ uri }}. [{{ labels['viewed'] }}:_{{date_accessed}}]. "
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-bipm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-12-
|
11
|
+
date: 2024-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-generic
|
@@ -266,7 +266,6 @@ files:
|
|
266
266
|
- lib/isodoc/bipm/i18n-en.yaml
|
267
267
|
- lib/isodoc/bipm/i18n-fr.yaml
|
268
268
|
- lib/isodoc/bipm/i18n.rb
|
269
|
-
- lib/isodoc/bipm/index.rb
|
270
269
|
- lib/isodoc/bipm/init.rb
|
271
270
|
- lib/isodoc/bipm/jcgm.standard.xsl
|
272
271
|
- lib/isodoc/bipm/metadata.rb
|