metanorma-ribose 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afce4df8078e939307df9a38c0cb603dcf2a74a9cfadb767d0aa9384eb563456
4
- data.tar.gz: 32135eb6eb812c9cea21c521aa1905c388ee07a179253db796c21b2de4acd9c5
3
+ metadata.gz: 9a21ab68ff679fa7e137987eb42da1fe84a3395e0aa4289464a689a7601c2584
4
+ data.tar.gz: 5c241f3b5a64623f02d3fd82e48cb9f99da6dd1d3bde0a00aba4932418d31483
5
5
  SHA512:
6
- metadata.gz: a2671c7646f5be2bab152569e1d2309e66c98ca46b5e1e4a345c1c13be7babc79aebfa9b02b12ebd561c517b9bdb3f5afd8dce91bfd7f4cfb93e1f171c45807c
7
- data.tar.gz: dea9e8f36d6fbf625921edb5535c06111995f8dcd7271fb2c077346b7b26f4b5e4319e7d8e185b8c98c2f16f4f5526ec94ee8fff1959a319a16ed7d6cd7a5503
6
+ metadata.gz: 24cc694393250970b0c8db8374d7be4c52b3ca473d42cb5e6d1ff6a223d25aa534d435816e0e354dd5b59fcfddab7e10038c478c884d1aa6ce603cd4e2d58b66
7
+ data.tar.gz: 11d88a39e147a99cf54fa845f58b69284681483a45f737c5cc83eccbf7cb624aa1cc3f907f17fd87b6af4c1d264319677294427de903b3cf170c1b365b418045
@@ -1189,6 +1189,10 @@
1189
1189
  <xsl:text>Édition </xsl:text>
1190
1190
  </title-edition>
1191
1191
 
1192
+ <title-edition lang="ru">
1193
+ <xsl:text>Издание </xsl:text>
1194
+ </title-edition>
1195
+
1192
1196
  <!-- These titles of Table of contents renders different than determined in localized-strings -->
1193
1197
  <title-toc lang="en">
1194
1198
 
@@ -1215,7 +1219,11 @@
1215
1219
 
1216
1220
 
1217
1221
 
1218
- </title-part>
1222
+ </title-part>
1223
+ <title-part lang="ru">
1224
+
1225
+
1226
+ </title-part>
1219
1227
  <title-part lang="zh">第 # 部分:</title-part>
1220
1228
 
1221
1229
  <title-subpart lang="en">Sub-part #</title-subpart>
@@ -1231,6 +1239,7 @@
1231
1239
 
1232
1240
  <title-summary lang="en">Summary</title-summary>
1233
1241
 
1242
+ <title-continued lang="ru">(продолжение)</title-continued>
1234
1243
  <title-continued lang="en">(continued)</title-continued>
1235
1244
  <title-continued lang="fr">(continué)</title-continued>
1236
1245
 
@@ -2036,13 +2045,19 @@
2036
2045
  </xsl:attribute-set><xsl:variable name="color-added-text">
2037
2046
  <xsl:text>rgb(0, 255, 0)</xsl:text>
2038
2047
  </xsl:variable><xsl:attribute-set name="add-style">
2039
- <xsl:attribute name="color">red</xsl:attribute>
2040
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2041
- <!-- <xsl:attribute name="color">black</xsl:attribute>
2042
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2043
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2044
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2045
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
2048
+
2049
+ <xsl:attribute name="color">red</xsl:attribute>
2050
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2051
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
2052
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2053
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2054
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2055
+
2056
+ </xsl:attribute-set><xsl:variable name="add-style">
2057
+ <add-style xsl:use-attribute-sets="add-style"/>
2058
+ </xsl:variable><xsl:template name="append_add-style">
2059
+ <xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
2060
+ </xsl:template><xsl:variable name="color-deleted-text">
2046
2061
  <xsl:text>red</xsl:text>
2047
2062
  </xsl:variable><xsl:attribute-set name="del-style">
2048
2063
  <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
@@ -2488,14 +2503,42 @@
2488
2503
 
2489
2504
 
2490
2505
  </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">
2506
+ <xsl:variable name="nodes_preface_">
2507
+ <xsl:for-each select="/*/*[local-name()='preface']/*">
2508
+ <node id="{@id}"/>
2509
+ </xsl:for-each>
2510
+ </xsl:variable>
2511
+ <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
2512
+
2491
2513
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2492
2514
  <xsl:sort select="@displayorder" data-type="number"/>
2515
+
2516
+ <!-- process Section's title -->
2517
+ <xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
2518
+ <xsl:if test="$preceding-sibling_id != ''">
2519
+ <xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
2520
+ </xsl:if>
2521
+
2493
2522
  <xsl:apply-templates select="." mode="contents"/>
2494
2523
  </xsl:for-each>
2495
2524
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2496
2525
 
2526
+ <xsl:variable name="nodes_sections_">
2527
+ <xsl:for-each select="/*/*[local-name()='sections']/*">
2528
+ <node id="{@id}"/>
2529
+ </xsl:for-each>
2530
+ </xsl:variable>
2531
+ <xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
2532
+
2497
2533
  <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']]">
2498
2534
  <xsl:sort select="@displayorder" data-type="number"/>
2535
+
2536
+ <!-- process Section's title -->
2537
+ <xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
2538
+ <xsl:if test="$preceding-sibling_id != ''">
2539
+ <xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
2540
+ </xsl:if>
2541
+
2499
2542
  <xsl:apply-templates select="." mode="contents"/>
2500
2543
  </xsl:for-each>
2501
2544
 
@@ -2637,7 +2680,7 @@
2637
2680
  </xsl:call-template>
2638
2681
  </xsl:if>
2639
2682
  </xsl:variable>
2640
- <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2683
+ <!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
2641
2684
 
2642
2685
 
2643
2686
  <xsl:variable name="margin-side">
@@ -2897,7 +2940,7 @@
2897
2940
  <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
2898
2941
  <!-- 2009 thinspace -->
2899
2942
  <!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
2900
- <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/>
2943
+ <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​­', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
2901
2944
  </xsl:call-template>
2902
2945
  </xsl:variable>
2903
2946
  <xsl:variable name="max_length">
@@ -4545,6 +4588,9 @@
4545
4588
  </fo:inline>
4546
4589
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
4547
4590
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4591
+ <xsl:if test="parent::*[local-name() = 'add']">
4592
+ <xsl:call-template name="append_add-style"/>
4593
+ </xsl:if>
4548
4594
  <xsl:apply-templates/>
4549
4595
  </fo:basic-link>
4550
4596
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -4647,6 +4693,13 @@
4647
4693
 
4648
4694
 
4649
4695
 
4696
+ <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
4697
+ <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
4698
+ <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
4699
+ <xsl:call-template name="append_add-style"/>
4700
+ </xsl:if>
4701
+
4702
+
4650
4703
  <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
4651
4704
  <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4652
4705
  <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
@@ -4685,6 +4738,12 @@
4685
4738
 
4686
4739
 
4687
4740
 
4741
+ <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
4742
+ <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
4743
+ <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
4744
+ <xsl:call-template name="append_add-style"/>
4745
+ </xsl:if>
4746
+
4688
4747
  <xsl:apply-templates select="*[local-name() = 'name']"/>
4689
4748
 
4690
4749
  </fo:inline>
@@ -4738,6 +4797,7 @@
4738
4797
  </fo:block>
4739
4798
  </xsl:template><xsl:template match="*[local-name() = 'term']">
4740
4799
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4800
+
4741
4801
 
4742
4802
 
4743
4803
 
@@ -5174,7 +5234,11 @@
5174
5234
  <xsl:value-of select="."/>
5175
5235
  </xsl:template><xsl:template match="node()" mode="contents">
5176
5236
  <xsl:apply-templates mode="contents"/>
5177
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
5237
+ </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">
5238
+ <xsl:call-template name="contents_section-title"/>
5239
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
5240
+ <xsl:call-template name="contents_section-title"/>
5241
+ </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">
5178
5242
  <xsl:variable name="level">
5179
5243
  <xsl:call-template name="getLevel">
5180
5244
  <xsl:with-param name="depth" select="@depth"/>
@@ -6505,7 +6569,7 @@
6505
6569
 
6506
6570
 
6507
6571
 
6508
-
6572
+
6509
6573
  <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
6510
6574
  </fo:list-block>
6511
6575
  <!-- <xsl:for-each select="./iho:note">
@@ -6523,6 +6587,11 @@
6523
6587
 
6524
6588
 
6525
6589
 
6590
+ <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
6591
+ <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
6592
+ <xsl:call-template name="append_add-style"/>
6593
+ </xsl:if>
6594
+
6526
6595
  <xsl:call-template name="getListItemFormat"/>
6527
6596
  </fo:block>
6528
6597
  </fo:list-item-label>
@@ -7630,53 +7699,153 @@
7630
7699
  <xsl:param name="first"/>
7631
7700
  <xsl:if test="$number != ''">
7632
7701
  <xsl:variable name="words">
7633
- <words>
7634
- <word cardinal="1">One-</word>
7635
- <word ordinal="1">First </word>
7636
- <word cardinal="2">Two-</word>
7637
- <word ordinal="2">Second </word>
7638
- <word cardinal="3">Three-</word>
7639
- <word ordinal="3">Third </word>
7640
- <word cardinal="4">Four-</word>
7641
- <word ordinal="4">Fourth </word>
7642
- <word cardinal="5">Five-</word>
7643
- <word ordinal="5">Fifth </word>
7644
- <word cardinal="6">Six-</word>
7645
- <word ordinal="6">Sixth </word>
7646
- <word cardinal="7">Seven-</word>
7647
- <word ordinal="7">Seventh </word>
7648
- <word cardinal="8">Eight-</word>
7649
- <word ordinal="8">Eighth </word>
7650
- <word cardinal="9">Nine-</word>
7651
- <word ordinal="9">Ninth </word>
7652
- <word ordinal="10">Tenth </word>
7653
- <word ordinal="11">Eleventh </word>
7654
- <word ordinal="12">Twelfth </word>
7655
- <word ordinal="13">Thirteenth </word>
7656
- <word ordinal="14">Fourteenth </word>
7657
- <word ordinal="15">Fifteenth </word>
7658
- <word ordinal="16">Sixteenth </word>
7659
- <word ordinal="17">Seventeenth </word>
7660
- <word ordinal="18">Eighteenth </word>
7661
- <word ordinal="19">Nineteenth </word>
7662
- <word cardinal="20">Twenty-</word>
7663
- <word ordinal="20">Twentieth </word>
7664
- <word cardinal="30">Thirty-</word>
7665
- <word ordinal="30">Thirtieth </word>
7666
- <word cardinal="40">Forty-</word>
7667
- <word ordinal="40">Fortieth </word>
7668
- <word cardinal="50">Fifty-</word>
7669
- <word ordinal="50">Fiftieth </word>
7670
- <word cardinal="60">Sixty-</word>
7671
- <word ordinal="60">Sixtieth </word>
7672
- <word cardinal="70">Seventy-</word>
7673
- <word ordinal="70">Seventieth </word>
7674
- <word cardinal="80">Eighty-</word>
7675
- <word ordinal="80">Eightieth </word>
7676
- <word cardinal="90">Ninety-</word>
7677
- <word ordinal="90">Ninetieth </word>
7678
- <word cardinal="100">Hundred-</word>
7679
- <word ordinal="100">Hundredth </word>
7702
+ <words>
7703
+ <xsl:choose>
7704
+ <xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
7705
+ <word cardinal="1">Une-</word>
7706
+ <word ordinal="1">Première </word>
7707
+ <word cardinal="2">Deux-</word>
7708
+ <word ordinal="2">Seconde </word>
7709
+ <word cardinal="3">Trois-</word>
7710
+ <word ordinal="3">Tierce </word>
7711
+ <word cardinal="4">Quatre-</word>
7712
+ <word ordinal="4">Quatrième </word>
7713
+ <word cardinal="5">Cinq-</word>
7714
+ <word ordinal="5">Cinquième </word>
7715
+ <word cardinal="6">Six-</word>
7716
+ <word ordinal="6">Sixième </word>
7717
+ <word cardinal="7">Sept-</word>
7718
+ <word ordinal="7">Septième </word>
7719
+ <word cardinal="8">Huit-</word>
7720
+ <word ordinal="8">Huitième </word>
7721
+ <word cardinal="9">Neuf-</word>
7722
+ <word ordinal="9">Neuvième </word>
7723
+ <word ordinal="10">Dixième </word>
7724
+ <word ordinal="11">Onzième </word>
7725
+ <word ordinal="12">Douzième </word>
7726
+ <word ordinal="13">Treizième </word>
7727
+ <word ordinal="14">Quatorzième </word>
7728
+ <word ordinal="15">Quinzième </word>
7729
+ <word ordinal="16">Seizième </word>
7730
+ <word ordinal="17">Dix-septième </word>
7731
+ <word ordinal="18">Dix-huitième </word>
7732
+ <word ordinal="19">Dix-neuvième </word>
7733
+ <word cardinal="20">Vingt-</word>
7734
+ <word ordinal="20">Vingtième </word>
7735
+ <word cardinal="30">Trente-</word>
7736
+ <word ordinal="30">Trentième </word>
7737
+ <word cardinal="40">Quarante-</word>
7738
+ <word ordinal="40">Quarantième </word>
7739
+ <word cardinal="50">Cinquante-</word>
7740
+ <word ordinal="50">Cinquantième </word>
7741
+ <word cardinal="60">Soixante-</word>
7742
+ <word ordinal="60">Soixantième </word>
7743
+ <word cardinal="70">Septante-</word>
7744
+ <word ordinal="70">Septantième </word>
7745
+ <word cardinal="80">Huitante-</word>
7746
+ <word ordinal="80">Huitantième </word>
7747
+ <word cardinal="90">Nonante-</word>
7748
+ <word ordinal="90">Nonantième </word>
7749
+ <word cardinal="100">Cent-</word>
7750
+ <word ordinal="100">Centième </word>
7751
+ </xsl:when>
7752
+ <xsl:when test="$lang = 'ru'">
7753
+ <word cardinal="1">Одна-</word>
7754
+ <word ordinal="1">Первое </word>
7755
+ <word cardinal="2">Две-</word>
7756
+ <word ordinal="2">Второе </word>
7757
+ <word cardinal="3">Три-</word>
7758
+ <word ordinal="3">Третье </word>
7759
+ <word cardinal="4">Четыре-</word>
7760
+ <word ordinal="4">Четвертое </word>
7761
+ <word cardinal="5">Пять-</word>
7762
+ <word ordinal="5">Пятое </word>
7763
+ <word cardinal="6">Шесть-</word>
7764
+ <word ordinal="6">Шестое </word>
7765
+ <word cardinal="7">Семь-</word>
7766
+ <word ordinal="7">Седьмое </word>
7767
+ <word cardinal="8">Восемь-</word>
7768
+ <word ordinal="8">Восьмое </word>
7769
+ <word cardinal="9">Девять-</word>
7770
+ <word ordinal="9">Девятое </word>
7771
+ <word ordinal="10">Десятое </word>
7772
+ <word ordinal="11">Одиннадцатое </word>
7773
+ <word ordinal="12">Двенадцатое </word>
7774
+ <word ordinal="13">Тринадцатое </word>
7775
+ <word ordinal="14">Четырнадцатое </word>
7776
+ <word ordinal="15">Пятнадцатое </word>
7777
+ <word ordinal="16">Шестнадцатое </word>
7778
+ <word ordinal="17">Семнадцатое </word>
7779
+ <word ordinal="18">Восемнадцатое </word>
7780
+ <word ordinal="19">Девятнадцатое </word>
7781
+ <word cardinal="20">Двадцать-</word>
7782
+ <word ordinal="20">Двадцатое </word>
7783
+ <word cardinal="30">Тридцать-</word>
7784
+ <word ordinal="30">Тридцатое </word>
7785
+ <word cardinal="40">Сорок-</word>
7786
+ <word ordinal="40">Сороковое </word>
7787
+ <word cardinal="50">Пятьдесят-</word>
7788
+ <word ordinal="50">Пятидесятое </word>
7789
+ <word cardinal="60">Шестьдесят-</word>
7790
+ <word ordinal="60">Шестидесятое </word>
7791
+ <word cardinal="70">Семьдесят-</word>
7792
+ <word ordinal="70">Семидесятое </word>
7793
+ <word cardinal="80">Восемьдесят-</word>
7794
+ <word ordinal="80">Восьмидесятое </word>
7795
+ <word cardinal="90">Девяносто-</word>
7796
+ <word ordinal="90">Девяностое </word>
7797
+ <word cardinal="100">Сто-</word>
7798
+ <word ordinal="100">Сотое </word>
7799
+ </xsl:when>
7800
+ <xsl:otherwise> <!-- default english -->
7801
+ <word cardinal="1">One-</word>
7802
+ <word ordinal="1">First </word>
7803
+ <word cardinal="2">Two-</word>
7804
+ <word ordinal="2">Second </word>
7805
+ <word cardinal="3">Three-</word>
7806
+ <word ordinal="3">Third </word>
7807
+ <word cardinal="4">Four-</word>
7808
+ <word ordinal="4">Fourth </word>
7809
+ <word cardinal="5">Five-</word>
7810
+ <word ordinal="5">Fifth </word>
7811
+ <word cardinal="6">Six-</word>
7812
+ <word ordinal="6">Sixth </word>
7813
+ <word cardinal="7">Seven-</word>
7814
+ <word ordinal="7">Seventh </word>
7815
+ <word cardinal="8">Eight-</word>
7816
+ <word ordinal="8">Eighth </word>
7817
+ <word cardinal="9">Nine-</word>
7818
+ <word ordinal="9">Ninth </word>
7819
+ <word ordinal="10">Tenth </word>
7820
+ <word ordinal="11">Eleventh </word>
7821
+ <word ordinal="12">Twelfth </word>
7822
+ <word ordinal="13">Thirteenth </word>
7823
+ <word ordinal="14">Fourteenth </word>
7824
+ <word ordinal="15">Fifteenth </word>
7825
+ <word ordinal="16">Sixteenth </word>
7826
+ <word ordinal="17">Seventeenth </word>
7827
+ <word ordinal="18">Eighteenth </word>
7828
+ <word ordinal="19">Nineteenth </word>
7829
+ <word cardinal="20">Twenty-</word>
7830
+ <word ordinal="20">Twentieth </word>
7831
+ <word cardinal="30">Thirty-</word>
7832
+ <word ordinal="30">Thirtieth </word>
7833
+ <word cardinal="40">Forty-</word>
7834
+ <word ordinal="40">Fortieth </word>
7835
+ <word cardinal="50">Fifty-</word>
7836
+ <word ordinal="50">Fiftieth </word>
7837
+ <word cardinal="60">Sixty-</word>
7838
+ <word ordinal="60">Sixtieth </word>
7839
+ <word cardinal="70">Seventy-</word>
7840
+ <word ordinal="70">Seventieth </word>
7841
+ <word cardinal="80">Eighty-</word>
7842
+ <word ordinal="80">Eightieth </word>
7843
+ <word cardinal="90">Ninety-</word>
7844
+ <word ordinal="90">Ninetieth </word>
7845
+ <word cardinal="100">Hundred-</word>
7846
+ <word ordinal="100">Hundredth </word>
7847
+ </xsl:otherwise>
7848
+ </xsl:choose>
7680
7849
  </words>
7681
7850
  </xsl:variable>
7682
7851
 
@@ -7750,4 +7919,18 @@
7750
7919
  <xsl:otherwise>_</xsl:otherwise>
7751
7920
  </xsl:choose>
7752
7921
  </xsl:attribute>
7922
+ </xsl:template><xsl:template name="substring-after-last">
7923
+ <xsl:param name="value"/>
7924
+ <xsl:param name="delimiter"/>
7925
+ <xsl:choose>
7926
+ <xsl:when test="contains($value, $delimiter)">
7927
+ <xsl:call-template name="substring-after-last">
7928
+ <xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
7929
+ <xsl:with-param name="delimiter" select="$delimiter"/>
7930
+ </xsl:call-template>
7931
+ </xsl:when>
7932
+ <xsl:otherwise>
7933
+ <xsl:value-of select="$value"/>
7934
+ </xsl:otherwise>
7935
+ </xsl:choose>
7753
7936
  </xsl:template></xsl:stylesheet>
@@ -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 Ribose
3
- VERSION = "2.0.3".freeze
3
+ VERSION = "2.0.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-ribose
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