metanorma-iho 1.0.14 → 1.0.16

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7cdfebb993b782a2c17eaf34610fd07f8351425743814f3e57167d7991af5edf
4
- data.tar.gz: cde48a080e752f287ce934c1fd8f9786b2cf03dc18e8083fcb310c9e5ca77945
3
+ metadata.gz: fabe86221211d88962e1b6520a72d7ecc9ba842a7c04d87aed2c379eaf1752fb
4
+ data.tar.gz: 31cbef779d6b01b48903066ff266d0a1de1d18064b1015a5447b5d8104be3a58
5
5
  SHA512:
6
- metadata.gz: b9018d84334f416d6e26d10ee6b447c37758e401803f76499c1d337bf1e6b26b76a824aeab8854bc3708be49f7778df72ca37375a31e3305f08eb6d594a2df2f
7
- data.tar.gz: 5be59f0634e3fbcd8abf2b31c114f47554e6a7a4889a7308510c4852ef903b5b833019f617f3209e3fa0ffaec765a40e45db604f5ae3ee9f135cd3bd7f13b045
6
+ metadata.gz: 8b96d34deb88167129d01f0c4b39f87910ccbe3967a779c161df496224e5d04fd52edb21db5a0c34f308c33bd8054db6bb0cdbdab4ebc9de61227edb92b07d95
7
+ data.tar.gz: 3bdfcc58087628650e0405a3078614c26ae8bddd1852206783642cc39af42d36ef5f8f3af300e19b3d99c7d15e3c4911661f7644d4d45a8a7ecddd9d95e9cc93
@@ -2066,6 +2066,9 @@
2066
2066
 
2067
2067
  </xsl:attribute-set>
2068
2068
 
2069
+ <xsl:attribute-set name="related-block-style" use-attribute-sets="preferred-block-style">
2070
+ </xsl:attribute-set>
2071
+
2069
2072
  <xsl:attribute-set name="definition-style">
2070
2073
 
2071
2074
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -4305,7 +4308,9 @@
4305
4308
  <xsl:with-param name="element">
4306
4309
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
4307
4310
  <fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
4311
+
4308
4312
  <xsl:copy-of select="$current_fn_number_text"/>
4313
+
4309
4314
  </fo:inline>
4310
4315
  </fo:basic-link>
4311
4316
  </xsl:with-param>
@@ -4324,8 +4329,7 @@
4324
4329
 
4325
4330
  <fo:block-container xsl:use-attribute-sets="fn-container-body-style" role="SKIP">
4326
4331
 
4327
- <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
4328
-
4332
+ <xsl:variable name="fn_block">
4329
4333
  <xsl:call-template name="refine_fn-body-style"/>
4330
4334
 
4331
4335
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style" role="Lbl">
@@ -4333,9 +4337,15 @@
4333
4337
  <xsl:call-template name="refine_fn-body-num-style"/>
4334
4338
 
4335
4339
  <xsl:value-of select="$current_fn_number_text"/>
4340
+
4336
4341
  </fo:inline>
4337
4342
  <xsl:apply-templates/>
4338
- </fo:block>
4343
+ </xsl:variable>
4344
+
4345
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
4346
+ <xsl:copy-of select="$fn_block"/>
4347
+ </fo:block>
4348
+
4339
4349
  </fo:block-container>
4340
4350
  </fo:footnote-body>
4341
4351
  </fo:footnote>
@@ -6180,9 +6190,14 @@
6180
6190
 
6181
6191
  <xsl:variable name="simple-table">
6182
6192
 
6193
+ <xsl:variable name="table_without_semantic_elements">
6194
+ <xsl:apply-templates mode="update_xml_pres"/>
6195
+ </xsl:variable>
6196
+
6183
6197
  <!-- Step 0. replace <br/> to <p>...</p> -->
6184
6198
  <xsl:variable name="table_without_br">
6185
- <xsl:apply-templates mode="table-without-br"/>
6199
+ <!-- <xsl:apply-templates mode="table-without-br"/> -->
6200
+ <xsl:apply-templates select="xalan:nodeset($table_without_semantic_elements)" mode="table-without-br"/>
6186
6201
  </xsl:variable>
6187
6202
 
6188
6203
  <!-- Step 1. colspan processing -->
@@ -10446,14 +10461,17 @@
10446
10461
  </fo:block>
10447
10462
  </xsl:template>
10448
10463
 
10449
- <xsl:template match="*[local-name() = 'domain']">
10464
+ <!-- <xsl:template match="*[local-name() = 'domain']"> -->
10450
10465
  <!-- https://github.com/metanorma/isodoc/issues/607
10451
10466
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
10452
10467
  <xsl:text> </xsl:text> -->
10453
- <xsl:if test="not(@hidden = 'true')">
10468
+ <!-- <xsl:if test="not(@hidden = 'true')">
10454
10469
  <xsl:apply-templates/>
10455
10470
  </xsl:if>
10456
- </xsl:template>
10471
+ </xsl:template> -->
10472
+
10473
+ <!-- https://github.com/metanorma/isodoc/issues/632#issuecomment-2567163931 -->
10474
+ <xsl:template match="*[local-name() = 'domain']"/>
10457
10475
 
10458
10476
  <xsl:template match="*[local-name() = 'admitted']">
10459
10477
  <fo:block xsl:use-attribute-sets="admitted-style">
@@ -10468,9 +10486,11 @@
10468
10486
  </xsl:template>
10469
10487
 
10470
10488
  <xsl:template name="setStyle_preferred">
10471
- <xsl:if test="*[local-name() = 'strong']">
10472
- <xsl:attribute name="font-weight">normal</xsl:attribute>
10473
- </xsl:if>
10489
+
10490
+ <xsl:if test="*[local-name() = 'strong']">
10491
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
10492
+ </xsl:if>
10493
+
10474
10494
  </xsl:template>
10475
10495
 
10476
10496
  <!-- regarding ISO 10241-1:2011, If there is more than one preferred term, each preferred term follows the previous one on a new line. -->
@@ -10480,6 +10500,17 @@
10480
10500
  </xsl:template>
10481
10501
  <!-- End Preferred, admitted, deprecated -->
10482
10502
 
10503
+ <xsl:template match="*[local-name() = 'fmt-related']">
10504
+ <fo:block role="SKIP" xsl:use-attribute-sets="related-block-style">
10505
+ <xsl:apply-templates/>
10506
+ </fo:block>
10507
+ </xsl:template>
10508
+ <xsl:template match="*[local-name() = 'fmt-related']/*[local-name() = 'p']" priority="4">
10509
+ <fo:block>
10510
+ <xsl:apply-templates/>
10511
+ </fo:block>
10512
+ </xsl:template>
10513
+
10483
10514
  <!-- ========== -->
10484
10515
  <!-- definition -->
10485
10516
  <!-- ========== -->
@@ -11380,6 +11411,7 @@
11380
11411
 
11381
11412
  <!-- Normative references -->
11382
11413
  <xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
11414
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
11383
11415
 
11384
11416
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-normative-list-style">
11385
11417
 
@@ -12101,7 +12133,8 @@
12101
12133
  <!-- add @id - first element with @id plus '_element_name' -->
12102
12134
  <xsl:variable name="prefix_id_" select="(.//*[@id])[1]/@id"/>
12103
12135
  <xsl:variable name="prefix_id"><xsl:value-of select="$prefix_id_"/><xsl:if test="normalize-space($prefix_id_) = ''"><xsl:value-of select="generate-id()"/></xsl:if></xsl:variable>
12104
- <xsl:attribute name="id"><xsl:value-of select="$prefix_id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
12136
+ <xsl:variable name="document_suffix" select="ancestor::*[contains(local-name(), '-standard')]/@document_suffix"/>
12137
+ <xsl:attribute name="id"><xsl:value-of select="concat($prefix_id, '_', local-name(), '_', $document_suffix)"/></xsl:attribute>
12105
12138
  </xsl:if>
12106
12139
  </xsl:template>
12107
12140
 
@@ -12158,6 +12191,31 @@
12158
12191
  <xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_pres"/>
12159
12192
  <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
12160
12193
  <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_pres"/>
12194
+ <!-- <xsl:template match="*[local-name() = 'preferred'][following-sibling::*[not(local-name() = 'preferred')][1][local-name() = 'fmt-preferred']]" mode="update_xml_step1"/> -->
12195
+ <xsl:template match="*[local-name() = 'preferred']" mode="update_xml_step1"/>
12196
+ <!-- <xsl:template match="*[local-name() = 'preferred'][following-sibling::*[not(local-name() = 'preferred')][1][local-name() = 'fmt-preferred']]" mode="update_xml_pres"/> -->
12197
+ <xsl:template match="*[local-name() = 'preferred']" mode="update_xml_pres"/>
12198
+ <!-- <xsl:template match="*[local-name() = 'admitted'][following-sibling::*[not(local-name() = 'admitted')][1][local-name() = 'fmt-admitted']]" mode="update_xml_step1"/> -->
12199
+ <xsl:template match="*[local-name() = 'admitted']" mode="update_xml_step1"/>
12200
+ <!-- <xsl:template match="*[local-name() = 'admitted'][following-sibling::*[not(local-name() = 'admitted')][1][local-name() = 'fmt-admitted']]" mode="update_xml_pres"/> -->
12201
+ <xsl:template match="*[local-name() = 'admitted']" mode="update_xml_pres"/>
12202
+ <!-- <xsl:template match="*[local-name() = 'deprecates'][following-sibling::*[not(local-name() = 'deprecates')][1][local-name() = 'fmt-deprecates']]" mode="update_xml_step1"/> -->
12203
+ <xsl:template match="*[local-name() = 'deprecates']" mode="update_xml_step1"/>
12204
+ <xsl:template match="*[local-name() = 'related']" mode="update_xml_step1"/>
12205
+ <!-- <xsl:template match="*[local-name() = 'deprecates'][following-sibling::*[not(local-name() = 'deprecates')][1][local-name() = 'fmt-deprecates']]" mode="update_xml_pres"/> -->
12206
+ <xsl:template match="*[local-name() = 'deprecates']" mode="update_xml_pres"/>
12207
+ <xsl:template match="*[local-name() = 'related']" mode="update_xml_pres"/>
12208
+ <!-- <xsl:template match="*[local-name() = 'definition'][following-sibling::*[1][local-name() = 'fmt-definition']]" mode="update_xml_step1"/> -->
12209
+ <xsl:template match="*[local-name() = 'definition']" mode="update_xml_step1"/>
12210
+ <!-- <xsl:template match="*[local-name() = 'definition'][following-sibling::*[1][local-name() = 'fmt-definition']]" mode="update_xml_pres"/> -->
12211
+ <xsl:template match="*[local-name() = 'definition']" mode="update_xml_pres"/>
12212
+ <!-- <xsl:template match="*[local-name() = 'termsource'][following-sibling::*[1][local-name() = 'fmt-termsource']]" mode="update_xml_step1"/> -->
12213
+ <xsl:template match="*[local-name() = 'termsource']" mode="update_xml_step1"/>
12214
+ <!-- <xsl:template match="*[local-name() = 'termsource'][following-sibling::*[1][local-name() = 'fmt-termsource']]" mode="update_xml_pres"/> -->
12215
+ <xsl:template match="*[local-name() = 'termsource']" mode="update_xml_pres"/>
12216
+
12217
+ <xsl:template match="*[local-name() = 'term'][@unnumbered = 'true'][not(.//*[starts-with(local-name(), 'fmt-')])]" mode="update_xml_step1"/>
12218
+ <xsl:template match="*[local-name() = 'term'][@unnumbered = 'true'][not(.//*[starts-with(local-name(), 'fmt-')])]" mode="update_xml_pres"/>
12161
12219
 
12162
12220
  <xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_step1">
12163
12221
  <xsl:copy>
@@ -12190,13 +12248,115 @@
12190
12248
 
12191
12249
  <xsl:template match="*[local-name() = 'fmt-name']"/>
12192
12250
  <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_step1">
12193
- <xsl:element name="name" namespace="{$namespace_full}">
12251
+ <xsl:choose>
12252
+ <xsl:when test="local-name(..) = 'p' and ancestor::*[local-name() = 'table']">
12253
+ <xsl:apply-templates mode="update_xml_step1"/>
12254
+ </xsl:when>
12255
+ <xsl:otherwise>
12256
+ <xsl:element name="name" namespace="{$namespace_full}">
12257
+ <xsl:copy-of select="@*"/>
12258
+ <xsl:apply-templates mode="update_xml_step1"/>
12259
+ </xsl:element>
12260
+ </xsl:otherwise>
12261
+ </xsl:choose>
12262
+ </xsl:template>
12263
+ <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
12264
+ <xsl:choose>
12265
+ <xsl:when test="local-name(..) = 'p' and ancestor::*[local-name() = 'table']">
12266
+ <xsl:apply-templates mode="update_xml_step1"/>
12267
+ </xsl:when>
12268
+ <xsl:otherwise>
12269
+ <xsl:element name="name" namespace="{$namespace_full}">
12270
+ <xsl:copy-of select="@*"/>
12271
+ <xsl:apply-templates mode="update_xml_pres"/>
12272
+ </xsl:element>
12273
+ </xsl:otherwise>
12274
+ </xsl:choose>
12275
+ </xsl:template>
12276
+
12277
+ <xsl:template match="*[local-name() = 'fmt-preferred']"/>
12278
+ <xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_step1">
12279
+ <xsl:apply-templates mode="update_xml_step1"/>
12280
+ </xsl:template>
12281
+ <xsl:template match="*[local-name() = 'fmt-preferred'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-preferred']/*[local-name() = 'p']" mode="update_xml_step1">
12282
+ <xsl:element name="preferred" namespace="{$namespace_full}">
12194
12283
  <xsl:copy-of select="@*"/>
12195
12284
  <xsl:apply-templates mode="update_xml_step1"/>
12196
12285
  </xsl:element>
12197
12286
  </xsl:template>
12198
- <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
12199
- <xsl:element name="name" namespace="{$namespace_full}">
12287
+ <xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_pres">
12288
+ <xsl:apply-templates mode="update_xml_pres"/>
12289
+ </xsl:template>
12290
+ <xsl:template match="*[local-name() = 'fmt-preferred'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-preferred']/*[local-name() = 'p']" mode="update_xml_pres">
12291
+ <xsl:element name="preferred" namespace="{$namespace_full}">
12292
+ <xsl:copy-of select="@*"/>
12293
+ <xsl:apply-templates mode="update_xml_pres"/>
12294
+ </xsl:element>
12295
+ </xsl:template>
12296
+
12297
+ <xsl:template match="*[local-name() = 'fmt-admitted']"/>
12298
+ <xsl:template match="*[local-name() = 'fmt-admitted'][*[local-name() = 'p']]" mode="update_xml_step1">
12299
+ <xsl:apply-templates mode="update_xml_step1"/>
12300
+ </xsl:template>
12301
+ <xsl:template match="*[local-name() = 'fmt-admitted'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-admitted']/*[local-name() = 'p']" mode="update_xml_step1">
12302
+ <xsl:element name="admitted" namespace="{$namespace_full}">
12303
+ <xsl:copy-of select="@*"/>
12304
+ <xsl:apply-templates mode="update_xml_step1"/>
12305
+ </xsl:element>
12306
+ </xsl:template>
12307
+ <xsl:template match="*[local-name() = 'fmt-admitted'][*[local-name() = 'p']]" mode="update_xml_pres">
12308
+ <xsl:apply-templates mode="update_xml_pres"/>
12309
+ </xsl:template>
12310
+ <xsl:template match="*[local-name() = 'fmt-admitted'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-admitted']/*[local-name() = 'p']" mode="update_xml_pres">
12311
+ <xsl:element name="admitted" namespace="{$namespace_full}">
12312
+ <xsl:copy-of select="@*"/>
12313
+ <xsl:apply-templates mode="update_xml_pres"/>
12314
+ </xsl:element>
12315
+ </xsl:template>
12316
+
12317
+ <xsl:template match="*[local-name() = 'fmt-deprecates']"/>
12318
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][*[local-name() = 'p']]" mode="update_xml_step1">
12319
+ <xsl:apply-templates mode="update_xml_step1"/>
12320
+ </xsl:template>
12321
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-deprecates']/*[local-name() = 'p']" mode="update_xml_step1">
12322
+ <xsl:element name="deprecates" namespace="{$namespace_full}">
12323
+ <xsl:copy-of select="@*"/>
12324
+ <xsl:apply-templates mode="update_xml_step1"/>
12325
+ </xsl:element>
12326
+ </xsl:template>
12327
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][*[local-name() = 'p']]" mode="update_xml_pres">
12328
+ <xsl:apply-templates mode="update_xml_pres"/>
12329
+ </xsl:template>
12330
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-deprecates']/*[local-name() = 'p']" mode="update_xml_pres">
12331
+ <xsl:element name="deprecates" namespace="{$namespace_full}">
12332
+ <xsl:copy-of select="@*"/>
12333
+ <xsl:apply-templates mode="update_xml_pres"/>
12334
+ </xsl:element>
12335
+ </xsl:template>
12336
+
12337
+ <xsl:template match="*[local-name() = 'fmt-definition']"/>
12338
+ <xsl:template match="*[local-name() = 'fmt-definition']" mode="update_xml_step1">
12339
+ <xsl:element name="definition" namespace="{$namespace_full}">
12340
+ <xsl:copy-of select="@*"/>
12341
+ <xsl:apply-templates mode="update_xml_step1"/>
12342
+ </xsl:element>
12343
+ </xsl:template>
12344
+ <xsl:template match="*[local-name() = 'fmt-definition']" mode="update_xml_pres">
12345
+ <xsl:element name="definition" namespace="{$namespace_full}">
12346
+ <xsl:copy-of select="@*"/>
12347
+ <xsl:apply-templates mode="update_xml_pres"/>
12348
+ </xsl:element>
12349
+ </xsl:template>
12350
+
12351
+ <xsl:template match="*[local-name() = 'fmt-termsource']"/>
12352
+ <xsl:template match="*[local-name() = 'fmt-termsource']" mode="update_xml_step1">
12353
+ <xsl:element name="termsource" namespace="{$namespace_full}">
12354
+ <xsl:copy-of select="@*"/>
12355
+ <xsl:apply-templates mode="update_xml_step1"/>
12356
+ </xsl:element>
12357
+ </xsl:template>
12358
+ <xsl:template match="*[local-name() = 'fmt-termsource']" mode="update_xml_pres">
12359
+ <xsl:element name="termsource" namespace="{$namespace_full}">
12200
12360
  <xsl:copy-of select="@*"/>
12201
12361
  <xsl:apply-templates mode="update_xml_pres"/>
12202
12362
  </xsl:element>
@@ -12209,6 +12369,9 @@
12209
12369
  <xsl:apply-templates mode="update_xml_pres"/>
12210
12370
  </xsl:template>
12211
12371
 
12372
+ <xsl:template match="*[local-name() = 'semx']">
12373
+ <xsl:apply-templates/>
12374
+ </xsl:template>
12212
12375
  <xsl:template match="*[local-name() = 'semx']" mode="update_xml_step1">
12213
12376
  <xsl:apply-templates mode="update_xml_step1"/>
12214
12377
  </xsl:template>
@@ -13333,7 +13496,7 @@
13333
13496
  </xsl:template>
13334
13497
 
13335
13498
  <xsl:template name="namespaceCheck">
13336
- <xsl:variable name="documentNS" select="namespace-uri(/*)"/>
13499
+ <xsl:variable name="documentNS" select="$namespace_full"/> <!-- namespace-uri(/*) -->
13337
13500
  <xsl:variable name="XSLNS">
13338
13501
 
13339
13502
  <xsl:value-of select="document('')//*/namespace::iho"/>
@@ -13423,6 +13586,9 @@
13423
13586
  <xsl:when test="$formatted = 'true' and string-length($bibdata_updated) != ''">
13424
13587
  <xsl:apply-templates select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
13425
13588
  </xsl:when>
13589
+ <xsl:when test="string-length($bibdata_updated) != ''">
13590
+ <xsl:value-of select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
13591
+ </xsl:when>
13426
13592
  <xsl:when test="$formatted = 'true'">
13427
13593
  <xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
13428
13594
  </xsl:when>
@@ -2066,6 +2066,9 @@
2066
2066
 
2067
2067
  </xsl:attribute-set>
2068
2068
 
2069
+ <xsl:attribute-set name="related-block-style" use-attribute-sets="preferred-block-style">
2070
+ </xsl:attribute-set>
2071
+
2069
2072
  <xsl:attribute-set name="definition-style">
2070
2073
 
2071
2074
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -4305,7 +4308,9 @@
4305
4308
  <xsl:with-param name="element">
4306
4309
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
4307
4310
  <fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
4311
+
4308
4312
  <xsl:copy-of select="$current_fn_number_text"/>
4313
+
4309
4314
  </fo:inline>
4310
4315
  </fo:basic-link>
4311
4316
  </xsl:with-param>
@@ -4324,8 +4329,7 @@
4324
4329
 
4325
4330
  <fo:block-container xsl:use-attribute-sets="fn-container-body-style" role="SKIP">
4326
4331
 
4327
- <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
4328
-
4332
+ <xsl:variable name="fn_block">
4329
4333
  <xsl:call-template name="refine_fn-body-style"/>
4330
4334
 
4331
4335
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style" role="Lbl">
@@ -4333,9 +4337,15 @@
4333
4337
  <xsl:call-template name="refine_fn-body-num-style"/>
4334
4338
 
4335
4339
  <xsl:value-of select="$current_fn_number_text"/>
4340
+
4336
4341
  </fo:inline>
4337
4342
  <xsl:apply-templates/>
4338
- </fo:block>
4343
+ </xsl:variable>
4344
+
4345
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
4346
+ <xsl:copy-of select="$fn_block"/>
4347
+ </fo:block>
4348
+
4339
4349
  </fo:block-container>
4340
4350
  </fo:footnote-body>
4341
4351
  </fo:footnote>
@@ -6180,9 +6190,14 @@
6180
6190
 
6181
6191
  <xsl:variable name="simple-table">
6182
6192
 
6193
+ <xsl:variable name="table_without_semantic_elements">
6194
+ <xsl:apply-templates mode="update_xml_pres"/>
6195
+ </xsl:variable>
6196
+
6183
6197
  <!-- Step 0. replace <br/> to <p>...</p> -->
6184
6198
  <xsl:variable name="table_without_br">
6185
- <xsl:apply-templates mode="table-without-br"/>
6199
+ <!-- <xsl:apply-templates mode="table-without-br"/> -->
6200
+ <xsl:apply-templates select="xalan:nodeset($table_without_semantic_elements)" mode="table-without-br"/>
6186
6201
  </xsl:variable>
6187
6202
 
6188
6203
  <!-- Step 1. colspan processing -->
@@ -10446,14 +10461,17 @@
10446
10461
  </fo:block>
10447
10462
  </xsl:template>
10448
10463
 
10449
- <xsl:template match="*[local-name() = 'domain']">
10464
+ <!-- <xsl:template match="*[local-name() = 'domain']"> -->
10450
10465
  <!-- https://github.com/metanorma/isodoc/issues/607
10451
10466
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
10452
10467
  <xsl:text> </xsl:text> -->
10453
- <xsl:if test="not(@hidden = 'true')">
10468
+ <!-- <xsl:if test="not(@hidden = 'true')">
10454
10469
  <xsl:apply-templates/>
10455
10470
  </xsl:if>
10456
- </xsl:template>
10471
+ </xsl:template> -->
10472
+
10473
+ <!-- https://github.com/metanorma/isodoc/issues/632#issuecomment-2567163931 -->
10474
+ <xsl:template match="*[local-name() = 'domain']"/>
10457
10475
 
10458
10476
  <xsl:template match="*[local-name() = 'admitted']">
10459
10477
  <fo:block xsl:use-attribute-sets="admitted-style">
@@ -10468,9 +10486,11 @@
10468
10486
  </xsl:template>
10469
10487
 
10470
10488
  <xsl:template name="setStyle_preferred">
10471
- <xsl:if test="*[local-name() = 'strong']">
10472
- <xsl:attribute name="font-weight">normal</xsl:attribute>
10473
- </xsl:if>
10489
+
10490
+ <xsl:if test="*[local-name() = 'strong']">
10491
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
10492
+ </xsl:if>
10493
+
10474
10494
  </xsl:template>
10475
10495
 
10476
10496
  <!-- regarding ISO 10241-1:2011, If there is more than one preferred term, each preferred term follows the previous one on a new line. -->
@@ -10480,6 +10500,17 @@
10480
10500
  </xsl:template>
10481
10501
  <!-- End Preferred, admitted, deprecated -->
10482
10502
 
10503
+ <xsl:template match="*[local-name() = 'fmt-related']">
10504
+ <fo:block role="SKIP" xsl:use-attribute-sets="related-block-style">
10505
+ <xsl:apply-templates/>
10506
+ </fo:block>
10507
+ </xsl:template>
10508
+ <xsl:template match="*[local-name() = 'fmt-related']/*[local-name() = 'p']" priority="4">
10509
+ <fo:block>
10510
+ <xsl:apply-templates/>
10511
+ </fo:block>
10512
+ </xsl:template>
10513
+
10483
10514
  <!-- ========== -->
10484
10515
  <!-- definition -->
10485
10516
  <!-- ========== -->
@@ -11380,6 +11411,7 @@
11380
11411
 
11381
11412
  <!-- Normative references -->
11382
11413
  <xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
11414
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
11383
11415
 
11384
11416
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-normative-list-style">
11385
11417
 
@@ -12101,7 +12133,8 @@
12101
12133
  <!-- add @id - first element with @id plus '_element_name' -->
12102
12134
  <xsl:variable name="prefix_id_" select="(.//*[@id])[1]/@id"/>
12103
12135
  <xsl:variable name="prefix_id"><xsl:value-of select="$prefix_id_"/><xsl:if test="normalize-space($prefix_id_) = ''"><xsl:value-of select="generate-id()"/></xsl:if></xsl:variable>
12104
- <xsl:attribute name="id"><xsl:value-of select="$prefix_id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
12136
+ <xsl:variable name="document_suffix" select="ancestor::*[contains(local-name(), '-standard')]/@document_suffix"/>
12137
+ <xsl:attribute name="id"><xsl:value-of select="concat($prefix_id, '_', local-name(), '_', $document_suffix)"/></xsl:attribute>
12105
12138
  </xsl:if>
12106
12139
  </xsl:template>
12107
12140
 
@@ -12158,6 +12191,31 @@
12158
12191
  <xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_pres"/>
12159
12192
  <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
12160
12193
  <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_pres"/>
12194
+ <!-- <xsl:template match="*[local-name() = 'preferred'][following-sibling::*[not(local-name() = 'preferred')][1][local-name() = 'fmt-preferred']]" mode="update_xml_step1"/> -->
12195
+ <xsl:template match="*[local-name() = 'preferred']" mode="update_xml_step1"/>
12196
+ <!-- <xsl:template match="*[local-name() = 'preferred'][following-sibling::*[not(local-name() = 'preferred')][1][local-name() = 'fmt-preferred']]" mode="update_xml_pres"/> -->
12197
+ <xsl:template match="*[local-name() = 'preferred']" mode="update_xml_pres"/>
12198
+ <!-- <xsl:template match="*[local-name() = 'admitted'][following-sibling::*[not(local-name() = 'admitted')][1][local-name() = 'fmt-admitted']]" mode="update_xml_step1"/> -->
12199
+ <xsl:template match="*[local-name() = 'admitted']" mode="update_xml_step1"/>
12200
+ <!-- <xsl:template match="*[local-name() = 'admitted'][following-sibling::*[not(local-name() = 'admitted')][1][local-name() = 'fmt-admitted']]" mode="update_xml_pres"/> -->
12201
+ <xsl:template match="*[local-name() = 'admitted']" mode="update_xml_pres"/>
12202
+ <!-- <xsl:template match="*[local-name() = 'deprecates'][following-sibling::*[not(local-name() = 'deprecates')][1][local-name() = 'fmt-deprecates']]" mode="update_xml_step1"/> -->
12203
+ <xsl:template match="*[local-name() = 'deprecates']" mode="update_xml_step1"/>
12204
+ <xsl:template match="*[local-name() = 'related']" mode="update_xml_step1"/>
12205
+ <!-- <xsl:template match="*[local-name() = 'deprecates'][following-sibling::*[not(local-name() = 'deprecates')][1][local-name() = 'fmt-deprecates']]" mode="update_xml_pres"/> -->
12206
+ <xsl:template match="*[local-name() = 'deprecates']" mode="update_xml_pres"/>
12207
+ <xsl:template match="*[local-name() = 'related']" mode="update_xml_pres"/>
12208
+ <!-- <xsl:template match="*[local-name() = 'definition'][following-sibling::*[1][local-name() = 'fmt-definition']]" mode="update_xml_step1"/> -->
12209
+ <xsl:template match="*[local-name() = 'definition']" mode="update_xml_step1"/>
12210
+ <!-- <xsl:template match="*[local-name() = 'definition'][following-sibling::*[1][local-name() = 'fmt-definition']]" mode="update_xml_pres"/> -->
12211
+ <xsl:template match="*[local-name() = 'definition']" mode="update_xml_pres"/>
12212
+ <!-- <xsl:template match="*[local-name() = 'termsource'][following-sibling::*[1][local-name() = 'fmt-termsource']]" mode="update_xml_step1"/> -->
12213
+ <xsl:template match="*[local-name() = 'termsource']" mode="update_xml_step1"/>
12214
+ <!-- <xsl:template match="*[local-name() = 'termsource'][following-sibling::*[1][local-name() = 'fmt-termsource']]" mode="update_xml_pres"/> -->
12215
+ <xsl:template match="*[local-name() = 'termsource']" mode="update_xml_pres"/>
12216
+
12217
+ <xsl:template match="*[local-name() = 'term'][@unnumbered = 'true'][not(.//*[starts-with(local-name(), 'fmt-')])]" mode="update_xml_step1"/>
12218
+ <xsl:template match="*[local-name() = 'term'][@unnumbered = 'true'][not(.//*[starts-with(local-name(), 'fmt-')])]" mode="update_xml_pres"/>
12161
12219
 
12162
12220
  <xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_step1">
12163
12221
  <xsl:copy>
@@ -12190,13 +12248,115 @@
12190
12248
 
12191
12249
  <xsl:template match="*[local-name() = 'fmt-name']"/>
12192
12250
  <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_step1">
12193
- <xsl:element name="name" namespace="{$namespace_full}">
12251
+ <xsl:choose>
12252
+ <xsl:when test="local-name(..) = 'p' and ancestor::*[local-name() = 'table']">
12253
+ <xsl:apply-templates mode="update_xml_step1"/>
12254
+ </xsl:when>
12255
+ <xsl:otherwise>
12256
+ <xsl:element name="name" namespace="{$namespace_full}">
12257
+ <xsl:copy-of select="@*"/>
12258
+ <xsl:apply-templates mode="update_xml_step1"/>
12259
+ </xsl:element>
12260
+ </xsl:otherwise>
12261
+ </xsl:choose>
12262
+ </xsl:template>
12263
+ <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
12264
+ <xsl:choose>
12265
+ <xsl:when test="local-name(..) = 'p' and ancestor::*[local-name() = 'table']">
12266
+ <xsl:apply-templates mode="update_xml_step1"/>
12267
+ </xsl:when>
12268
+ <xsl:otherwise>
12269
+ <xsl:element name="name" namespace="{$namespace_full}">
12270
+ <xsl:copy-of select="@*"/>
12271
+ <xsl:apply-templates mode="update_xml_pres"/>
12272
+ </xsl:element>
12273
+ </xsl:otherwise>
12274
+ </xsl:choose>
12275
+ </xsl:template>
12276
+
12277
+ <xsl:template match="*[local-name() = 'fmt-preferred']"/>
12278
+ <xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_step1">
12279
+ <xsl:apply-templates mode="update_xml_step1"/>
12280
+ </xsl:template>
12281
+ <xsl:template match="*[local-name() = 'fmt-preferred'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-preferred']/*[local-name() = 'p']" mode="update_xml_step1">
12282
+ <xsl:element name="preferred" namespace="{$namespace_full}">
12194
12283
  <xsl:copy-of select="@*"/>
12195
12284
  <xsl:apply-templates mode="update_xml_step1"/>
12196
12285
  </xsl:element>
12197
12286
  </xsl:template>
12198
- <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
12199
- <xsl:element name="name" namespace="{$namespace_full}">
12287
+ <xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_pres">
12288
+ <xsl:apply-templates mode="update_xml_pres"/>
12289
+ </xsl:template>
12290
+ <xsl:template match="*[local-name() = 'fmt-preferred'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-preferred']/*[local-name() = 'p']" mode="update_xml_pres">
12291
+ <xsl:element name="preferred" namespace="{$namespace_full}">
12292
+ <xsl:copy-of select="@*"/>
12293
+ <xsl:apply-templates mode="update_xml_pres"/>
12294
+ </xsl:element>
12295
+ </xsl:template>
12296
+
12297
+ <xsl:template match="*[local-name() = 'fmt-admitted']"/>
12298
+ <xsl:template match="*[local-name() = 'fmt-admitted'][*[local-name() = 'p']]" mode="update_xml_step1">
12299
+ <xsl:apply-templates mode="update_xml_step1"/>
12300
+ </xsl:template>
12301
+ <xsl:template match="*[local-name() = 'fmt-admitted'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-admitted']/*[local-name() = 'p']" mode="update_xml_step1">
12302
+ <xsl:element name="admitted" namespace="{$namespace_full}">
12303
+ <xsl:copy-of select="@*"/>
12304
+ <xsl:apply-templates mode="update_xml_step1"/>
12305
+ </xsl:element>
12306
+ </xsl:template>
12307
+ <xsl:template match="*[local-name() = 'fmt-admitted'][*[local-name() = 'p']]" mode="update_xml_pres">
12308
+ <xsl:apply-templates mode="update_xml_pres"/>
12309
+ </xsl:template>
12310
+ <xsl:template match="*[local-name() = 'fmt-admitted'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-admitted']/*[local-name() = 'p']" mode="update_xml_pres">
12311
+ <xsl:element name="admitted" namespace="{$namespace_full}">
12312
+ <xsl:copy-of select="@*"/>
12313
+ <xsl:apply-templates mode="update_xml_pres"/>
12314
+ </xsl:element>
12315
+ </xsl:template>
12316
+
12317
+ <xsl:template match="*[local-name() = 'fmt-deprecates']"/>
12318
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][*[local-name() = 'p']]" mode="update_xml_step1">
12319
+ <xsl:apply-templates mode="update_xml_step1"/>
12320
+ </xsl:template>
12321
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-deprecates']/*[local-name() = 'p']" mode="update_xml_step1">
12322
+ <xsl:element name="deprecates" namespace="{$namespace_full}">
12323
+ <xsl:copy-of select="@*"/>
12324
+ <xsl:apply-templates mode="update_xml_step1"/>
12325
+ </xsl:element>
12326
+ </xsl:template>
12327
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][*[local-name() = 'p']]" mode="update_xml_pres">
12328
+ <xsl:apply-templates mode="update_xml_pres"/>
12329
+ </xsl:template>
12330
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-deprecates']/*[local-name() = 'p']" mode="update_xml_pres">
12331
+ <xsl:element name="deprecates" namespace="{$namespace_full}">
12332
+ <xsl:copy-of select="@*"/>
12333
+ <xsl:apply-templates mode="update_xml_pres"/>
12334
+ </xsl:element>
12335
+ </xsl:template>
12336
+
12337
+ <xsl:template match="*[local-name() = 'fmt-definition']"/>
12338
+ <xsl:template match="*[local-name() = 'fmt-definition']" mode="update_xml_step1">
12339
+ <xsl:element name="definition" namespace="{$namespace_full}">
12340
+ <xsl:copy-of select="@*"/>
12341
+ <xsl:apply-templates mode="update_xml_step1"/>
12342
+ </xsl:element>
12343
+ </xsl:template>
12344
+ <xsl:template match="*[local-name() = 'fmt-definition']" mode="update_xml_pres">
12345
+ <xsl:element name="definition" namespace="{$namespace_full}">
12346
+ <xsl:copy-of select="@*"/>
12347
+ <xsl:apply-templates mode="update_xml_pres"/>
12348
+ </xsl:element>
12349
+ </xsl:template>
12350
+
12351
+ <xsl:template match="*[local-name() = 'fmt-termsource']"/>
12352
+ <xsl:template match="*[local-name() = 'fmt-termsource']" mode="update_xml_step1">
12353
+ <xsl:element name="termsource" namespace="{$namespace_full}">
12354
+ <xsl:copy-of select="@*"/>
12355
+ <xsl:apply-templates mode="update_xml_step1"/>
12356
+ </xsl:element>
12357
+ </xsl:template>
12358
+ <xsl:template match="*[local-name() = 'fmt-termsource']" mode="update_xml_pres">
12359
+ <xsl:element name="termsource" namespace="{$namespace_full}">
12200
12360
  <xsl:copy-of select="@*"/>
12201
12361
  <xsl:apply-templates mode="update_xml_pres"/>
12202
12362
  </xsl:element>
@@ -12209,6 +12369,9 @@
12209
12369
  <xsl:apply-templates mode="update_xml_pres"/>
12210
12370
  </xsl:template>
12211
12371
 
12372
+ <xsl:template match="*[local-name() = 'semx']">
12373
+ <xsl:apply-templates/>
12374
+ </xsl:template>
12212
12375
  <xsl:template match="*[local-name() = 'semx']" mode="update_xml_step1">
12213
12376
  <xsl:apply-templates mode="update_xml_step1"/>
12214
12377
  </xsl:template>
@@ -13333,7 +13496,7 @@
13333
13496
  </xsl:template>
13334
13497
 
13335
13498
  <xsl:template name="namespaceCheck">
13336
- <xsl:variable name="documentNS" select="namespace-uri(/*)"/>
13499
+ <xsl:variable name="documentNS" select="$namespace_full"/> <!-- namespace-uri(/*) -->
13337
13500
  <xsl:variable name="XSLNS">
13338
13501
 
13339
13502
  <xsl:value-of select="document('')//*/namespace::iho"/>
@@ -13423,6 +13586,9 @@
13423
13586
  <xsl:when test="$formatted = 'true' and string-length($bibdata_updated) != ''">
13424
13587
  <xsl:apply-templates select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
13425
13588
  </xsl:when>
13589
+ <xsl:when test="string-length($bibdata_updated) != ''">
13590
+ <xsl:value-of select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
13591
+ </xsl:when>
13426
13592
  <xsl:when test="$formatted = 'true'">
13427
13593
  <xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
13428
13594
  </xsl:when>
@@ -124,6 +124,7 @@ _bib)
124
124
 
125
125
  def term1(elem); end
126
126
 
127
+ # KILL
127
128
  def termsource1(elem)
128
129
  elem.parent.nil? and return
129
130
  while elem&.next_element&.name == "termsource"
@@ -135,6 +136,32 @@ _bib)
135
136
  defn.elements.last << s
136
137
  end
137
138
 
139
+ def termsource1(elem)
140
+ elem.parent.nil? and return
141
+ super
142
+ end
143
+
144
+ def termsource_label(elem, sources)
145
+ elem.at("./ancestor::xmlns:term") or return
146
+ elem.replace(l10n("[#{sources}]"))
147
+ end
148
+
149
+ def termcleanup(docxml)
150
+ collapse_term docxml
151
+ super
152
+ end
153
+
154
+ def collapse_term(docxml)
155
+ docxml.xpath(ns("//term")).each { |t| collapse_term1(t) }
156
+ end
157
+
158
+ def collapse_term1(term)
159
+ defn = term.at(ns("./fmt-definition")) or return
160
+ source = term.at(ns("./fmt-termsource")) or return
161
+ defn.elements.last << source.children
162
+ source.remove
163
+ end
164
+
138
165
  def clausedelim
139
166
  ""
140
167
  end
@@ -947,6 +947,8 @@ May be electronic (e.g. Twitter direct message, email) or voice (e.g. a remark m
947
947
  typically cited as "personal communication")</a:documentation>
948
948
  <value>conversation</value>
949
949
  <a:documentation>An exchange of messages between two or more persons. May be electronic (e.g. web chat) or voice (e.g. phone call)</a:documentation>
950
+ <value>collection</value>
951
+ <a:documentation>A compound resource consisting of other resources, which are themselves presupposed to have their type specified..</a:documentation>
950
952
  <value>misc</value>
951
953
  <a:documentation>Bibliographic type not adequately described in the foregoing</a:documentation>
952
954
  </choice>
@@ -1277,17 +1279,17 @@ for which this claim of validity is made, if applicable</a:documentation>
1277
1279
  </define>
1278
1280
  <define name="validityBegins">
1279
1281
  <element name="validityBegins">
1280
- <ref name="ISO8601DateTime"/>
1282
+ <ref name="ISO8601Date"/>
1281
1283
  </element>
1282
1284
  </define>
1283
1285
  <define name="validityEnds">
1284
1286
  <element name="validityEnds">
1285
- <ref name="ISO8601DateTime"/>
1287
+ <ref name="ISO8601Date"/>
1286
1288
  </element>
1287
1289
  </define>
1288
1290
  <define name="validityRevision">
1289
1291
  <element name="revision">
1290
- <ref name="ISO8601DateTime"/>
1292
+ <ref name="ISO8601Date"/>
1291
1293
  </element>
1292
1294
  </define>
1293
1295
  <define name="TypedTitleString">
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Iho
3
- VERSION = "1.0.14".freeze
3
+ VERSION = "1.0.16".freeze
4
4
  end
5
5
  end
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: 1.0.14
4
+ version: 1.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-07 00:00:00.000000000 Z
11
+ date: 2025-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic