metanorma-bipm 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1736,6 +1736,10 @@
1736
1736
  <xsl:text>Édition </xsl:text>
1737
1737
  </title-edition>
1738
1738
 
1739
+ <title-edition lang="ru">
1740
+ <xsl:text>Издание </xsl:text>
1741
+ </title-edition>
1742
+
1739
1743
  <!-- These titles of Table of contents renders different than determined in localized-strings -->
1740
1744
  <title-toc lang="en">
1741
1745
 
@@ -1762,7 +1766,11 @@
1762
1766
 
1763
1767
 
1764
1768
 
1765
- </title-part>
1769
+ </title-part>
1770
+ <title-part lang="ru">
1771
+
1772
+
1773
+ </title-part>
1766
1774
  <title-part lang="zh">第 # 部分:</title-part>
1767
1775
 
1768
1776
  <title-subpart lang="en">Sub-part #</title-subpart>
@@ -1778,6 +1786,7 @@
1778
1786
 
1779
1787
  <title-summary lang="en">Summary</title-summary>
1780
1788
 
1789
+ <title-continued lang="ru">(продолжение)</title-continued>
1781
1790
  <title-continued lang="en">(continued)</title-continued>
1782
1791
  <title-continued lang="fr">(continué)</title-continued>
1783
1792
 
@@ -2546,13 +2555,19 @@
2546
2555
  </xsl:attribute-set><xsl:variable name="color-added-text">
2547
2556
  <xsl:text>rgb(0, 255, 0)</xsl:text>
2548
2557
  </xsl:variable><xsl:attribute-set name="add-style">
2549
- <xsl:attribute name="color">red</xsl:attribute>
2550
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2551
- <!-- <xsl:attribute name="color">black</xsl:attribute>
2552
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2553
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2554
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2555
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
2558
+
2559
+ <xsl:attribute name="color">red</xsl:attribute>
2560
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2561
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
2562
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2563
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2564
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2565
+
2566
+ </xsl:attribute-set><xsl:variable name="add-style">
2567
+ <add-style xsl:use-attribute-sets="add-style"/>
2568
+ </xsl:variable><xsl:template name="append_add-style">
2569
+ <xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
2570
+ </xsl:template><xsl:variable name="color-deleted-text">
2556
2571
  <xsl:text>red</xsl:text>
2557
2572
  </xsl:variable><xsl:attribute-set name="del-style">
2558
2573
  <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
@@ -2977,14 +2992,42 @@
2977
2992
  <xsl:attribute name="margin-left">25mm</xsl:attribute>
2978
2993
 
2979
2994
  </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
2995
+ <xsl:variable name="nodes_preface_">
2996
+ <xsl:for-each select="/*/*[local-name()='preface']/*">
2997
+ <node id="{@id}"/>
2998
+ </xsl:for-each>
2999
+ </xsl:variable>
3000
+ <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
3001
+
2980
3002
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2981
3003
  <xsl:sort select="@displayorder" data-type="number"/>
3004
+
3005
+ <!-- process Section's title -->
3006
+ <xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
3007
+ <xsl:if test="$preceding-sibling_id != ''">
3008
+ <xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
3009
+ </xsl:if>
3010
+
2982
3011
  <xsl:apply-templates select="." mode="contents"/>
2983
3012
  </xsl:for-each>
2984
3013
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2985
3014
 
3015
+ <xsl:variable name="nodes_sections_">
3016
+ <xsl:for-each select="/*/*[local-name()='sections']/*">
3017
+ <node id="{@id}"/>
3018
+ </xsl:for-each>
3019
+ </xsl:variable>
3020
+ <xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
3021
+
2986
3022
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
2987
3023
  <xsl:sort select="@displayorder" data-type="number"/>
3024
+
3025
+ <!-- process Section's title -->
3026
+ <xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
3027
+ <xsl:if test="$preceding-sibling_id != ''">
3028
+ <xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
3029
+ </xsl:if>
3030
+
2988
3031
  <xsl:apply-templates select="." mode="contents"/>
2989
3032
  </xsl:for-each>
2990
3033
 
@@ -3119,7 +3162,7 @@
3119
3162
  </xsl:call-template>
3120
3163
  </xsl:if>
3121
3164
  </xsl:variable>
3122
- <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
3165
+ <!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
3123
3166
 
3124
3167
 
3125
3168
  <xsl:variable name="margin-side">
@@ -3385,7 +3428,7 @@
3385
3428
  <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
3386
3429
  <!-- 2009 thinspace -->
3387
3430
  <!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
3388
- <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/>
3431
+ <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​­', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
3389
3432
  </xsl:call-template>
3390
3433
  </xsl:variable>
3391
3434
  <xsl:variable name="max_length">
@@ -5104,6 +5147,9 @@
5104
5147
  </fo:inline>
5105
5148
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
5106
5149
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
5150
+ <xsl:if test="parent::*[local-name() = 'add']">
5151
+ <xsl:call-template name="append_add-style"/>
5152
+ </xsl:if>
5107
5153
  <xsl:apply-templates/>
5108
5154
  </fo:basic-link>
5109
5155
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -5201,6 +5247,13 @@
5201
5247
 
5202
5248
 
5203
5249
 
5250
+ <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5251
+ <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5252
+ <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
5253
+ <xsl:call-template name="append_add-style"/>
5254
+ </xsl:if>
5255
+
5256
+
5204
5257
  <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
5205
5258
  <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
5206
5259
  <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
@@ -5239,6 +5292,12 @@
5239
5292
 
5240
5293
 
5241
5294
 
5295
+ <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5296
+ <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5297
+ <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
5298
+ <xsl:call-template name="append_add-style"/>
5299
+ </xsl:if>
5300
+
5242
5301
  <xsl:apply-templates select="*[local-name() = 'name']"/>
5243
5302
 
5244
5303
  </fo:inline>
@@ -5290,6 +5349,7 @@
5290
5349
  </fo:block>
5291
5350
  </xsl:template><xsl:template match="*[local-name() = 'term']">
5292
5351
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
5352
+
5293
5353
 
5294
5354
 
5295
5355
 
@@ -5726,7 +5786,11 @@
5726
5786
  <xsl:value-of select="."/>
5727
5787
  </xsl:template><xsl:template match="node()" mode="contents">
5728
5788
  <xsl:apply-templates mode="contents"/>
5729
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
5789
+ </xsl:template><xsl:template match="*[local-name() = 'preface' or local-name() = 'sections']/*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" mode="contents_no_displayorder">
5790
+ <xsl:call-template name="contents_section-title"/>
5791
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
5792
+ <xsl:call-template name="contents_section-title"/>
5793
+ </xsl:template><xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title']/@depth or ../*[local-name() = 'title']/@depth = 1)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
5730
5794
  <xsl:variable name="level">
5731
5795
  <xsl:call-template name="getLevel">
5732
5796
  <xsl:with-param name="depth" select="@depth"/>
@@ -7053,7 +7117,7 @@
7053
7117
 
7054
7118
 
7055
7119
 
7056
-
7120
+
7057
7121
  <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
7058
7122
  </fo:list-block>
7059
7123
  <!-- <xsl:for-each select="./iho:note">
@@ -7071,6 +7135,11 @@
7071
7135
 
7072
7136
 
7073
7137
 
7138
+ <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
7139
+ <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
7140
+ <xsl:call-template name="append_add-style"/>
7141
+ </xsl:if>
7142
+
7074
7143
  <xsl:call-template name="getListItemFormat"/>
7075
7144
  </fo:block>
7076
7145
  </fo:list-item-label>
@@ -8152,53 +8221,153 @@
8152
8221
  <xsl:param name="first"/>
8153
8222
  <xsl:if test="$number != ''">
8154
8223
  <xsl:variable name="words">
8155
- <words>
8156
- <word cardinal="1">One-</word>
8157
- <word ordinal="1">First </word>
8158
- <word cardinal="2">Two-</word>
8159
- <word ordinal="2">Second </word>
8160
- <word cardinal="3">Three-</word>
8161
- <word ordinal="3">Third </word>
8162
- <word cardinal="4">Four-</word>
8163
- <word ordinal="4">Fourth </word>
8164
- <word cardinal="5">Five-</word>
8165
- <word ordinal="5">Fifth </word>
8166
- <word cardinal="6">Six-</word>
8167
- <word ordinal="6">Sixth </word>
8168
- <word cardinal="7">Seven-</word>
8169
- <word ordinal="7">Seventh </word>
8170
- <word cardinal="8">Eight-</word>
8171
- <word ordinal="8">Eighth </word>
8172
- <word cardinal="9">Nine-</word>
8173
- <word ordinal="9">Ninth </word>
8174
- <word ordinal="10">Tenth </word>
8175
- <word ordinal="11">Eleventh </word>
8176
- <word ordinal="12">Twelfth </word>
8177
- <word ordinal="13">Thirteenth </word>
8178
- <word ordinal="14">Fourteenth </word>
8179
- <word ordinal="15">Fifteenth </word>
8180
- <word ordinal="16">Sixteenth </word>
8181
- <word ordinal="17">Seventeenth </word>
8182
- <word ordinal="18">Eighteenth </word>
8183
- <word ordinal="19">Nineteenth </word>
8184
- <word cardinal="20">Twenty-</word>
8185
- <word ordinal="20">Twentieth </word>
8186
- <word cardinal="30">Thirty-</word>
8187
- <word ordinal="30">Thirtieth </word>
8188
- <word cardinal="40">Forty-</word>
8189
- <word ordinal="40">Fortieth </word>
8190
- <word cardinal="50">Fifty-</word>
8191
- <word ordinal="50">Fiftieth </word>
8192
- <word cardinal="60">Sixty-</word>
8193
- <word ordinal="60">Sixtieth </word>
8194
- <word cardinal="70">Seventy-</word>
8195
- <word ordinal="70">Seventieth </word>
8196
- <word cardinal="80">Eighty-</word>
8197
- <word ordinal="80">Eightieth </word>
8198
- <word cardinal="90">Ninety-</word>
8199
- <word ordinal="90">Ninetieth </word>
8200
- <word cardinal="100">Hundred-</word>
8201
- <word ordinal="100">Hundredth </word>
8224
+ <words>
8225
+ <xsl:choose>
8226
+ <xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
8227
+ <word cardinal="1">Une-</word>
8228
+ <word ordinal="1">Première </word>
8229
+ <word cardinal="2">Deux-</word>
8230
+ <word ordinal="2">Seconde </word>
8231
+ <word cardinal="3">Trois-</word>
8232
+ <word ordinal="3">Tierce </word>
8233
+ <word cardinal="4">Quatre-</word>
8234
+ <word ordinal="4">Quatrième </word>
8235
+ <word cardinal="5">Cinq-</word>
8236
+ <word ordinal="5">Cinquième </word>
8237
+ <word cardinal="6">Six-</word>
8238
+ <word ordinal="6">Sixième </word>
8239
+ <word cardinal="7">Sept-</word>
8240
+ <word ordinal="7">Septième </word>
8241
+ <word cardinal="8">Huit-</word>
8242
+ <word ordinal="8">Huitième </word>
8243
+ <word cardinal="9">Neuf-</word>
8244
+ <word ordinal="9">Neuvième </word>
8245
+ <word ordinal="10">Dixième </word>
8246
+ <word ordinal="11">Onzième </word>
8247
+ <word ordinal="12">Douzième </word>
8248
+ <word ordinal="13">Treizième </word>
8249
+ <word ordinal="14">Quatorzième </word>
8250
+ <word ordinal="15">Quinzième </word>
8251
+ <word ordinal="16">Seizième </word>
8252
+ <word ordinal="17">Dix-septième </word>
8253
+ <word ordinal="18">Dix-huitième </word>
8254
+ <word ordinal="19">Dix-neuvième </word>
8255
+ <word cardinal="20">Vingt-</word>
8256
+ <word ordinal="20">Vingtième </word>
8257
+ <word cardinal="30">Trente-</word>
8258
+ <word ordinal="30">Trentième </word>
8259
+ <word cardinal="40">Quarante-</word>
8260
+ <word ordinal="40">Quarantième </word>
8261
+ <word cardinal="50">Cinquante-</word>
8262
+ <word ordinal="50">Cinquantième </word>
8263
+ <word cardinal="60">Soixante-</word>
8264
+ <word ordinal="60">Soixantième </word>
8265
+ <word cardinal="70">Septante-</word>
8266
+ <word ordinal="70">Septantième </word>
8267
+ <word cardinal="80">Huitante-</word>
8268
+ <word ordinal="80">Huitantième </word>
8269
+ <word cardinal="90">Nonante-</word>
8270
+ <word ordinal="90">Nonantième </word>
8271
+ <word cardinal="100">Cent-</word>
8272
+ <word ordinal="100">Centième </word>
8273
+ </xsl:when>
8274
+ <xsl:when test="$lang = 'ru'">
8275
+ <word cardinal="1">Одна-</word>
8276
+ <word ordinal="1">Первое </word>
8277
+ <word cardinal="2">Две-</word>
8278
+ <word ordinal="2">Второе </word>
8279
+ <word cardinal="3">Три-</word>
8280
+ <word ordinal="3">Третье </word>
8281
+ <word cardinal="4">Четыре-</word>
8282
+ <word ordinal="4">Четвертое </word>
8283
+ <word cardinal="5">Пять-</word>
8284
+ <word ordinal="5">Пятое </word>
8285
+ <word cardinal="6">Шесть-</word>
8286
+ <word ordinal="6">Шестое </word>
8287
+ <word cardinal="7">Семь-</word>
8288
+ <word ordinal="7">Седьмое </word>
8289
+ <word cardinal="8">Восемь-</word>
8290
+ <word ordinal="8">Восьмое </word>
8291
+ <word cardinal="9">Девять-</word>
8292
+ <word ordinal="9">Девятое </word>
8293
+ <word ordinal="10">Десятое </word>
8294
+ <word ordinal="11">Одиннадцатое </word>
8295
+ <word ordinal="12">Двенадцатое </word>
8296
+ <word ordinal="13">Тринадцатое </word>
8297
+ <word ordinal="14">Четырнадцатое </word>
8298
+ <word ordinal="15">Пятнадцатое </word>
8299
+ <word ordinal="16">Шестнадцатое </word>
8300
+ <word ordinal="17">Семнадцатое </word>
8301
+ <word ordinal="18">Восемнадцатое </word>
8302
+ <word ordinal="19">Девятнадцатое </word>
8303
+ <word cardinal="20">Двадцать-</word>
8304
+ <word ordinal="20">Двадцатое </word>
8305
+ <word cardinal="30">Тридцать-</word>
8306
+ <word ordinal="30">Тридцатое </word>
8307
+ <word cardinal="40">Сорок-</word>
8308
+ <word ordinal="40">Сороковое </word>
8309
+ <word cardinal="50">Пятьдесят-</word>
8310
+ <word ordinal="50">Пятидесятое </word>
8311
+ <word cardinal="60">Шестьдесят-</word>
8312
+ <word ordinal="60">Шестидесятое </word>
8313
+ <word cardinal="70">Семьдесят-</word>
8314
+ <word ordinal="70">Семидесятое </word>
8315
+ <word cardinal="80">Восемьдесят-</word>
8316
+ <word ordinal="80">Восьмидесятое </word>
8317
+ <word cardinal="90">Девяносто-</word>
8318
+ <word ordinal="90">Девяностое </word>
8319
+ <word cardinal="100">Сто-</word>
8320
+ <word ordinal="100">Сотое </word>
8321
+ </xsl:when>
8322
+ <xsl:otherwise> <!-- default english -->
8323
+ <word cardinal="1">One-</word>
8324
+ <word ordinal="1">First </word>
8325
+ <word cardinal="2">Two-</word>
8326
+ <word ordinal="2">Second </word>
8327
+ <word cardinal="3">Three-</word>
8328
+ <word ordinal="3">Third </word>
8329
+ <word cardinal="4">Four-</word>
8330
+ <word ordinal="4">Fourth </word>
8331
+ <word cardinal="5">Five-</word>
8332
+ <word ordinal="5">Fifth </word>
8333
+ <word cardinal="6">Six-</word>
8334
+ <word ordinal="6">Sixth </word>
8335
+ <word cardinal="7">Seven-</word>
8336
+ <word ordinal="7">Seventh </word>
8337
+ <word cardinal="8">Eight-</word>
8338
+ <word ordinal="8">Eighth </word>
8339
+ <word cardinal="9">Nine-</word>
8340
+ <word ordinal="9">Ninth </word>
8341
+ <word ordinal="10">Tenth </word>
8342
+ <word ordinal="11">Eleventh </word>
8343
+ <word ordinal="12">Twelfth </word>
8344
+ <word ordinal="13">Thirteenth </word>
8345
+ <word ordinal="14">Fourteenth </word>
8346
+ <word ordinal="15">Fifteenth </word>
8347
+ <word ordinal="16">Sixteenth </word>
8348
+ <word ordinal="17">Seventeenth </word>
8349
+ <word ordinal="18">Eighteenth </word>
8350
+ <word ordinal="19">Nineteenth </word>
8351
+ <word cardinal="20">Twenty-</word>
8352
+ <word ordinal="20">Twentieth </word>
8353
+ <word cardinal="30">Thirty-</word>
8354
+ <word ordinal="30">Thirtieth </word>
8355
+ <word cardinal="40">Forty-</word>
8356
+ <word ordinal="40">Fortieth </word>
8357
+ <word cardinal="50">Fifty-</word>
8358
+ <word ordinal="50">Fiftieth </word>
8359
+ <word cardinal="60">Sixty-</word>
8360
+ <word ordinal="60">Sixtieth </word>
8361
+ <word cardinal="70">Seventy-</word>
8362
+ <word ordinal="70">Seventieth </word>
8363
+ <word cardinal="80">Eighty-</word>
8364
+ <word ordinal="80">Eightieth </word>
8365
+ <word cardinal="90">Ninety-</word>
8366
+ <word ordinal="90">Ninetieth </word>
8367
+ <word cardinal="100">Hundred-</word>
8368
+ <word ordinal="100">Hundredth </word>
8369
+ </xsl:otherwise>
8370
+ </xsl:choose>
8202
8371
  </words>
8203
8372
  </xsl:variable>
8204
8373
 
@@ -8272,4 +8441,18 @@
8272
8441
  <xsl:otherwise>_</xsl:otherwise>
8273
8442
  </xsl:choose>
8274
8443
  </xsl:attribute>
8444
+ </xsl:template><xsl:template name="substring-after-last">
8445
+ <xsl:param name="value"/>
8446
+ <xsl:param name="delimiter"/>
8447
+ <xsl:choose>
8448
+ <xsl:when test="contains($value, $delimiter)">
8449
+ <xsl:call-template name="substring-after-last">
8450
+ <xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
8451
+ <xsl:with-param name="delimiter" select="$delimiter"/>
8452
+ </xsl:call-template>
8453
+ </xsl:when>
8454
+ <xsl:otherwise>
8455
+ <xsl:value-of select="$value"/>
8456
+ </xsl:otherwise>
8457
+ </xsl:choose>
8275
8458
  </xsl:template></xsl:stylesheet>
@@ -31,12 +31,12 @@ module IsoDoc
31
31
  if docxml.root.name == "metanorma-collection" &&
32
32
  docxml.at("#{q}[. = 'fr']", "m" => n) &&
33
33
  docxml.at("#{q}[. = 'en']", "m" => n)
34
- "#{super} --split-by-language"
35
- else
36
- super
34
+ return super.tap do |h|
35
+ h["--split-by-language"] = nil
36
+ end
37
37
  end
38
+ super
38
39
  end
39
40
  end
40
41
  end
41
42
  end
42
-
@@ -76,7 +76,7 @@ module IsoDoc
76
76
  lbl = @jcgm ? "clause_jcgm" : "clause"
77
77
  @anchors[clause["id"]] =
78
78
  { label: num.print, xref: l10n("#{@labels[lbl]} #{num.print}"),
79
- level: lvl, type: "clause" }
79
+ level: lvl, type: "clause", elem: @labels[lbl] }
80
80
  end
81
81
 
82
82
  def section_names(clause, num, lvl)
@@ -110,7 +110,7 @@ module IsoDoc
110
110
  lbl = @jcgm ? "" : "#{@labels['subclause']} "
111
111
  @anchors[clause["id"]] =
112
112
  { label: num, level: level, xref: l10n("#{lbl}#{num}"),
113
- type: "clause" }
113
+ type: "clause", elem: lbl }
114
114
  end
115
115
 
116
116
  def section_names1(clause, num, level)
@@ -148,7 +148,7 @@ module IsoDoc
148
148
 
149
149
  def annex_name_anchors(clause, num)
150
150
  { label: annex_name_lbl(clause, num), type: "clause", value: num.to_s,
151
- xref: l10n("#{@annexlbl} #{num}"), level: 1 }
151
+ xref: l10n("#{@annexlbl} #{num}"), level: 1, elem: @annexlbl }
152
152
  end
153
153
 
154
154
  def annex_names(clause, num)
@@ -188,7 +188,7 @@ module IsoDoc
188
188
  def annex_names1_anchors(num, level)
189
189
  lbl = @jcgm ? "" : "#{@annexlbl} "
190
190
  { label: num, xref: l10n("#{lbl}#{num}"),
191
- level: level, type: "clause" }
191
+ level: level, type: "clause", elem: lbl }
192
192
  end
193
193
 
194
194
  def annex_names1(clause, num, level)
@@ -59,7 +59,7 @@
59
59
  <data type="boolean"/>
60
60
  </attribute>
61
61
  </optional>
62
- <text/>
62
+ <ref name="XrefBody"/>
63
63
  </element>
64
64
  </define>
65
65
  <define name="Clause-Section">
@@ -152,9 +152,7 @@
152
152
  <data type="boolean"/>
153
153
  </attribute>
154
154
  </optional>
155
- <oneOrMore>
156
- <ref name="PureTextElement"/>
157
- </oneOrMore>
155
+ <ref name="XrefBody"/>
158
156
  </element>
159
157
  </define>
160
158
  <define name="erefType">
@@ -188,6 +186,42 @@
188
186
  <ref name="PureTextElement"/>
189
187
  </oneOrMore>
190
188
  </define>
189
+ <define name="localityStack">
190
+ <element name="localityStack">
191
+ <optional>
192
+ <attribute name="connective">
193
+ <choice>
194
+ <value>and</value>
195
+ <value>or</value>
196
+ <value>from</value>
197
+ <value>to</value>
198
+ <value/>
199
+ </choice>
200
+ </attribute>
201
+ </optional>
202
+ <zeroOrMore>
203
+ <ref name="locality"/>
204
+ </zeroOrMore>
205
+ </element>
206
+ </define>
207
+ <define name="sourceLocalityStack">
208
+ <element name="sourceLocalityStack">
209
+ <optional>
210
+ <attribute name="connective">
211
+ <choice>
212
+ <value>and</value>
213
+ <value>or</value>
214
+ <value>from</value>
215
+ <value>to</value>
216
+ <value/>
217
+ </choice>
218
+ </attribute>
219
+ </optional>
220
+ <zeroOrMore>
221
+ <ref name="sourceLocality"/>
222
+ </zeroOrMore>
223
+ </element>
224
+ </define>
191
225
  <define name="ul">
192
226
  <element name="ul">
193
227
  <attribute name="id">
@@ -1098,6 +1132,16 @@
1098
1132
  </define>
1099
1133
  </include>
1100
1134
  <!-- end overrides -->
1135
+ <define name="image" combine="choice">
1136
+ <element name="svg">
1137
+ <oneOrMore>
1138
+ <choice>
1139
+ <text/>
1140
+ <ref name="AnyElement"/>
1141
+ </choice>
1142
+ </oneOrMore>
1143
+ </element>
1144
+ </define>
1101
1145
  <define name="MultilingualRenderingType">
1102
1146
  <choice>
1103
1147
  <value>common</value>
@@ -2631,4 +2675,30 @@
2631
2675
  </zeroOrMore>
2632
2676
  </element>
2633
2677
  </define>
2678
+ <define name="XrefBody">
2679
+ <zeroOrMore>
2680
+ <ref name="XrefTarget"/>
2681
+ </zeroOrMore>
2682
+ <oneOrMore>
2683
+ <ref name="PureTextElement"/>
2684
+ </oneOrMore>
2685
+ </define>
2686
+ <define name="XrefTarget">
2687
+ <element name="location">
2688
+ <attribute name="target">
2689
+ <data type="string">
2690
+ <param name="pattern">\i\c*|\c+#\c+</param>
2691
+ </data>
2692
+ </attribute>
2693
+ <attribute name="connective">
2694
+ <choice>
2695
+ <value>and</value>
2696
+ <value>or</value>
2697
+ <value>from</value>
2698
+ <value>to</value>
2699
+ <value/>
2700
+ </choice>
2701
+ </attribute>
2702
+ </element>
2703
+ </define>
2634
2704
  </grammar>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module BIPM
3
- VERSION = "2.0.3".freeze
3
+ VERSION = "2.0.4".freeze
4
4
  end
5
5
  end
@@ -39,4 +39,6 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency "sassc", "2.4.0"
40
40
  spec.add_development_dependency "simplecov", "~> 0.15"
41
41
  spec.add_development_dependency "timecop", "~> 0.9"
42
+ spec.add_development_dependency "vcr", "~> 5.0.0"
43
+ spec.add_development_dependency "webmock"
42
44
  end
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.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-07 00:00:00.000000000 Z
11
+ date: 2022-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -178,6 +178,34 @@ dependencies:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0.9'
181
+ - !ruby/object:Gem::Dependency
182
+ name: vcr
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 5.0.0
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 5.0.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: webmock
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
181
209
  description: |
182
210
  metanorma-vg lets you write Bureau International de Poids et Mesures (BIPM) standards in Metanorma syntax.
183
211