metanorma-iho 0.5.3 → 0.5.4
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/iho/iho.specification.xsl +242 -59
- data/lib/isodoc/iho/iho.standard.xsl +242 -59
- data/lib/isodoc/iho/xref.rb +33 -30
- data/lib/metanorma/iho/isodoc.rng +73 -3
- data/lib/metanorma/iho/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb1420f3aac9bfe4e2c2cac59d9cc6e208624c72152a59a5532d3a9ddff0d5de
|
4
|
+
data.tar.gz: d3ae99d63dd7fac2df165af9e2cb51c2a75f78742d5253736caa79d7a869b1cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f56a3773a9bdbcd18758df578ef2433f50af7c5f59d54d9a01e36e37c7ab215131c7690bc57a549c4f2c171e7e3377b052cd9c46ed43a76aba085307f31bab39
|
7
|
+
data.tar.gz: 9a2a67a634abc5eaffe3525f26adcae10e84e79adb9f63e0bbb0ddcbe8d1cff95e85dc2710045691c5ce6d46fb937ec5714ccefe9887f6fb1119a2d4ea417fad
|
@@ -749,6 +749,10 @@
|
|
749
749
|
<xsl:text>Édition </xsl:text>
|
750
750
|
</title-edition>
|
751
751
|
|
752
|
+
<title-edition lang="ru">
|
753
|
+
<xsl:text>Издание </xsl:text>
|
754
|
+
</title-edition>
|
755
|
+
|
752
756
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
753
757
|
<title-toc lang="en">
|
754
758
|
|
@@ -777,7 +781,11 @@
|
|
777
781
|
|
778
782
|
|
779
783
|
|
780
|
-
</title-part>
|
784
|
+
</title-part>
|
785
|
+
<title-part lang="ru">
|
786
|
+
|
787
|
+
|
788
|
+
</title-part>
|
781
789
|
<title-part lang="zh">第 # 部分:</title-part>
|
782
790
|
|
783
791
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
@@ -793,6 +801,7 @@
|
|
793
801
|
|
794
802
|
<title-summary lang="en">Summary</title-summary>
|
795
803
|
|
804
|
+
<title-continued lang="ru">(продолжение)</title-continued>
|
796
805
|
<title-continued lang="en">(continued)</title-continued>
|
797
806
|
<title-continued lang="fr">(continué)</title-continued>
|
798
807
|
|
@@ -1539,13 +1548,19 @@
|
|
1539
1548
|
</xsl:attribute-set><xsl:variable name="color-added-text">
|
1540
1549
|
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
1541
1550
|
</xsl:variable><xsl:attribute-set name="add-style">
|
1542
|
-
|
1543
|
-
|
1544
|
-
|
1545
|
-
|
1546
|
-
|
1547
|
-
|
1548
|
-
|
1551
|
+
|
1552
|
+
<xsl:attribute name="color">red</xsl:attribute>
|
1553
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1554
|
+
<!-- <xsl:attribute name="color">black</xsl:attribute>
|
1555
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
1556
|
+
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
1557
|
+
<xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
|
1558
|
+
|
1559
|
+
</xsl:attribute-set><xsl:variable name="add-style">
|
1560
|
+
<add-style xsl:use-attribute-sets="add-style"/>
|
1561
|
+
</xsl:variable><xsl:template name="append_add-style">
|
1562
|
+
<xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
|
1563
|
+
</xsl:template><xsl:variable name="color-deleted-text">
|
1549
1564
|
<xsl:text>red</xsl:text>
|
1550
1565
|
</xsl:variable><xsl:attribute-set name="del-style">
|
1551
1566
|
<xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
@@ -1979,14 +1994,42 @@
|
|
1979
1994
|
|
1980
1995
|
|
1981
1996
|
</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">
|
1997
|
+
<xsl:variable name="nodes_preface_">
|
1998
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
1999
|
+
<node id="{@id}"/>
|
2000
|
+
</xsl:for-each>
|
2001
|
+
</xsl:variable>
|
2002
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
2003
|
+
|
1982
2004
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
1983
2005
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2006
|
+
|
2007
|
+
<!-- process Section's title -->
|
2008
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
2009
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
2010
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
2011
|
+
</xsl:if>
|
2012
|
+
|
1984
2013
|
<xsl:apply-templates select="." mode="contents"/>
|
1985
2014
|
</xsl:for-each>
|
1986
2015
|
</xsl:template><xsl:template name="processMainSectionsDefault_Contents">
|
1987
2016
|
|
2017
|
+
<xsl:variable name="nodes_sections_">
|
2018
|
+
<xsl:for-each select="/*/*[local-name()='sections']/*">
|
2019
|
+
<node id="{@id}"/>
|
2020
|
+
</xsl:for-each>
|
2021
|
+
</xsl:variable>
|
2022
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
2023
|
+
|
1988
2024
|
<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']]">
|
1989
2025
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2026
|
+
|
2027
|
+
<!-- process Section's title -->
|
2028
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
2029
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
2030
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
2031
|
+
</xsl:if>
|
2032
|
+
|
1990
2033
|
<xsl:apply-templates select="." mode="contents"/>
|
1991
2034
|
</xsl:for-each>
|
1992
2035
|
|
@@ -2125,7 +2168,7 @@
|
|
2125
2168
|
</xsl:call-template>
|
2126
2169
|
</xsl:if>
|
2127
2170
|
</xsl:variable>
|
2128
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2171
|
+
<!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2129
2172
|
|
2130
2173
|
|
2131
2174
|
<xsl:variable name="margin-side">
|
@@ -2385,7 +2428,7 @@
|
|
2385
2428
|
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
2386
2429
|
<!-- 2009 thinspace -->
|
2387
2430
|
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
2388
|
-
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '
|
2431
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
2389
2432
|
</xsl:call-template>
|
2390
2433
|
</xsl:variable>
|
2391
2434
|
<xsl:variable name="max_length">
|
@@ -4013,6 +4056,9 @@
|
|
4013
4056
|
</fo:inline>
|
4014
4057
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
4015
4058
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
4059
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
4060
|
+
<xsl:call-template name="append_add-style"/>
|
4061
|
+
</xsl:if>
|
4016
4062
|
<xsl:apply-templates/>
|
4017
4063
|
</fo:basic-link>
|
4018
4064
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
@@ -4114,6 +4160,13 @@
|
|
4114
4160
|
|
4115
4161
|
|
4116
4162
|
|
4163
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
4164
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
4165
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
4166
|
+
<xsl:call-template name="append_add-style"/>
|
4167
|
+
</xsl:if>
|
4168
|
+
|
4169
|
+
|
4117
4170
|
<!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
|
4118
4171
|
<xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
4119
4172
|
<xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
@@ -4152,6 +4205,12 @@
|
|
4152
4205
|
|
4153
4206
|
|
4154
4207
|
|
4208
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
4209
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
4210
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
4211
|
+
<xsl:call-template name="append_add-style"/>
|
4212
|
+
</xsl:if>
|
4213
|
+
|
4155
4214
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
4156
4215
|
|
4157
4216
|
</fo:inline>
|
@@ -4201,6 +4260,7 @@
|
|
4201
4260
|
</fo:block>
|
4202
4261
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
4203
4262
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
4263
|
+
|
4204
4264
|
|
4205
4265
|
|
4206
4266
|
|
@@ -4637,7 +4697,11 @@
|
|
4637
4697
|
<xsl:value-of select="."/>
|
4638
4698
|
</xsl:template><xsl:template match="node()" mode="contents">
|
4639
4699
|
<xsl:apply-templates mode="contents"/>
|
4640
|
-
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = '
|
4700
|
+
</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">
|
4701
|
+
<xsl:call-template name="contents_section-title"/>
|
4702
|
+
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
|
4703
|
+
<xsl:call-template name="contents_section-title"/>
|
4704
|
+
</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">
|
4641
4705
|
<xsl:variable name="level">
|
4642
4706
|
<xsl:call-template name="getLevel">
|
4643
4707
|
<xsl:with-param name="depth" select="@depth"/>
|
@@ -5942,7 +6006,7 @@
|
|
5942
6006
|
|
5943
6007
|
|
5944
6008
|
|
5945
|
-
|
6009
|
+
|
5946
6010
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
5947
6011
|
</fo:list-block>
|
5948
6012
|
<!-- <xsl:for-each select="./iho:note">
|
@@ -5960,6 +6024,11 @@
|
|
5960
6024
|
|
5961
6025
|
|
5962
6026
|
|
6027
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
6028
|
+
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
6029
|
+
<xsl:call-template name="append_add-style"/>
|
6030
|
+
</xsl:if>
|
6031
|
+
|
5963
6032
|
<xsl:call-template name="getListItemFormat"/>
|
5964
6033
|
</fo:block>
|
5965
6034
|
</fo:list-item-label>
|
@@ -7111,53 +7180,153 @@
|
|
7111
7180
|
<xsl:param name="first"/>
|
7112
7181
|
<xsl:if test="$number != ''">
|
7113
7182
|
<xsl:variable name="words">
|
7114
|
-
|
7115
|
-
<
|
7116
|
-
|
7117
|
-
|
7118
|
-
|
7119
|
-
|
7120
|
-
|
7121
|
-
|
7122
|
-
|
7123
|
-
|
7124
|
-
|
7125
|
-
|
7126
|
-
|
7127
|
-
|
7128
|
-
|
7129
|
-
|
7130
|
-
|
7131
|
-
|
7132
|
-
|
7133
|
-
|
7134
|
-
|
7135
|
-
|
7136
|
-
|
7137
|
-
|
7138
|
-
|
7139
|
-
|
7140
|
-
|
7141
|
-
|
7142
|
-
|
7143
|
-
|
7144
|
-
|
7145
|
-
|
7146
|
-
|
7147
|
-
|
7148
|
-
|
7149
|
-
|
7150
|
-
|
7151
|
-
|
7152
|
-
|
7153
|
-
|
7154
|
-
|
7155
|
-
|
7156
|
-
|
7157
|
-
|
7158
|
-
|
7159
|
-
|
7160
|
-
|
7183
|
+
<words>
|
7184
|
+
<xsl:choose>
|
7185
|
+
<xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
|
7186
|
+
<word cardinal="1">Une-</word>
|
7187
|
+
<word ordinal="1">Première </word>
|
7188
|
+
<word cardinal="2">Deux-</word>
|
7189
|
+
<word ordinal="2">Seconde </word>
|
7190
|
+
<word cardinal="3">Trois-</word>
|
7191
|
+
<word ordinal="3">Tierce </word>
|
7192
|
+
<word cardinal="4">Quatre-</word>
|
7193
|
+
<word ordinal="4">Quatrième </word>
|
7194
|
+
<word cardinal="5">Cinq-</word>
|
7195
|
+
<word ordinal="5">Cinquième </word>
|
7196
|
+
<word cardinal="6">Six-</word>
|
7197
|
+
<word ordinal="6">Sixième </word>
|
7198
|
+
<word cardinal="7">Sept-</word>
|
7199
|
+
<word ordinal="7">Septième </word>
|
7200
|
+
<word cardinal="8">Huit-</word>
|
7201
|
+
<word ordinal="8">Huitième </word>
|
7202
|
+
<word cardinal="9">Neuf-</word>
|
7203
|
+
<word ordinal="9">Neuvième </word>
|
7204
|
+
<word ordinal="10">Dixième </word>
|
7205
|
+
<word ordinal="11">Onzième </word>
|
7206
|
+
<word ordinal="12">Douzième </word>
|
7207
|
+
<word ordinal="13">Treizième </word>
|
7208
|
+
<word ordinal="14">Quatorzième </word>
|
7209
|
+
<word ordinal="15">Quinzième </word>
|
7210
|
+
<word ordinal="16">Seizième </word>
|
7211
|
+
<word ordinal="17">Dix-septième </word>
|
7212
|
+
<word ordinal="18">Dix-huitième </word>
|
7213
|
+
<word ordinal="19">Dix-neuvième </word>
|
7214
|
+
<word cardinal="20">Vingt-</word>
|
7215
|
+
<word ordinal="20">Vingtième </word>
|
7216
|
+
<word cardinal="30">Trente-</word>
|
7217
|
+
<word ordinal="30">Trentième </word>
|
7218
|
+
<word cardinal="40">Quarante-</word>
|
7219
|
+
<word ordinal="40">Quarantième </word>
|
7220
|
+
<word cardinal="50">Cinquante-</word>
|
7221
|
+
<word ordinal="50">Cinquantième </word>
|
7222
|
+
<word cardinal="60">Soixante-</word>
|
7223
|
+
<word ordinal="60">Soixantième </word>
|
7224
|
+
<word cardinal="70">Septante-</word>
|
7225
|
+
<word ordinal="70">Septantième </word>
|
7226
|
+
<word cardinal="80">Huitante-</word>
|
7227
|
+
<word ordinal="80">Huitantième </word>
|
7228
|
+
<word cardinal="90">Nonante-</word>
|
7229
|
+
<word ordinal="90">Nonantième </word>
|
7230
|
+
<word cardinal="100">Cent-</word>
|
7231
|
+
<word ordinal="100">Centième </word>
|
7232
|
+
</xsl:when>
|
7233
|
+
<xsl:when test="$lang = 'ru'">
|
7234
|
+
<word cardinal="1">Одна-</word>
|
7235
|
+
<word ordinal="1">Первое </word>
|
7236
|
+
<word cardinal="2">Две-</word>
|
7237
|
+
<word ordinal="2">Второе </word>
|
7238
|
+
<word cardinal="3">Три-</word>
|
7239
|
+
<word ordinal="3">Третье </word>
|
7240
|
+
<word cardinal="4">Четыре-</word>
|
7241
|
+
<word ordinal="4">Четвертое </word>
|
7242
|
+
<word cardinal="5">Пять-</word>
|
7243
|
+
<word ordinal="5">Пятое </word>
|
7244
|
+
<word cardinal="6">Шесть-</word>
|
7245
|
+
<word ordinal="6">Шестое </word>
|
7246
|
+
<word cardinal="7">Семь-</word>
|
7247
|
+
<word ordinal="7">Седьмое </word>
|
7248
|
+
<word cardinal="8">Восемь-</word>
|
7249
|
+
<word ordinal="8">Восьмое </word>
|
7250
|
+
<word cardinal="9">Девять-</word>
|
7251
|
+
<word ordinal="9">Девятое </word>
|
7252
|
+
<word ordinal="10">Десятое </word>
|
7253
|
+
<word ordinal="11">Одиннадцатое </word>
|
7254
|
+
<word ordinal="12">Двенадцатое </word>
|
7255
|
+
<word ordinal="13">Тринадцатое </word>
|
7256
|
+
<word ordinal="14">Четырнадцатое </word>
|
7257
|
+
<word ordinal="15">Пятнадцатое </word>
|
7258
|
+
<word ordinal="16">Шестнадцатое </word>
|
7259
|
+
<word ordinal="17">Семнадцатое </word>
|
7260
|
+
<word ordinal="18">Восемнадцатое </word>
|
7261
|
+
<word ordinal="19">Девятнадцатое </word>
|
7262
|
+
<word cardinal="20">Двадцать-</word>
|
7263
|
+
<word ordinal="20">Двадцатое </word>
|
7264
|
+
<word cardinal="30">Тридцать-</word>
|
7265
|
+
<word ordinal="30">Тридцатое </word>
|
7266
|
+
<word cardinal="40">Сорок-</word>
|
7267
|
+
<word ordinal="40">Сороковое </word>
|
7268
|
+
<word cardinal="50">Пятьдесят-</word>
|
7269
|
+
<word ordinal="50">Пятидесятое </word>
|
7270
|
+
<word cardinal="60">Шестьдесят-</word>
|
7271
|
+
<word ordinal="60">Шестидесятое </word>
|
7272
|
+
<word cardinal="70">Семьдесят-</word>
|
7273
|
+
<word ordinal="70">Семидесятое </word>
|
7274
|
+
<word cardinal="80">Восемьдесят-</word>
|
7275
|
+
<word ordinal="80">Восьмидесятое </word>
|
7276
|
+
<word cardinal="90">Девяносто-</word>
|
7277
|
+
<word ordinal="90">Девяностое </word>
|
7278
|
+
<word cardinal="100">Сто-</word>
|
7279
|
+
<word ordinal="100">Сотое </word>
|
7280
|
+
</xsl:when>
|
7281
|
+
<xsl:otherwise> <!-- default english -->
|
7282
|
+
<word cardinal="1">One-</word>
|
7283
|
+
<word ordinal="1">First </word>
|
7284
|
+
<word cardinal="2">Two-</word>
|
7285
|
+
<word ordinal="2">Second </word>
|
7286
|
+
<word cardinal="3">Three-</word>
|
7287
|
+
<word ordinal="3">Third </word>
|
7288
|
+
<word cardinal="4">Four-</word>
|
7289
|
+
<word ordinal="4">Fourth </word>
|
7290
|
+
<word cardinal="5">Five-</word>
|
7291
|
+
<word ordinal="5">Fifth </word>
|
7292
|
+
<word cardinal="6">Six-</word>
|
7293
|
+
<word ordinal="6">Sixth </word>
|
7294
|
+
<word cardinal="7">Seven-</word>
|
7295
|
+
<word ordinal="7">Seventh </word>
|
7296
|
+
<word cardinal="8">Eight-</word>
|
7297
|
+
<word ordinal="8">Eighth </word>
|
7298
|
+
<word cardinal="9">Nine-</word>
|
7299
|
+
<word ordinal="9">Ninth </word>
|
7300
|
+
<word ordinal="10">Tenth </word>
|
7301
|
+
<word ordinal="11">Eleventh </word>
|
7302
|
+
<word ordinal="12">Twelfth </word>
|
7303
|
+
<word ordinal="13">Thirteenth </word>
|
7304
|
+
<word ordinal="14">Fourteenth </word>
|
7305
|
+
<word ordinal="15">Fifteenth </word>
|
7306
|
+
<word ordinal="16">Sixteenth </word>
|
7307
|
+
<word ordinal="17">Seventeenth </word>
|
7308
|
+
<word ordinal="18">Eighteenth </word>
|
7309
|
+
<word ordinal="19">Nineteenth </word>
|
7310
|
+
<word cardinal="20">Twenty-</word>
|
7311
|
+
<word ordinal="20">Twentieth </word>
|
7312
|
+
<word cardinal="30">Thirty-</word>
|
7313
|
+
<word ordinal="30">Thirtieth </word>
|
7314
|
+
<word cardinal="40">Forty-</word>
|
7315
|
+
<word ordinal="40">Fortieth </word>
|
7316
|
+
<word cardinal="50">Fifty-</word>
|
7317
|
+
<word ordinal="50">Fiftieth </word>
|
7318
|
+
<word cardinal="60">Sixty-</word>
|
7319
|
+
<word ordinal="60">Sixtieth </word>
|
7320
|
+
<word cardinal="70">Seventy-</word>
|
7321
|
+
<word ordinal="70">Seventieth </word>
|
7322
|
+
<word cardinal="80">Eighty-</word>
|
7323
|
+
<word ordinal="80">Eightieth </word>
|
7324
|
+
<word cardinal="90">Ninety-</word>
|
7325
|
+
<word ordinal="90">Ninetieth </word>
|
7326
|
+
<word cardinal="100">Hundred-</word>
|
7327
|
+
<word ordinal="100">Hundredth </word>
|
7328
|
+
</xsl:otherwise>
|
7329
|
+
</xsl:choose>
|
7161
7330
|
</words>
|
7162
7331
|
</xsl:variable>
|
7163
7332
|
|
@@ -7231,4 +7400,18 @@
|
|
7231
7400
|
<xsl:otherwise>_</xsl:otherwise>
|
7232
7401
|
</xsl:choose>
|
7233
7402
|
</xsl:attribute>
|
7403
|
+
</xsl:template><xsl:template name="substring-after-last">
|
7404
|
+
<xsl:param name="value"/>
|
7405
|
+
<xsl:param name="delimiter"/>
|
7406
|
+
<xsl:choose>
|
7407
|
+
<xsl:when test="contains($value, $delimiter)">
|
7408
|
+
<xsl:call-template name="substring-after-last">
|
7409
|
+
<xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
|
7410
|
+
<xsl:with-param name="delimiter" select="$delimiter"/>
|
7411
|
+
</xsl:call-template>
|
7412
|
+
</xsl:when>
|
7413
|
+
<xsl:otherwise>
|
7414
|
+
<xsl:value-of select="$value"/>
|
7415
|
+
</xsl:otherwise>
|
7416
|
+
</xsl:choose>
|
7234
7417
|
</xsl:template></xsl:stylesheet>
|
@@ -749,6 +749,10 @@
|
|
749
749
|
<xsl:text>Édition </xsl:text>
|
750
750
|
</title-edition>
|
751
751
|
|
752
|
+
<title-edition lang="ru">
|
753
|
+
<xsl:text>Издание </xsl:text>
|
754
|
+
</title-edition>
|
755
|
+
|
752
756
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
753
757
|
<title-toc lang="en">
|
754
758
|
|
@@ -777,7 +781,11 @@
|
|
777
781
|
|
778
782
|
|
779
783
|
|
780
|
-
</title-part>
|
784
|
+
</title-part>
|
785
|
+
<title-part lang="ru">
|
786
|
+
|
787
|
+
|
788
|
+
</title-part>
|
781
789
|
<title-part lang="zh">第 # 部分:</title-part>
|
782
790
|
|
783
791
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
@@ -793,6 +801,7 @@
|
|
793
801
|
|
794
802
|
<title-summary lang="en">Summary</title-summary>
|
795
803
|
|
804
|
+
<title-continued lang="ru">(продолжение)</title-continued>
|
796
805
|
<title-continued lang="en">(continued)</title-continued>
|
797
806
|
<title-continued lang="fr">(continué)</title-continued>
|
798
807
|
|
@@ -1539,13 +1548,19 @@
|
|
1539
1548
|
</xsl:attribute-set><xsl:variable name="color-added-text">
|
1540
1549
|
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
1541
1550
|
</xsl:variable><xsl:attribute-set name="add-style">
|
1542
|
-
|
1543
|
-
|
1544
|
-
|
1545
|
-
|
1546
|
-
|
1547
|
-
|
1548
|
-
|
1551
|
+
|
1552
|
+
<xsl:attribute name="color">red</xsl:attribute>
|
1553
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1554
|
+
<!-- <xsl:attribute name="color">black</xsl:attribute>
|
1555
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
1556
|
+
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
1557
|
+
<xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
|
1558
|
+
|
1559
|
+
</xsl:attribute-set><xsl:variable name="add-style">
|
1560
|
+
<add-style xsl:use-attribute-sets="add-style"/>
|
1561
|
+
</xsl:variable><xsl:template name="append_add-style">
|
1562
|
+
<xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
|
1563
|
+
</xsl:template><xsl:variable name="color-deleted-text">
|
1549
1564
|
<xsl:text>red</xsl:text>
|
1550
1565
|
</xsl:variable><xsl:attribute-set name="del-style">
|
1551
1566
|
<xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
@@ -1979,14 +1994,42 @@
|
|
1979
1994
|
|
1980
1995
|
|
1981
1996
|
</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">
|
1997
|
+
<xsl:variable name="nodes_preface_">
|
1998
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
1999
|
+
<node id="{@id}"/>
|
2000
|
+
</xsl:for-each>
|
2001
|
+
</xsl:variable>
|
2002
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
2003
|
+
|
1982
2004
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
1983
2005
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2006
|
+
|
2007
|
+
<!-- process Section's title -->
|
2008
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
2009
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
2010
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
2011
|
+
</xsl:if>
|
2012
|
+
|
1984
2013
|
<xsl:apply-templates select="." mode="contents"/>
|
1985
2014
|
</xsl:for-each>
|
1986
2015
|
</xsl:template><xsl:template name="processMainSectionsDefault_Contents">
|
1987
2016
|
|
2017
|
+
<xsl:variable name="nodes_sections_">
|
2018
|
+
<xsl:for-each select="/*/*[local-name()='sections']/*">
|
2019
|
+
<node id="{@id}"/>
|
2020
|
+
</xsl:for-each>
|
2021
|
+
</xsl:variable>
|
2022
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
2023
|
+
|
1988
2024
|
<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']]">
|
1989
2025
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2026
|
+
|
2027
|
+
<!-- process Section's title -->
|
2028
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
2029
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
2030
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
2031
|
+
</xsl:if>
|
2032
|
+
|
1990
2033
|
<xsl:apply-templates select="." mode="contents"/>
|
1991
2034
|
</xsl:for-each>
|
1992
2035
|
|
@@ -2125,7 +2168,7 @@
|
|
2125
2168
|
</xsl:call-template>
|
2126
2169
|
</xsl:if>
|
2127
2170
|
</xsl:variable>
|
2128
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2171
|
+
<!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2129
2172
|
|
2130
2173
|
|
2131
2174
|
<xsl:variable name="margin-side">
|
@@ -2385,7 +2428,7 @@
|
|
2385
2428
|
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
2386
2429
|
<!-- 2009 thinspace -->
|
2387
2430
|
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
2388
|
-
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '
|
2431
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
2389
2432
|
</xsl:call-template>
|
2390
2433
|
</xsl:variable>
|
2391
2434
|
<xsl:variable name="max_length">
|
@@ -4013,6 +4056,9 @@
|
|
4013
4056
|
</fo:inline>
|
4014
4057
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
4015
4058
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
4059
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
4060
|
+
<xsl:call-template name="append_add-style"/>
|
4061
|
+
</xsl:if>
|
4016
4062
|
<xsl:apply-templates/>
|
4017
4063
|
</fo:basic-link>
|
4018
4064
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
@@ -4114,6 +4160,13 @@
|
|
4114
4160
|
|
4115
4161
|
|
4116
4162
|
|
4163
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
4164
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
4165
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
4166
|
+
<xsl:call-template name="append_add-style"/>
|
4167
|
+
</xsl:if>
|
4168
|
+
|
4169
|
+
|
4117
4170
|
<!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
|
4118
4171
|
<xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
4119
4172
|
<xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
@@ -4152,6 +4205,12 @@
|
|
4152
4205
|
|
4153
4206
|
|
4154
4207
|
|
4208
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
4209
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
4210
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
4211
|
+
<xsl:call-template name="append_add-style"/>
|
4212
|
+
</xsl:if>
|
4213
|
+
|
4155
4214
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
4156
4215
|
|
4157
4216
|
</fo:inline>
|
@@ -4201,6 +4260,7 @@
|
|
4201
4260
|
</fo:block>
|
4202
4261
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
4203
4262
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
4263
|
+
|
4204
4264
|
|
4205
4265
|
|
4206
4266
|
|
@@ -4637,7 +4697,11 @@
|
|
4637
4697
|
<xsl:value-of select="."/>
|
4638
4698
|
</xsl:template><xsl:template match="node()" mode="contents">
|
4639
4699
|
<xsl:apply-templates mode="contents"/>
|
4640
|
-
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = '
|
4700
|
+
</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">
|
4701
|
+
<xsl:call-template name="contents_section-title"/>
|
4702
|
+
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
|
4703
|
+
<xsl:call-template name="contents_section-title"/>
|
4704
|
+
</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">
|
4641
4705
|
<xsl:variable name="level">
|
4642
4706
|
<xsl:call-template name="getLevel">
|
4643
4707
|
<xsl:with-param name="depth" select="@depth"/>
|
@@ -5942,7 +6006,7 @@
|
|
5942
6006
|
|
5943
6007
|
|
5944
6008
|
|
5945
|
-
|
6009
|
+
|
5946
6010
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
5947
6011
|
</fo:list-block>
|
5948
6012
|
<!-- <xsl:for-each select="./iho:note">
|
@@ -5960,6 +6024,11 @@
|
|
5960
6024
|
|
5961
6025
|
|
5962
6026
|
|
6027
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
6028
|
+
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
6029
|
+
<xsl:call-template name="append_add-style"/>
|
6030
|
+
</xsl:if>
|
6031
|
+
|
5963
6032
|
<xsl:call-template name="getListItemFormat"/>
|
5964
6033
|
</fo:block>
|
5965
6034
|
</fo:list-item-label>
|
@@ -7111,53 +7180,153 @@
|
|
7111
7180
|
<xsl:param name="first"/>
|
7112
7181
|
<xsl:if test="$number != ''">
|
7113
7182
|
<xsl:variable name="words">
|
7114
|
-
|
7115
|
-
<
|
7116
|
-
|
7117
|
-
|
7118
|
-
|
7119
|
-
|
7120
|
-
|
7121
|
-
|
7122
|
-
|
7123
|
-
|
7124
|
-
|
7125
|
-
|
7126
|
-
|
7127
|
-
|
7128
|
-
|
7129
|
-
|
7130
|
-
|
7131
|
-
|
7132
|
-
|
7133
|
-
|
7134
|
-
|
7135
|
-
|
7136
|
-
|
7137
|
-
|
7138
|
-
|
7139
|
-
|
7140
|
-
|
7141
|
-
|
7142
|
-
|
7143
|
-
|
7144
|
-
|
7145
|
-
|
7146
|
-
|
7147
|
-
|
7148
|
-
|
7149
|
-
|
7150
|
-
|
7151
|
-
|
7152
|
-
|
7153
|
-
|
7154
|
-
|
7155
|
-
|
7156
|
-
|
7157
|
-
|
7158
|
-
|
7159
|
-
|
7160
|
-
|
7183
|
+
<words>
|
7184
|
+
<xsl:choose>
|
7185
|
+
<xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
|
7186
|
+
<word cardinal="1">Une-</word>
|
7187
|
+
<word ordinal="1">Première </word>
|
7188
|
+
<word cardinal="2">Deux-</word>
|
7189
|
+
<word ordinal="2">Seconde </word>
|
7190
|
+
<word cardinal="3">Trois-</word>
|
7191
|
+
<word ordinal="3">Tierce </word>
|
7192
|
+
<word cardinal="4">Quatre-</word>
|
7193
|
+
<word ordinal="4">Quatrième </word>
|
7194
|
+
<word cardinal="5">Cinq-</word>
|
7195
|
+
<word ordinal="5">Cinquième </word>
|
7196
|
+
<word cardinal="6">Six-</word>
|
7197
|
+
<word ordinal="6">Sixième </word>
|
7198
|
+
<word cardinal="7">Sept-</word>
|
7199
|
+
<word ordinal="7">Septième </word>
|
7200
|
+
<word cardinal="8">Huit-</word>
|
7201
|
+
<word ordinal="8">Huitième </word>
|
7202
|
+
<word cardinal="9">Neuf-</word>
|
7203
|
+
<word ordinal="9">Neuvième </word>
|
7204
|
+
<word ordinal="10">Dixième </word>
|
7205
|
+
<word ordinal="11">Onzième </word>
|
7206
|
+
<word ordinal="12">Douzième </word>
|
7207
|
+
<word ordinal="13">Treizième </word>
|
7208
|
+
<word ordinal="14">Quatorzième </word>
|
7209
|
+
<word ordinal="15">Quinzième </word>
|
7210
|
+
<word ordinal="16">Seizième </word>
|
7211
|
+
<word ordinal="17">Dix-septième </word>
|
7212
|
+
<word ordinal="18">Dix-huitième </word>
|
7213
|
+
<word ordinal="19">Dix-neuvième </word>
|
7214
|
+
<word cardinal="20">Vingt-</word>
|
7215
|
+
<word ordinal="20">Vingtième </word>
|
7216
|
+
<word cardinal="30">Trente-</word>
|
7217
|
+
<word ordinal="30">Trentième </word>
|
7218
|
+
<word cardinal="40">Quarante-</word>
|
7219
|
+
<word ordinal="40">Quarantième </word>
|
7220
|
+
<word cardinal="50">Cinquante-</word>
|
7221
|
+
<word ordinal="50">Cinquantième </word>
|
7222
|
+
<word cardinal="60">Soixante-</word>
|
7223
|
+
<word ordinal="60">Soixantième </word>
|
7224
|
+
<word cardinal="70">Septante-</word>
|
7225
|
+
<word ordinal="70">Septantième </word>
|
7226
|
+
<word cardinal="80">Huitante-</word>
|
7227
|
+
<word ordinal="80">Huitantième </word>
|
7228
|
+
<word cardinal="90">Nonante-</word>
|
7229
|
+
<word ordinal="90">Nonantième </word>
|
7230
|
+
<word cardinal="100">Cent-</word>
|
7231
|
+
<word ordinal="100">Centième </word>
|
7232
|
+
</xsl:when>
|
7233
|
+
<xsl:when test="$lang = 'ru'">
|
7234
|
+
<word cardinal="1">Одна-</word>
|
7235
|
+
<word ordinal="1">Первое </word>
|
7236
|
+
<word cardinal="2">Две-</word>
|
7237
|
+
<word ordinal="2">Второе </word>
|
7238
|
+
<word cardinal="3">Три-</word>
|
7239
|
+
<word ordinal="3">Третье </word>
|
7240
|
+
<word cardinal="4">Четыре-</word>
|
7241
|
+
<word ordinal="4">Четвертое </word>
|
7242
|
+
<word cardinal="5">Пять-</word>
|
7243
|
+
<word ordinal="5">Пятое </word>
|
7244
|
+
<word cardinal="6">Шесть-</word>
|
7245
|
+
<word ordinal="6">Шестое </word>
|
7246
|
+
<word cardinal="7">Семь-</word>
|
7247
|
+
<word ordinal="7">Седьмое </word>
|
7248
|
+
<word cardinal="8">Восемь-</word>
|
7249
|
+
<word ordinal="8">Восьмое </word>
|
7250
|
+
<word cardinal="9">Девять-</word>
|
7251
|
+
<word ordinal="9">Девятое </word>
|
7252
|
+
<word ordinal="10">Десятое </word>
|
7253
|
+
<word ordinal="11">Одиннадцатое </word>
|
7254
|
+
<word ordinal="12">Двенадцатое </word>
|
7255
|
+
<word ordinal="13">Тринадцатое </word>
|
7256
|
+
<word ordinal="14">Четырнадцатое </word>
|
7257
|
+
<word ordinal="15">Пятнадцатое </word>
|
7258
|
+
<word ordinal="16">Шестнадцатое </word>
|
7259
|
+
<word ordinal="17">Семнадцатое </word>
|
7260
|
+
<word ordinal="18">Восемнадцатое </word>
|
7261
|
+
<word ordinal="19">Девятнадцатое </word>
|
7262
|
+
<word cardinal="20">Двадцать-</word>
|
7263
|
+
<word ordinal="20">Двадцатое </word>
|
7264
|
+
<word cardinal="30">Тридцать-</word>
|
7265
|
+
<word ordinal="30">Тридцатое </word>
|
7266
|
+
<word cardinal="40">Сорок-</word>
|
7267
|
+
<word ordinal="40">Сороковое </word>
|
7268
|
+
<word cardinal="50">Пятьдесят-</word>
|
7269
|
+
<word ordinal="50">Пятидесятое </word>
|
7270
|
+
<word cardinal="60">Шестьдесят-</word>
|
7271
|
+
<word ordinal="60">Шестидесятое </word>
|
7272
|
+
<word cardinal="70">Семьдесят-</word>
|
7273
|
+
<word ordinal="70">Семидесятое </word>
|
7274
|
+
<word cardinal="80">Восемьдесят-</word>
|
7275
|
+
<word ordinal="80">Восьмидесятое </word>
|
7276
|
+
<word cardinal="90">Девяносто-</word>
|
7277
|
+
<word ordinal="90">Девяностое </word>
|
7278
|
+
<word cardinal="100">Сто-</word>
|
7279
|
+
<word ordinal="100">Сотое </word>
|
7280
|
+
</xsl:when>
|
7281
|
+
<xsl:otherwise> <!-- default english -->
|
7282
|
+
<word cardinal="1">One-</word>
|
7283
|
+
<word ordinal="1">First </word>
|
7284
|
+
<word cardinal="2">Two-</word>
|
7285
|
+
<word ordinal="2">Second </word>
|
7286
|
+
<word cardinal="3">Three-</word>
|
7287
|
+
<word ordinal="3">Third </word>
|
7288
|
+
<word cardinal="4">Four-</word>
|
7289
|
+
<word ordinal="4">Fourth </word>
|
7290
|
+
<word cardinal="5">Five-</word>
|
7291
|
+
<word ordinal="5">Fifth </word>
|
7292
|
+
<word cardinal="6">Six-</word>
|
7293
|
+
<word ordinal="6">Sixth </word>
|
7294
|
+
<word cardinal="7">Seven-</word>
|
7295
|
+
<word ordinal="7">Seventh </word>
|
7296
|
+
<word cardinal="8">Eight-</word>
|
7297
|
+
<word ordinal="8">Eighth </word>
|
7298
|
+
<word cardinal="9">Nine-</word>
|
7299
|
+
<word ordinal="9">Ninth </word>
|
7300
|
+
<word ordinal="10">Tenth </word>
|
7301
|
+
<word ordinal="11">Eleventh </word>
|
7302
|
+
<word ordinal="12">Twelfth </word>
|
7303
|
+
<word ordinal="13">Thirteenth </word>
|
7304
|
+
<word ordinal="14">Fourteenth </word>
|
7305
|
+
<word ordinal="15">Fifteenth </word>
|
7306
|
+
<word ordinal="16">Sixteenth </word>
|
7307
|
+
<word ordinal="17">Seventeenth </word>
|
7308
|
+
<word ordinal="18">Eighteenth </word>
|
7309
|
+
<word ordinal="19">Nineteenth </word>
|
7310
|
+
<word cardinal="20">Twenty-</word>
|
7311
|
+
<word ordinal="20">Twentieth </word>
|
7312
|
+
<word cardinal="30">Thirty-</word>
|
7313
|
+
<word ordinal="30">Thirtieth </word>
|
7314
|
+
<word cardinal="40">Forty-</word>
|
7315
|
+
<word ordinal="40">Fortieth </word>
|
7316
|
+
<word cardinal="50">Fifty-</word>
|
7317
|
+
<word ordinal="50">Fiftieth </word>
|
7318
|
+
<word cardinal="60">Sixty-</word>
|
7319
|
+
<word ordinal="60">Sixtieth </word>
|
7320
|
+
<word cardinal="70">Seventy-</word>
|
7321
|
+
<word ordinal="70">Seventieth </word>
|
7322
|
+
<word cardinal="80">Eighty-</word>
|
7323
|
+
<word ordinal="80">Eightieth </word>
|
7324
|
+
<word cardinal="90">Ninety-</word>
|
7325
|
+
<word ordinal="90">Ninetieth </word>
|
7326
|
+
<word cardinal="100">Hundred-</word>
|
7327
|
+
<word ordinal="100">Hundredth </word>
|
7328
|
+
</xsl:otherwise>
|
7329
|
+
</xsl:choose>
|
7161
7330
|
</words>
|
7162
7331
|
</xsl:variable>
|
7163
7332
|
|
@@ -7231,4 +7400,18 @@
|
|
7231
7400
|
<xsl:otherwise>_</xsl:otherwise>
|
7232
7401
|
</xsl:choose>
|
7233
7402
|
</xsl:attribute>
|
7403
|
+
</xsl:template><xsl:template name="substring-after-last">
|
7404
|
+
<xsl:param name="value"/>
|
7405
|
+
<xsl:param name="delimiter"/>
|
7406
|
+
<xsl:choose>
|
7407
|
+
<xsl:when test="contains($value, $delimiter)">
|
7408
|
+
<xsl:call-template name="substring-after-last">
|
7409
|
+
<xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
|
7410
|
+
<xsl:with-param name="delimiter" select="$delimiter"/>
|
7411
|
+
</xsl:call-template>
|
7412
|
+
</xsl:when>
|
7413
|
+
<xsl:otherwise>
|
7414
|
+
<xsl:value-of select="$value"/>
|
7415
|
+
</xsl:otherwise>
|
7416
|
+
</xsl:choose>
|
7234
7417
|
</xsl:template></xsl:stylesheet>
|
data/lib/isodoc/iho/xref.rb
CHANGED
@@ -6,25 +6,27 @@ module IsoDoc
|
|
6
6
|
end
|
7
7
|
|
8
8
|
class Xref < IsoDoc::Generic::Xref
|
9
|
+
def annexlbl(cond)
|
10
|
+
cond ? @labels["appendix"] : @labels["annex"]
|
11
|
+
end
|
12
|
+
|
9
13
|
def annex_name_lbl(clause, num)
|
10
|
-
lbl = clause["obligation"] == "informative"
|
11
|
-
@labels["appendix"] : @labels["annex"]
|
14
|
+
lbl = annexlbl(clause["obligation"] == "informative")
|
12
15
|
l10n("<strong>#{lbl} #{num}</strong>")
|
13
16
|
end
|
14
17
|
|
15
18
|
def annex_names(clause, num)
|
16
19
|
appendix_names(clause, num)
|
17
|
-
lbl = clause["obligation"] == "informative"
|
18
|
-
@labels["appendix"] : @labels["annex"]
|
20
|
+
lbl = annexlbl(clause["obligation"] == "informative")
|
19
21
|
@anchors[clause["id"]] =
|
20
|
-
{ label: annex_name_lbl(clause, num), type: "clause",
|
21
|
-
xref: l10n("#{lbl} #{num}"), level: 1, value:
|
22
|
+
{ label: annex_name_lbl(clause, num), type: "clause", elem: lbl,
|
23
|
+
xref: l10n("#{lbl} #{num}"), level: 1, value: num }
|
22
24
|
if a = single_annex_special_section(clause)
|
23
|
-
annex_names1(a,
|
25
|
+
annex_names1(a, num.to_s, 1)
|
24
26
|
else
|
25
27
|
i = Counter.new
|
26
|
-
clause.xpath(ns("./clause | ./references | ./terms | ./definitions"))
|
27
|
-
each do |c|
|
28
|
+
clause.xpath(ns("./clause | ./references | ./terms | ./definitions"))
|
29
|
+
.each do |c|
|
28
30
|
i.increment(c)
|
29
31
|
annex_names1(c, "#{num}.#{i.print}", 2)
|
30
32
|
end
|
@@ -35,36 +37,36 @@ module IsoDoc
|
|
35
37
|
def back_anchor_names(docxml)
|
36
38
|
super
|
37
39
|
i = Counter.new
|
38
|
-
docxml.xpath(ns("//annex[@obligation = 'informative']"))
|
39
|
-
each do |c|
|
40
|
+
docxml.xpath(ns("//annex[@obligation = 'informative']"))
|
41
|
+
.each do |c|
|
40
42
|
i.increment(c)
|
41
43
|
annex_names(c, i.print)
|
42
44
|
end
|
43
45
|
i = Counter.new("@", skip_i: true)
|
44
|
-
docxml.xpath(ns("//annex[not(@obligation = 'informative')]"))
|
45
|
-
each do |c|
|
46
|
+
docxml.xpath(ns("//annex[not(@obligation = 'informative')]"))
|
47
|
+
.each do |c|
|
46
48
|
i.increment(c)
|
47
49
|
annex_names(c, i.print)
|
48
50
|
end
|
49
51
|
end
|
50
52
|
|
51
53
|
def annex_names1(clause, num, level)
|
52
|
-
lbl = clause.at("./ancestor::xmlns:annex/@obligation")
|
53
|
-
|
54
|
+
lbl = annexlbl(clause.at("./ancestor::xmlns:annex/@obligation")
|
55
|
+
.text == "informative")
|
54
56
|
@anchors[clause["id"]] =
|
55
57
|
{ label: num, xref: l10n("#{lbl} #{num}"),
|
56
58
|
level: level, type: "clause" }
|
57
|
-
|
58
|
-
clause.xpath(ns("./clause | ./references | ./terms | ./definitions"))
|
59
|
-
each do |c|
|
59
|
+
i = Counter.new
|
60
|
+
clause.xpath(ns("./clause | ./references | ./terms | ./definitions"))
|
61
|
+
.each do |c|
|
60
62
|
i.increment(c)
|
61
63
|
annex_names1(c, "#{num}.#{i.print}", level + 1)
|
62
64
|
end
|
63
65
|
end
|
64
66
|
|
65
|
-
def appendix_names(clause,
|
66
|
-
|
67
|
-
clause.xpath(ns("./appendix")).
|
67
|
+
def appendix_names(clause, _num)
|
68
|
+
i = Counter.new
|
69
|
+
clause.xpath(ns("./appendix")).each do |c|
|
68
70
|
i.increment(c)
|
69
71
|
@anchors[c["id"]] =
|
70
72
|
anchor_struct(i.print, nil, @labels["appendix"], "clause")
|
@@ -73,16 +75,17 @@ module IsoDoc
|
|
73
75
|
end
|
74
76
|
end
|
75
77
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
78
|
+
def section_names1(clause, num, level)
|
79
|
+
@anchors[clause["id"]] =
|
80
|
+
{ label: num, level: level,
|
81
|
+
xref: l10n("#{@labels['subclause']} #{num}"),
|
82
|
+
type: "clause", elem: @labels["subclause"] }
|
83
|
+
i = Counter.new
|
84
|
+
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
85
|
+
i.increment(c)
|
86
|
+
section_names1(c, "#{num}.#{i.print}", level + 1)
|
87
|
+
end
|
84
88
|
end
|
85
89
|
end
|
86
|
-
end
|
87
90
|
end
|
88
91
|
end
|
@@ -152,9 +152,7 @@
|
|
152
152
|
<data type="boolean"/>
|
153
153
|
</attribute>
|
154
154
|
</optional>
|
155
|
-
<
|
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>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-iho
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.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-
|
11
|
+
date: 2022-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: htmlentities
|