metanorma-iso 2.4.4 → 2.4.5

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: 308ac6c1642768f00dffc35ad57d160347fbdb8351d95f81737b2164a7079ebf
4
- data.tar.gz: a057781a9f8fc94bb40e3c5c2fc4ac90386b4e1f1de8fda1a2da99eb86e18b03
3
+ metadata.gz: 40db1f61265620f3837c8a58cae1a09c775299577c7bf1f0f1b411f907278b17
4
+ data.tar.gz: 81419fb035a102145e0b534cc51691f8438a9aae66c5902bace828af0502ba9e
5
5
  SHA512:
6
- metadata.gz: be2efa9917f39db8dc6b5cf94d85dbdf5188c3fa3f0c1c90bf51471fb0f23e6f773b721fe6259a2324146a3327204d1488c91799fb73c0f961e1928355e68ee1
7
- data.tar.gz: 3e2301571ebeb4eeeeb027f7894d52a7de4659f131298218c81ff71463e4dd097b6aa20830dfb9e918a7a3291d0b4134110e13f93acb3dde14b87cea83b8dbff
6
+ metadata.gz: e9189ed4bb35861bf6b3abe11358e50231bb7ec88282988cb14665648ad32e647753f74cf62489e6dc03e00c80753b241eaf5e9730926ac9b5906d06e6a5493d
7
+ data.tar.gz: 0adb0f893c42c6bbc19630079fff2a680b4429fc6bfd93d25a48bdc431f4fbb171fbc06c5cc6b35f8770950f5524cf6bb4ad898cc298774252ad5b82e8c13b87
@@ -284,6 +284,10 @@
284
284
  <xsl:with-param name="root-style" select="$root-style"/>
285
285
  </xsl:call-template>
286
286
 
287
+ <xsl:if test="/iso:iso-standard/iso:metanorma-extension/iso:presentation-metadata/iso:linenumbers = 'true'">
288
+ <xsl:processing-instruction name="add_line_numbers">true</xsl:processing-instruction>
289
+ </xsl:if>
290
+
287
291
  <fo:layout-master-set>
288
292
 
289
293
  <!-- cover page -->
@@ -4290,7 +4294,7 @@
4290
4294
  </xsl:attribute>
4291
4295
  </xsl:for-each>
4292
4296
 
4293
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
4297
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
4294
4298
  <xsl:if test="$isNoteOrFnExist = 'true'">
4295
4299
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
4296
4300
  </xsl:if>
@@ -4334,7 +4338,7 @@
4334
4338
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
4335
4339
  </xsl:when>
4336
4340
  <xsl:otherwise>
4337
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
4341
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'example') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
4338
4342
  </xsl:otherwise>
4339
4343
  </xsl:choose>
4340
4344
 
@@ -4881,7 +4885,7 @@
4881
4885
  <xsl:param name="colwidths"/>
4882
4886
  <xsl:param name="colgroup"/>
4883
4887
 
4884
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4888
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4885
4889
 
4886
4890
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
4887
4891
 
@@ -4954,6 +4958,7 @@
4954
4958
  <xsl:apply-templates select="../*[local-name()='p']"/>
4955
4959
  <xsl:apply-templates select="../*[local-name()='dl']"/>
4956
4960
  <xsl:apply-templates select="../*[local-name()='note']"/>
4961
+ <xsl:apply-templates select="../*[local-name()='example']"/>
4957
4962
  <xsl:apply-templates select="../*[local-name()='source']"/>
4958
4963
 
4959
4964
  <xsl:variable name="isDisplayRowSeparator">
@@ -4962,7 +4967,7 @@
4962
4967
 
4963
4968
  <!-- horizontal row separator -->
4964
4969
  <xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
4965
- <xsl:if test="../*[local-name()='note'] and normalize-space($table_fn_block) != ''">
4970
+ <xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
4966
4971
  <fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
4967
4972
 
4968
4973
  <xsl:call-template name="setBordersTableArray"/>
@@ -5267,13 +5272,13 @@
5267
5272
  </fo:table-cell>
5268
5273
  </xsl:template> <!-- td -->
5269
5274
 
5270
- <xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
5275
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
5271
5276
 
5272
5277
  <fo:block xsl:use-attribute-sets="table-note-style">
5273
5278
 
5274
5279
  <xsl:call-template name="refine_table-note-style"/>
5275
5280
 
5276
- <!-- Table's note name (NOTE, for example) -->
5281
+ <!-- Table's note/example name (NOTE, for example) -->
5277
5282
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
5278
5283
 
5279
5284
  <xsl:call-template name="refine_table-note-name-style"/>
@@ -5287,7 +5292,7 @@
5287
5292
 
5288
5293
  </xsl:template> <!-- table/note -->
5289
5294
 
5290
- <xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
5295
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name()='example']/*[local-name()='p']" priority="2">
5291
5296
  <xsl:apply-templates/>
5292
5297
  </xsl:template>
5293
5298
 
@@ -10317,6 +10322,12 @@
10317
10322
 
10318
10323
  </xsl:template>
10319
10324
 
10325
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
10326
+ <fo:inline xsl:use-attribute-sets="example-name-style">
10327
+ <xsl:apply-templates/>
10328
+ </fo:inline>
10329
+ </xsl:template>
10330
+
10320
10331
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
10321
10332
  <xsl:param name="fo_element">block</xsl:param>
10322
10333
 
@@ -10891,6 +10902,9 @@
10891
10902
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
10892
10903
  </xsl:choose>
10893
10904
  </xsl:when>
10905
+ <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10906
+ <xsl:value-of select="@label"/>
10907
+ </xsl:when>
10894
10908
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
10895
10909
 
10896
10910
  <!-- Example: for BSI <?list-start 2?> -->
@@ -10948,10 +10962,10 @@
10948
10962
  <xsl:when test="$type = 'arabic'">
10949
10963
  1)
10950
10964
  </xsl:when>
10951
- <xsl:when test="$type = 'alphabet'">
10965
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
10952
10966
  a)
10953
10967
  </xsl:when>
10954
- <xsl:when test="$type = 'alphabet_upper'">
10968
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
10955
10969
  A.
10956
10970
  </xsl:when>
10957
10971
  <xsl:when test="$type = 'roman'">
@@ -284,6 +284,10 @@
284
284
  <xsl:with-param name="root-style" select="$root-style"/>
285
285
  </xsl:call-template>
286
286
 
287
+ <xsl:if test="/iso:iso-standard/iso:metanorma-extension/iso:presentation-metadata/iso:linenumbers = 'true'">
288
+ <xsl:processing-instruction name="add_line_numbers">true</xsl:processing-instruction>
289
+ </xsl:if>
290
+
287
291
  <fo:layout-master-set>
288
292
 
289
293
  <!-- cover page -->
@@ -4290,7 +4294,7 @@
4290
4294
  </xsl:attribute>
4291
4295
  </xsl:for-each>
4292
4296
 
4293
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
4297
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
4294
4298
  <xsl:if test="$isNoteOrFnExist = 'true'">
4295
4299
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
4296
4300
  </xsl:if>
@@ -4334,7 +4338,7 @@
4334
4338
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
4335
4339
  </xsl:when>
4336
4340
  <xsl:otherwise>
4337
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
4341
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'example') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
4338
4342
  </xsl:otherwise>
4339
4343
  </xsl:choose>
4340
4344
 
@@ -4881,7 +4885,7 @@
4881
4885
  <xsl:param name="colwidths"/>
4882
4886
  <xsl:param name="colgroup"/>
4883
4887
 
4884
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4888
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4885
4889
 
4886
4890
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
4887
4891
 
@@ -4954,6 +4958,7 @@
4954
4958
  <xsl:apply-templates select="../*[local-name()='p']"/>
4955
4959
  <xsl:apply-templates select="../*[local-name()='dl']"/>
4956
4960
  <xsl:apply-templates select="../*[local-name()='note']"/>
4961
+ <xsl:apply-templates select="../*[local-name()='example']"/>
4957
4962
  <xsl:apply-templates select="../*[local-name()='source']"/>
4958
4963
 
4959
4964
  <xsl:variable name="isDisplayRowSeparator">
@@ -4962,7 +4967,7 @@
4962
4967
 
4963
4968
  <!-- horizontal row separator -->
4964
4969
  <xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
4965
- <xsl:if test="../*[local-name()='note'] and normalize-space($table_fn_block) != ''">
4970
+ <xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
4966
4971
  <fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
4967
4972
 
4968
4973
  <xsl:call-template name="setBordersTableArray"/>
@@ -5267,13 +5272,13 @@
5267
5272
  </fo:table-cell>
5268
5273
  </xsl:template> <!-- td -->
5269
5274
 
5270
- <xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
5275
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
5271
5276
 
5272
5277
  <fo:block xsl:use-attribute-sets="table-note-style">
5273
5278
 
5274
5279
  <xsl:call-template name="refine_table-note-style"/>
5275
5280
 
5276
- <!-- Table's note name (NOTE, for example) -->
5281
+ <!-- Table's note/example name (NOTE, for example) -->
5277
5282
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
5278
5283
 
5279
5284
  <xsl:call-template name="refine_table-note-name-style"/>
@@ -5287,7 +5292,7 @@
5287
5292
 
5288
5293
  </xsl:template> <!-- table/note -->
5289
5294
 
5290
- <xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
5295
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name()='example']/*[local-name()='p']" priority="2">
5291
5296
  <xsl:apply-templates/>
5292
5297
  </xsl:template>
5293
5298
 
@@ -10317,6 +10322,12 @@
10317
10322
 
10318
10323
  </xsl:template>
10319
10324
 
10325
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
10326
+ <fo:inline xsl:use-attribute-sets="example-name-style">
10327
+ <xsl:apply-templates/>
10328
+ </fo:inline>
10329
+ </xsl:template>
10330
+
10320
10331
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
10321
10332
  <xsl:param name="fo_element">block</xsl:param>
10322
10333
 
@@ -10891,6 +10902,9 @@
10891
10902
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
10892
10903
  </xsl:choose>
10893
10904
  </xsl:when>
10905
+ <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10906
+ <xsl:value-of select="@label"/>
10907
+ </xsl:when>
10894
10908
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
10895
10909
 
10896
10910
  <!-- Example: for BSI <?list-start 2?> -->
@@ -10948,10 +10962,10 @@
10948
10962
  <xsl:when test="$type = 'arabic'">
10949
10963
  1)
10950
10964
  </xsl:when>
10951
- <xsl:when test="$type = 'alphabet'">
10965
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
10952
10966
  a)
10953
10967
  </xsl:when>
10954
- <xsl:when test="$type = 'alphabet_upper'">
10968
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
10955
10969
  A.
10956
10970
  </xsl:when>
10957
10971
  <xsl:when test="$type = 'roman'">
@@ -105,9 +105,9 @@ module IsoDoc
105
105
  def admonition1(elem)
106
106
  super
107
107
  n = elem.at(ns("./name")) or return
108
- p = n.next_element
109
- p.name == "p" or return
110
- p.children.first.previous = admonition_name(to_xml(n.remove.children))
108
+ if (p = n.next_element) && p&.name == "p"
109
+ p.children.first.previous = admonition_name(to_xml(n.remove.children))
110
+ end
111
111
  end
112
112
 
113
113
  def admonition_name(xml)
@@ -13,7 +13,6 @@ module IsoDoc
13
13
 
14
14
  def can_conflate_eref_rendering?(refs)
15
15
  super or return false
16
-
17
16
  first = subclause?(nil, refs.first.at(ns("./locality/@type"))&.text,
18
17
  refs.first.at(ns("./locality/referenceFrom"))&.text)
19
18
  refs.all? do |r|
@@ -1012,6 +1012,7 @@
1012
1012
  <ref name="del"/>
1013
1013
  <ref name="span"/>
1014
1014
  <ref name="erefstack"/>
1015
+ <ref name="date_inline"/>
1015
1016
  </choice>
1016
1017
  </define>
1017
1018
  <define name="add">
@@ -1053,6 +1054,23 @@
1053
1054
  </oneOrMore>
1054
1055
  </element>
1055
1056
  </define>
1057
+ <define name="date_inline">
1058
+ <element name="date">
1059
+ <attribute name="value"/>
1060
+ <optional>
1061
+ <attribute name="format"/>
1062
+ </optional>
1063
+ <optional>
1064
+ <attribute name="language"/>
1065
+ </optional>
1066
+ <optional>
1067
+ <attribute name="script"/>
1068
+ </optional>
1069
+ <optional>
1070
+ <attribute name="locale"/>
1071
+ </optional>
1072
+ </element>
1073
+ </define>
1056
1074
  <define name="concept">
1057
1075
  <element name="concept">
1058
1076
  <optional>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module ISO
3
- VERSION = "2.4.4".freeze
3
+ VERSION = "2.4.5".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.4
4
+ version: 2.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-22 00:00:00.000000000 Z
11
+ date: 2023-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-standoc