metanorma-un 0.9.8.1 → 0.9.9

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: 85830860166400cc933e9de235168b0582c931f951ca3505fd91fa5cc3fa93f6
4
- data.tar.gz: 3ca4eea4370b0cc7c1230f15dce0e69e1d849f9146ade8ae0210264cdbefb5c0
3
+ metadata.gz: f4134dee9f7b858f16da13effd1f60fcec62c1b81c7d1cb6fb00bf14851839fe
4
+ data.tar.gz: 1ca85dfad1fa39a2d5094b62a74f0ed13ce5727368cc1536c3d702e610e1c752
5
5
  SHA512:
6
- metadata.gz: 6221a66550dc77932cfec10479396c6da31df610dfe7b0e9c776b42541a5611f3075296da4808ee810b55e9e496676d302afdeede6f989215ff47dc05e616185
7
- data.tar.gz: 9755fd6f9158ed152e57c8e129921e5252ca00675fa73a6c4a2a8d26fe3eb731914a54b464175ac3e71328ab06d66566ff5fdc0da1310583e091c9fd8591765a
6
+ metadata.gz: 3164723cc1fd0cc5d20195f4d7d52582585dd0c030763554dc819407c3705bef35d93020d257c26d0c3e8ee65cf079af55768c7639c11a403f62139850ef87d5
7
+ data.tar.gz: 2214521c8a53956cc2960db30b4fdf875358dff48a8db4179794b4bf828d32ef7f35f734dcadb602147431397788989f64f00615a0b6cad7d940bf8df03e93b7
@@ -6,8 +6,8 @@ require_relative "i18n"
6
6
  module IsoDoc
7
7
  module UN
8
8
  module Init
9
- def metadata_init(lang, script, labels)
10
- @meta = Metadata.new(lang, script, labels)
9
+ def metadata_init(lang, script, locale, labels)
10
+ @meta = Metadata.new(lang, script, locale, labels)
11
11
  @meta.set(:toc, @toc)
12
12
  end
13
13
 
@@ -16,8 +16,9 @@ module IsoDoc
16
16
  @xrefs = Xref.new(lang, script, html, labels, options)
17
17
  end
18
18
 
19
- def i18n_init(lang, script, i18nyaml = nil)
20
- @i18n = I18n.new(lang, script, i18nyaml: i18nyaml || @i18nyaml)
19
+ def i18n_init(lang, script, locale, i18nyaml = nil)
20
+ @i18n = I18n.new(lang, script, locale: locale,
21
+ i18nyaml: i18nyaml || @i18nyaml)
21
22
  end
22
23
 
23
24
  def fileloc(loc)
@@ -4,9 +4,8 @@ require "iso-639"
4
4
 
5
5
  module IsoDoc
6
6
  module UN
7
-
8
7
  class Metadata < IsoDoc::Metadata
9
- def initialize(lang, script, labels)
8
+ def initialize(lang, script, locale, labels)
10
9
  super
11
10
  here = File.dirname(__FILE__)
12
11
  set(:logo, File.expand_path(File.join(here, "html", "logo.jpg")))
@@ -27,8 +26,8 @@ module IsoDoc
27
26
  def extract_languages(nodeset)
28
27
  lgs = []
29
28
  nodeset.each do |l|
30
- l && ISO_639&.find(l.text)&.english_name &&
31
- lgs << ISO_639.find(l.text).english_name
29
+ l && ISO_639.find(l.text)&.english_name and
30
+ lgs << ISO_639.find(l.text).english_name
32
31
  end
33
32
  lgs.map { |l| l == "Spanish; Castilian" ? "Spanish" : l }
34
33
  end
@@ -36,7 +35,7 @@ module IsoDoc
36
35
  def author(isoxml, _out)
37
36
  tc = isoxml.at(ns("//bibdata/ext/editorialgroup/committee"))
38
37
  set(:tc, tc.text) if tc
39
- set(:distribution, isoxml&.at(ns("//bibdata/ext/distribution"))&.text)
38
+ set(:distribution, isoxml.at(ns("//bibdata/ext/distribution"))&.text)
40
39
  lgs = extract_languages(isoxml.xpath(ns("//bibdata/language")))
41
40
  lgs.sort == %w(English French Arabic Chinese Russian Spanish).sort and
42
41
  lgs = []
@@ -56,23 +55,23 @@ module IsoDoc
56
55
  end
57
56
 
58
57
  def session(isoxml, _out)
59
- set(:session_number, isoxml&.at(ns("//bibdata/ext/session/number"))&.
60
- text&.to_i&.localize&.
61
- to_rbnf_s("SpelloutRules", "spellout-ordinal")&.capitalize)
62
- set(:session_date, isoxml&.at(ns("//bibdata/ext/session/date"))&.text)
58
+ set(:session_number, isoxml.at(ns("//bibdata/ext/session/number"))
59
+ &.text&.to_i&.localize
60
+ &.to_rbnf_s("SpelloutRules", "spellout-ordinal")&.capitalize)
61
+ set(:session_date, isoxml.at(ns("//bibdata/ext/session/date"))&.text)
63
62
  set(:session_collaborator,
64
- isoxml&.at(ns("//bibdata/ext/session/collaborator"))&.text)
65
- sid = isoxml&.at(ns("//bibdata/ext/session/id"))&.text
63
+ isoxml.at(ns("//bibdata/ext/session/collaborator"))&.text)
64
+ sid = isoxml.at(ns("//bibdata/ext/session/id"))&.text
66
65
  set(:session_id, sid)
67
66
  set(:session_id_head, sid&.sub(%r{/.*$}, ""))
68
67
  set(:session_id_tail, sid&.sub(%r{^[^/]+}, ""))
69
- set(:item_footnote,
70
- isoxml&.at(ns("//bibdata/ext/session/item-footnote"))&.text)
71
- set(:session_itemnumber,
68
+ set(:item_footnote,
69
+ isoxml.at(ns("//bibdata/ext/session/item-footnote"))&.text)
70
+ set(:session_itemnumber,
72
71
  multival(isoxml, "//bibdata/ext/session/item-number"))
73
- set(:session_itemname,
72
+ set(:session_itemname,
74
73
  multival(isoxml, "//bibdata/ext/session/item-name"))
75
- set(:session_subitemname,
74
+ set(:session_subitemname,
76
75
  multival(isoxml, "//bibdata/ext/session/subitem-name"))
77
76
  end
78
77
 
@@ -80,8 +79,8 @@ module IsoDoc
80
79
  dn = isoxml.at(ns("//bibdata/docidentifier"))&.text
81
80
  set(:docnumber, dn)
82
81
  type = isoxml&.at(ns("//bibdata/ext/doctype"))&.text
83
- set(:formatted_docnumber, type == "recommendation" ?
84
- "UN/CEFACT Recommendation #{dn}" : dn)
82
+ set(:formatted_docnumber,
83
+ type == "recommendation" ? "UN/CEFACT Recommendation #{dn}" : dn)
85
84
  end
86
85
 
87
86
  def stage_abbr(status)
@@ -6542,6 +6542,18 @@
6542
6542
  </xsl:copy>
6543
6543
  </xsl:template>
6544
6544
 
6545
+ <xsl:template match="*[local-name() = 'sub']" mode="contents_item">
6546
+ <xsl:copy>
6547
+ <xsl:apply-templates mode="contents_item"/>
6548
+ </xsl:copy>
6549
+ </xsl:template>
6550
+
6551
+ <xsl:template match="*[local-name() = 'sup']" mode="contents_item">
6552
+ <xsl:copy>
6553
+ <xsl:apply-templates mode="contents_item"/>
6554
+ </xsl:copy>
6555
+ </xsl:template>
6556
+
6545
6557
  <xsl:template match="*[local-name() = 'stem']" mode="contents_item">
6546
6558
  <xsl:copy-of select="."/>
6547
6559
  </xsl:template>
@@ -6542,6 +6542,18 @@
6542
6542
  </xsl:copy>
6543
6543
  </xsl:template>
6544
6544
 
6545
+ <xsl:template match="*[local-name() = 'sub']" mode="contents_item">
6546
+ <xsl:copy>
6547
+ <xsl:apply-templates mode="contents_item"/>
6548
+ </xsl:copy>
6549
+ </xsl:template>
6550
+
6551
+ <xsl:template match="*[local-name() = 'sup']" mode="contents_item">
6552
+ <xsl:copy>
6553
+ <xsl:apply-templates mode="contents_item"/>
6554
+ </xsl:copy>
6555
+ </xsl:template>
6556
+
6545
6557
  <xsl:template match="*[local-name() = 'stem']" mode="contents_item">
6546
6558
  <xsl:copy-of select="."/>
6547
6559
  </xsl:template>
@@ -6622,6 +6622,18 @@
6622
6622
  </xsl:copy>
6623
6623
  </xsl:template>
6624
6624
 
6625
+ <xsl:template match="*[local-name() = 'sub']" mode="contents_item">
6626
+ <xsl:copy>
6627
+ <xsl:apply-templates mode="contents_item"/>
6628
+ </xsl:copy>
6629
+ </xsl:template>
6630
+
6631
+ <xsl:template match="*[local-name() = 'sup']" mode="contents_item">
6632
+ <xsl:copy>
6633
+ <xsl:apply-templates mode="contents_item"/>
6634
+ </xsl:copy>
6635
+ </xsl:template>
6636
+
6625
6637
  <xsl:template match="*[local-name() = 'stem']" mode="contents_item">
6626
6638
  <xsl:copy-of select="."/>
6627
6639
  </xsl:template>
@@ -25,6 +25,15 @@ module IsoDoc
25
25
  end
26
26
  end
27
27
 
28
+ def asset_anchor_names(doc)
29
+ super
30
+ @parse_settings.empty? or return
31
+ sequential_asset_names(
32
+ doc.xpath(ns("//preface/abstract | //foreword | //introduction | "\
33
+ "//preface/clause | //acknowledgements")),
34
+ )
35
+ end
36
+
28
37
  def clause_names(docxml, _sect_num)
29
38
  q = "//clause[parent::sections]"
30
39
  @paranumber = 0
@@ -73,8 +73,14 @@
73
73
  <text/>
74
74
  </element>
75
75
  </define>
76
- <define name="script">
76
+ <define name="locale">
77
77
  <a:documentation>ISO-639</a:documentation>
78
+ <element name="locale">
79
+ <text/>
80
+ </element>
81
+ </define>
82
+ <define name="script">
83
+ <a:documentation>ISO-3166</a:documentation>
78
84
  <element name="script">
79
85
  <text/>
80
86
  </element>
@@ -93,6 +99,9 @@
93
99
  <!-- multiple languages and scripts possible: comma delimit them if so -->
94
100
  <attribute name="language"/>
95
101
  </optional>
102
+ <optional>
103
+ <attribute name="locale"/>
104
+ </optional>
96
105
  <optional>
97
106
  <attribute name="script"/>
98
107
  </optional>
@@ -136,6 +145,9 @@
136
145
  <!-- multiple languages and scripts possible: comma delimit them if so -->
137
146
  <attribute name="language"/>
138
147
  </optional>
148
+ <optional>
149
+ <attribute name="locale"/>
150
+ </optional>
139
151
  <optional>
140
152
  <attribute name="script"/>
141
153
  </optional>
@@ -650,6 +662,9 @@
650
662
  <zeroOrMore>
651
663
  <ref name="language"/>
652
664
  </zeroOrMore>
665
+ <zeroOrMore>
666
+ <ref name="locale"/>
667
+ </zeroOrMore>
653
668
  <zeroOrMore>
654
669
  <ref name="script"/>
655
670
  </zeroOrMore>
@@ -741,6 +756,9 @@
741
756
  <zeroOrMore>
742
757
  <ref name="language"/>
743
758
  </zeroOrMore>
759
+ <zeroOrMore>
760
+ <ref name="locale"/>
761
+ </zeroOrMore>
744
762
  <zeroOrMore>
745
763
  <ref name="script"/>
746
764
  </zeroOrMore>
@@ -854,6 +872,15 @@
854
872
  <optional>
855
873
  <attribute name="type"/>
856
874
  </optional>
875
+ <optional>
876
+ <attribute name="language"/>
877
+ </optional>
878
+ <optional>
879
+ <attribute name="locale"/>
880
+ </optional>
881
+ <optional>
882
+ <attribute name="script"/>
883
+ </optional>
857
884
  <data type="anyURI"/>
858
885
  </define>
859
886
  <define name="DateType">
@@ -882,6 +909,7 @@
882
909
  <value>vote-started</value>
883
910
  <value>vote-ended</value>
884
911
  <value>announced</value>
912
+ <value>stable-until</value>
885
913
  </choice>
886
914
  </define>
887
915
  <define name="bdate">
@@ -930,6 +958,9 @@
930
958
  <optional>
931
959
  <attribute name="language"/>
932
960
  </optional>
961
+ <optional>
962
+ <attribute name="locale"/>
963
+ </optional>
933
964
  <optional>
934
965
  <attribute name="script"/>
935
966
  </optional>
@@ -51,7 +51,7 @@ module Metanorma
51
51
  def metadata_id(node, xml)
52
52
  dn = node.attr("docnumber")
53
53
  if docstatus = node.attr("status")
54
- abbr = IsoDoc::UN::Metadata.new("en", "Latn", @i18n)
54
+ abbr = IsoDoc::UN::Metadata.new("en", "Latn", "", @i18n)
55
55
  .stage_abbr(docstatus)
56
56
  dn = "#{dn}(#{abbr})" unless abbr.empty?
57
57
  end
@@ -67,13 +67,13 @@ module Metanorma
67
67
  xml.session do |session|
68
68
  session.number node.attr("session") if node.attr("session")
69
69
  session.date node.attr("session-date") if node.attr("session-date")
70
- node&.attr("item-number")&.split(/, */)&.each do |i|
70
+ node.attr("item-number")&.split(/, */)&.each do |i|
71
71
  session.item_number i
72
72
  end
73
- node&.attr("item-name")&.split(/, */)&.each do |i|
73
+ node.attr("item-name")&.split(/, */)&.each do |i|
74
74
  session.item_name i
75
75
  end
76
- node&.attr("subitem-name")&.split(/, */)&.each do |i|
76
+ node.attr("subitem-name")&.split(/, */)&.each do |i|
77
77
  session.subitem_name i
78
78
  end
79
79
  node.attr("collaborator") and
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module UN
3
- VERSION = "0.9.8.1".freeze
3
+ VERSION = "0.9.9".freeze
4
4
  end
5
5
  end
data/metanorma-un.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency "roman-numerals"
31
31
  spec.add_dependency "twitter_cldr"
32
32
 
33
- spec.add_dependency "metanorma-standoc", "~> 2.2.0"
33
+ spec.add_dependency "metanorma-standoc", "~> 2.2.4"
34
34
 
35
35
  spec.add_development_dependency "debug"
36
36
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-un
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8.1
4
+ version: 0.9.9
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-09-07 00:00:00.000000000 Z
11
+ date: 2022-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.2.0
61
+ version: 2.2.4
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.2.0
68
+ version: 2.2.4
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: debug
71
71
  requirement: !ruby/object:Gem::Requirement