mn-requirements 0.3.7 → 0.3.8

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: a2ba672c0841ee7afdaa25c8eb3cd423b7d2033555610508dd548a3a59ca131e
4
- data.tar.gz: 595088ec2f1c850dc6654e97a4daa593a5bbca658797a3016f24335af9738bb5
3
+ metadata.gz: 342c7e3d5987ed09613eed6a25d2bd2b4bb9ec3f99580433a45fc80f6611f20b
4
+ data.tar.gz: 23704a2bb65b654c909f3537e49142fae519d83fe12d8ab4e01d316787e43486
5
5
  SHA512:
6
- metadata.gz: fba1dff3fce4185612b7edefa7518e1968b622b52aac5dc27f1373af2ee09990921e0cf0c009faca3a36f649ea600790b72bc887d0a5a90315f821c5449d9941
7
- data.tar.gz: 7c38a1b25ee9aa29501437afb90947ba208038b571b63195529c8ac27afe82d7b9811b98f08605a07ed5b4130b9689b0fadcd038ddb6b3d25ef0e80e1bc7af99
6
+ metadata.gz: e356dd38d78f1a24d20f025a10c9b86277871686b98725b96a8f4be880c0aea46d7c796c7a6e1ebebec1097396289350ef50a029883a25fa15be06bc883ceba8
7
+ data.tar.gz: 2ead2cf4ef9dd45269b6ab70ac2125a4456486e6167dbcc1455358d5fd2f02aa34c071e89101cae1201e71d640c6d0e1d11c788d5704f5aba4f6c8fca45d631b
@@ -104,17 +104,22 @@ module Metanorma
104
104
  end
105
105
 
106
106
  def requirement_metadata1_set_insert(reqt, ins)
107
- return ins if ins
108
-
107
+ ins and return ins
109
108
  reqt.children.first.previous = " "
110
109
  reqt.children.first
111
110
  end
112
111
 
112
+ def unwrap_para(ddef)
113
+ e = ddef.elements and e.size == 1 && e.first.name == "p" and
114
+ ddef = e.first
115
+ ddef.children.to_xml
116
+ end
117
+
113
118
  def reqt_dl_to_classif(ins, reqt, dlist)
114
119
  if a = reqt.at("./classification[last()]") then ins = a end
115
120
  dlist.xpath("./dt[text()='classification']").each do |e|
116
- val = e.at("./following::dd/p") || e.at("./following::dd")
117
- req_classif_parse(val.children.to_xml).each do |r|
121
+ val = e.at("./following::dd").text.strip
122
+ req_classif_parse(val).each do |r|
118
123
  ins.next = "<classification><tag>#{r[0]}</tag>" \
119
124
  "<value>#{r[1]}</value></classification>"
120
125
  ins = ins.next
@@ -136,9 +141,9 @@ module Metanorma
136
141
  end
137
142
 
138
143
  def reqt_dl_to_classif2(term, ins)
139
- val = term.at("./following::dd/p") || e.at("./following::dd")
144
+ val = unwrap_para(term.at("./following::dd"))
140
145
  ins.next = "<classification><tag>#{term.text}</tag>" \
141
- "<value>#{val.children.to_xml}</value></classification>"
146
+ "<value>#{val}</value></classification>"
142
147
  ins.next
143
148
  end
144
149
  end
@@ -92,7 +92,7 @@ module Metanorma
92
92
  requirement_elems(node, ex)
93
93
  wrap_in_para(node, ex)
94
94
  end
95
- end.join("\n")
95
+ end.join("")
96
96
  end
97
97
 
98
98
  def validate(_reqt, _log)
@@ -54,8 +54,7 @@ module Metanorma
54
54
  def gather_consec_table_rows(trow, hdr)
55
55
  ret = []
56
56
  trow.xpath("./following-sibling::xmlns:tr").each do |r|
57
- break unless r.at(ns("./th[text() = '#{hdr}']"))
58
-
57
+ r.at(ns("./th[text() = '#{hdr}']")) or break
59
58
  ret << r.remove.at(ns("./td")).children.to_xml
60
59
  end
61
60
  ret
@@ -78,8 +77,7 @@ module Metanorma
78
77
  end
79
78
 
80
79
  def strip_id_base(elem, base)
81
- return elem.children if base.nil?
82
-
80
+ base.nil? and return elem.children
83
81
  elem.children.to_xml.delete_prefix(base)
84
82
  end
85
83
 
@@ -98,7 +96,8 @@ module Metanorma
98
96
  def expand_xrefs_in_reqt(table)
99
97
  table.xpath(ns(".//xref[not(@style)][normalize-space(text()) = '']"))
100
98
  .each do |x|
101
- x << @xrefs.anchor(x["target"], :xref, false)
99
+ ref = @xrefs.anchor(x["target"], :xref, false) or next
100
+ x << ref
102
101
  end
103
102
  end
104
103
 
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  class Requirements
3
- VERSION = "0.3.7".freeze
3
+ VERSION = "0.3.8".freeze
4
4
  end
5
5
  end
@@ -40,4 +40,5 @@ Gem::Specification.new do |spec|
40
40
  spec.add_development_dependency "sassc", "2.4.0"
41
41
  spec.add_development_dependency "simplecov", "~> 0.15"
42
42
  spec.add_development_dependency "timecop", "~> 0.9"
43
+ spec.add_development_dependency "xml-c14n"
43
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mn-requirements
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-03 00:00:00.000000000 Z
11
+ date: 2024-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: isodoc-i18n
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0.9'
195
+ - !ruby/object:Gem::Dependency
196
+ name: xml-c14n
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
195
209
  description: 'Requirements processing and rendering according to different models
196
210
 
197
211
  '