metanorma-iso 2.0.4 → 2.0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/iso/html/header.html +42 -33
- data/lib/isodoc/iso/html/isodoc.css +9 -7
- data/lib/isodoc/iso/html/isodoc.scss +7 -5
- data/lib/isodoc/iso/html/style-human.css +0 -1
- data/lib/isodoc/iso/html/style-human.scss +0 -1
- data/lib/isodoc/iso/html/style-iso.css +0 -1
- data/lib/isodoc/iso/html/style-iso.scss +0 -1
- data/lib/isodoc/iso/html/word_iso_titlepage.html +12 -11
- data/lib/isodoc/iso/html/wordstyle.css +46 -19
- data/lib/isodoc/iso/html/wordstyle.scss +52 -25
- data/lib/isodoc/iso/i18n-en.yaml +7 -2
- data/lib/isodoc/iso/i18n-fr.yaml +5 -2
- data/lib/isodoc/iso/i18n-ru.yaml +5 -2
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +6 -2
- data/lib/isodoc/iso/init.rb +1 -2
- data/lib/isodoc/iso/iso.amendment.xsl +704 -328
- data/lib/isodoc/iso/iso.international-standard.xsl +704 -328
- data/lib/isodoc/iso/presentation_xml_convert.rb +58 -21
- data/lib/metanorma/iso/boilerplate-fr.xml +5 -6
- data/lib/metanorma/iso/boilerplate-ru.xml +4 -6
- data/lib/metanorma/iso/boilerplate.xml +5 -6
- data/lib/metanorma/iso/cleanup.rb +43 -10
- data/lib/metanorma/iso/front_id.rb +1 -0
- data/lib/metanorma/iso/processor.rb +14 -7
- data/lib/metanorma/iso/validate.rb +29 -1
- data/lib/metanorma/iso/validate_image.rb +3 -3
- data/lib/metanorma/iso/validate_list.rb +122 -0
- data/lib/metanorma/iso/validate_section.rb +39 -32
- data/lib/metanorma/iso/validate_style.rb +32 -2
- data/lib/metanorma/iso/validate_title.rb +13 -1
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +1 -1
- data/spec/isodoc/inline_spec.rb +127 -10
- data/spec/isodoc/postproc_spec.rb +2 -4
- data/spec/isodoc/terms_spec.rb +4 -4
- data/spec/metanorma/cleanup_spec.rb +11 -11
- data/spec/metanorma/refs_spec.rb +273 -61
- data/spec/metanorma/section_spec.rb +18 -26
- data/spec/metanorma/validate_spec.rb +448 -17
- data/spec/spec_helper.rb +6 -4
- data/spec/vcr_cassettes/docrels.yml +393 -0
- data/spec/vcr_cassettes/withdrawn_iso.yml +301 -0
- metadata +8 -5
@@ -70,8 +70,8 @@ module Metanorma
|
|
70
70
|
style(node, extract_text(node))
|
71
71
|
end
|
72
72
|
|
73
|
-
def style_regex(regex, warning,
|
74
|
-
(m = regex.match(text)) && style_warning(
|
73
|
+
def style_regex(regex, warning, node, text)
|
74
|
+
(m = regex.match(text)) && style_warning(node, warning, m[:num])
|
75
75
|
end
|
76
76
|
|
77
77
|
# style check with a regex on a token
|
@@ -96,10 +96,12 @@ module Metanorma
|
|
96
96
|
style_percent(node, text)
|
97
97
|
style_abbrev(node, text)
|
98
98
|
style_units(node, text)
|
99
|
+
style_punct(node, text)
|
99
100
|
end
|
100
101
|
|
101
102
|
# ISO/IEC DIR 2, 9.1
|
102
103
|
# ISO/IEC DIR 2, Table B.1
|
104
|
+
# https://www.iso.org/ISO-house-style.html#iso-hs-s-text-r-n-numbers
|
103
105
|
def style_number(node, text)
|
104
106
|
style_two_regex_not_prev(
|
105
107
|
node, text, /^(?<num>-?[0-9]{4,}[,0-9]*)\Z/,
|
@@ -110,6 +112,8 @@ module Metanorma
|
|
110
112
|
"possible decimal point", node, text)
|
111
113
|
style_regex(/\b(?<num>billions?)\b/i,
|
112
114
|
"ambiguous number", node, text)
|
115
|
+
style_regex(/(^|\s)(?<num>-[0-9][0-9,.]*)/i,
|
116
|
+
"hyphen instead of minus sign U+2212", node, text)
|
113
117
|
end
|
114
118
|
|
115
119
|
# ISO/IEC DIR 2, 9.2.1
|
@@ -158,6 +162,15 @@ module Metanorma
|
|
158
162
|
end
|
159
163
|
end
|
160
164
|
|
165
|
+
# https://www.iso.org/ISO-house-style.html#iso-hs-s-text-r-p-and
|
166
|
+
# https://www.iso.org/ISO-house-style.html#iso-hs-s-text-r-p-andor
|
167
|
+
def style_punct(node, text)
|
168
|
+
style_regex(/\b(?<num>and\/?or)\b/i,
|
169
|
+
"Use 'either x or y, or both'", node, text)
|
170
|
+
style_regex(/\s(?<num>&)\s/i,
|
171
|
+
"Avoid ampersand in ordinary text'", node, text)
|
172
|
+
end
|
173
|
+
|
161
174
|
def style_warning(node, msg, text = nil)
|
162
175
|
return if @novalid
|
163
176
|
|
@@ -165,6 +178,23 @@ module Metanorma
|
|
165
178
|
w += ": #{text}" if text
|
166
179
|
@log.add("Style", node, w)
|
167
180
|
end
|
181
|
+
|
182
|
+
ASSETS_TO_STYLE =
|
183
|
+
"//termsource | //formula | //termnote | "\
|
184
|
+
"//p[not(ancestor::boilerplate)] | //li[not(p)] | //dt | "\
|
185
|
+
"//dd[not(p)] | //td[not(p)] | //th[not(p)]".freeze
|
186
|
+
|
187
|
+
def asset_style(root)
|
188
|
+
root.xpath("//example | //termexample").each { |e| example_style(e) }
|
189
|
+
root.xpath("//definition/verbal-definition").each do |e|
|
190
|
+
definition_style(e)
|
191
|
+
end
|
192
|
+
root.xpath("//note").each { |e| note_style(e) }
|
193
|
+
root.xpath("//fn").each { |e| footnote_style(e) }
|
194
|
+
root.xpath(ASSETS_TO_STYLE).each { |e| style(e, extract_text(e)) }
|
195
|
+
norm_bibitem_style(root)
|
196
|
+
super
|
197
|
+
end
|
168
198
|
end
|
169
199
|
end
|
170
200
|
end
|
@@ -68,7 +68,7 @@ module Metanorma
|
|
68
68
|
title = s&.at("./title")&.text || s.name
|
69
69
|
s.xpath("./clause | ./terms | ./references").each do |ss|
|
70
70
|
subtitle = ss.at("./title")
|
71
|
-
!subtitle.nil? && !subtitle&.text&.empty? or
|
71
|
+
(!subtitle.nil? && !subtitle&.text&.empty?) or
|
72
72
|
@log.add("Style", ss,
|
73
73
|
"#{title}: each first-level subclause must have a title")
|
74
74
|
end
|
@@ -91,6 +91,17 @@ module Metanorma
|
|
91
91
|
"#{label}: all subclauses must have a title, or none")
|
92
92
|
end
|
93
93
|
|
94
|
+
# https://www.iso.org/ISO-house-style.html#iso-hs-s-text-r-p-full
|
95
|
+
def title_no_full_stop_validate(root)
|
96
|
+
root.xpath("//preface//title | //sections//title | //annex//title | "\
|
97
|
+
"//references/title | //preface//name | //sections//name | "\
|
98
|
+
"//annex//name").each do |t|
|
99
|
+
style_regex(/\A(?<num>.+\.\Z)/i,
|
100
|
+
"No full stop at end of title or caption",
|
101
|
+
t, t.text.strip)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
94
105
|
def title_validate(root)
|
95
106
|
title_intro_validate(root)
|
96
107
|
title_main_validate(root)
|
@@ -99,6 +110,7 @@ module Metanorma
|
|
99
110
|
title_names_type_validate(root)
|
100
111
|
title_first_level_validate(root)
|
101
112
|
title_all_siblings(root.xpath(SECTIONS_XPATH), "(top level)")
|
113
|
+
title_no_full_stop_validate(root)
|
102
114
|
end
|
103
115
|
end
|
104
116
|
end
|
data/metanorma-iso.gemspec
CHANGED
@@ -46,6 +46,6 @@ Gem::Specification.new do |spec|
|
|
46
46
|
spec.add_development_dependency "sassc", "2.4.0"
|
47
47
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
48
48
|
spec.add_development_dependency "timecop", "~> 0.9"
|
49
|
-
spec.add_development_dependency "vcr", "~>
|
49
|
+
spec.add_development_dependency "vcr", "~> 6.1.0"
|
50
50
|
spec.add_development_dependency "webmock"
|
51
51
|
end
|
data/spec/isodoc/inline_spec.rb
CHANGED
@@ -437,12 +437,12 @@ RSpec.describe IsoDoc do
|
|
437
437
|
<li><concept><refterm>term6</refterm>
|
438
438
|
<renderterm>word</renderterm>
|
439
439
|
<eref bibitemid="ISO712" type="inline" citeas="ISO 712">
|
440
|
-
<localityStack>
|
440
|
+
<localityStack connective="and">
|
441
441
|
<locality type='clause'>
|
442
442
|
<referenceFrom>3.1</referenceFrom>
|
443
443
|
</locality>
|
444
444
|
</localityStack>
|
445
|
-
<localityStack>
|
445
|
+
<localityStack connective="and">
|
446
446
|
<locality type='figure'>
|
447
447
|
<referenceFrom>b</referenceFrom>
|
448
448
|
</locality>
|
@@ -452,12 +452,12 @@ RSpec.describe IsoDoc do
|
|
452
452
|
<li><concept><refterm>term7</refterm>
|
453
453
|
<renderterm>word</renderterm>
|
454
454
|
<eref bibitemid="ISO712" type="inline" citeas="ISO 712">
|
455
|
-
<localityStack>
|
455
|
+
<localityStack connective="and">
|
456
456
|
<locality type='clause'>
|
457
457
|
<referenceFrom>3.1</referenceFrom>
|
458
458
|
</locality>
|
459
459
|
</localityStack>
|
460
|
-
<localityStack>
|
460
|
+
<localityStack connective="and">
|
461
461
|
<locality type='figure'>
|
462
462
|
<referenceFrom>b</referenceFrom>
|
463
463
|
</locality>
|
@@ -537,25 +537,25 @@ RSpec.describe IsoDoc do
|
|
537
537
|
</li>
|
538
538
|
<li>
|
539
539
|
<em>word</em>
|
540
|
-
(<eref bibitemid="ISO712" type="inline" citeas="ISO 712"><localityStack>
|
540
|
+
(<eref bibitemid="ISO712" type="inline" citeas="ISO 712"><localityStack connective="and">
|
541
541
|
<locality type="clause">
|
542
542
|
<referenceFrom>3.1</referenceFrom>
|
543
543
|
</locality>
|
544
|
-
</localityStack><localityStack>
|
544
|
+
</localityStack><localityStack connective="and">
|
545
545
|
<locality type="figure">
|
546
546
|
<referenceFrom>b</referenceFrom>
|
547
547
|
</locality>
|
548
|
-
</localityStack>ISO 712, 3.1
|
548
|
+
</localityStack>ISO 712, 3.1 and Figure b</eref>)
|
549
549
|
</li>
|
550
550
|
<li>
|
551
551
|
<em>word</em>
|
552
552
|
(<eref bibitemid="ISO712" type="inline" citeas="ISO 712">
|
553
|
-
<localityStack>
|
553
|
+
<localityStack connective="and">
|
554
554
|
<locality type="clause">
|
555
555
|
<referenceFrom>3.1</referenceFrom>
|
556
556
|
</locality>
|
557
557
|
</localityStack>
|
558
|
-
<localityStack>
|
558
|
+
<localityStack connective="and">
|
559
559
|
<locality type="figure">
|
560
560
|
<referenceFrom>b</referenceFrom>
|
561
561
|
</locality>
|
@@ -658,7 +658,7 @@ RSpec.describe IsoDoc do
|
|
658
658
|
<li>
|
659
659
|
<i>word</i>
|
660
660
|
(
|
661
|
-
<a href='#ISO712'>ISO 712, 3.1
|
661
|
+
<a href='#ISO712'>ISO 712, 3.1 and Figure b</a>
|
662
662
|
)
|
663
663
|
</li>
|
664
664
|
<li>
|
@@ -947,4 +947,121 @@ RSpec.describe IsoDoc do
|
|
947
947
|
expect(xmlpp(IsoDoc::Iso::HtmlConvert.new({})
|
948
948
|
.convert("test", presxml, true))).to be_equivalent_to xmlpp(output)
|
949
949
|
end
|
950
|
+
|
951
|
+
it "combines locality stacks with connectives, omitting subclauses" do
|
952
|
+
input = <<~INPUT
|
953
|
+
<itu-standard xmlns="https://www.calconnect.org/standards/itu">
|
954
|
+
<p id='_'>
|
955
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ'>
|
956
|
+
<localityStack connective='from'>
|
957
|
+
<locality type='clause'>
|
958
|
+
<referenceFrom>3</referenceFrom>
|
959
|
+
</locality>
|
960
|
+
</localityStack>
|
961
|
+
<localityStack connective='to'>
|
962
|
+
<locality type='clause'>
|
963
|
+
<referenceFrom>5</referenceFrom>
|
964
|
+
</locality>
|
965
|
+
</localityStack>
|
966
|
+
</eref>
|
967
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ'>
|
968
|
+
<localityStack connective='from'>
|
969
|
+
<locality type='clause'>
|
970
|
+
<referenceFrom>3.1</referenceFrom>
|
971
|
+
</locality>
|
972
|
+
</localityStack>
|
973
|
+
<localityStack connective='to'>
|
974
|
+
<locality type='clause'>
|
975
|
+
<referenceFrom>5.1</referenceFrom>
|
976
|
+
</locality>
|
977
|
+
</localityStack>
|
978
|
+
</eref>
|
979
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ'>
|
980
|
+
<localityStack connective='from'>
|
981
|
+
<locality type='clause'>
|
982
|
+
<referenceFrom>3.1</referenceFrom>
|
983
|
+
</locality>
|
984
|
+
</localityStack>
|
985
|
+
<localityStack connective='to'>
|
986
|
+
<locality type='clause'>
|
987
|
+
<referenceFrom>5</referenceFrom>
|
988
|
+
</locality>
|
989
|
+
</localityStack>
|
990
|
+
</eref>
|
991
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ'>
|
992
|
+
<localityStack connective='from'>
|
993
|
+
<locality type='clause'>
|
994
|
+
<referenceFrom>3.1</referenceFrom>
|
995
|
+
</locality>
|
996
|
+
</localityStack>
|
997
|
+
<localityStack connective='to'>
|
998
|
+
<locality type='table'>
|
999
|
+
<referenceFrom>5</referenceFrom>
|
1000
|
+
</locality>
|
1001
|
+
</localityStack>
|
1002
|
+
</eref>
|
1003
|
+
</p>
|
1004
|
+
</itu-standard>
|
1005
|
+
INPUT
|
1006
|
+
output = <<~OUTPUT
|
1007
|
+
<itu-standard xmlns='https://www.calconnect.org/standards/itu' type='presentation'>
|
1008
|
+
<p id='_'>
|
1009
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ' droploc=''>
|
1010
|
+
<localityStack connective='from'>
|
1011
|
+
<locality type='clause'>
|
1012
|
+
<referenceFrom>3</referenceFrom>
|
1013
|
+
</locality>
|
1014
|
+
</localityStack>
|
1015
|
+
<localityStack connective='to'>
|
1016
|
+
<locality type='clause'>
|
1017
|
+
<referenceFrom>5</referenceFrom>
|
1018
|
+
</locality>
|
1019
|
+
</localityStack>
|
1020
|
+
XYZ, Clause 3 to 5
|
1021
|
+
</eref>
|
1022
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ' droploc=''>
|
1023
|
+
<localityStack connective='from'>
|
1024
|
+
<locality type='clause'>
|
1025
|
+
<referenceFrom>3.1</referenceFrom>
|
1026
|
+
</locality>
|
1027
|
+
</localityStack>
|
1028
|
+
<localityStack connective='to'>
|
1029
|
+
<locality type='clause'>
|
1030
|
+
<referenceFrom>5.1</referenceFrom>
|
1031
|
+
</locality>
|
1032
|
+
</localityStack>
|
1033
|
+
XYZ, 3.1 to 5.1
|
1034
|
+
</eref>
|
1035
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ'>
|
1036
|
+
<localityStack connective='from'>
|
1037
|
+
<locality type='clause'>
|
1038
|
+
<referenceFrom>3.1</referenceFrom>
|
1039
|
+
</locality>
|
1040
|
+
</localityStack>
|
1041
|
+
<localityStack connective='to'>
|
1042
|
+
<locality type='clause'>
|
1043
|
+
<referenceFrom>5</referenceFrom>
|
1044
|
+
</locality>
|
1045
|
+
</localityStack>
|
1046
|
+
XYZ, 3.1 to Clause 5
|
1047
|
+
</eref>
|
1048
|
+
<eref type='inline' bibitemid='ref1' citeas='XYZ'>
|
1049
|
+
<localityStack connective='from'>
|
1050
|
+
<locality type='clause'>
|
1051
|
+
<referenceFrom>3.1</referenceFrom>
|
1052
|
+
</locality>
|
1053
|
+
</localityStack>
|
1054
|
+
<localityStack connective='to'>
|
1055
|
+
<locality type='table'>
|
1056
|
+
<referenceFrom>5</referenceFrom>
|
1057
|
+
</locality>
|
1058
|
+
</localityStack>
|
1059
|
+
XYZ, 3.1 to Table 5
|
1060
|
+
</eref>
|
1061
|
+
</p>
|
1062
|
+
</itu-standard>
|
1063
|
+
OUTPUT
|
1064
|
+
expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({})
|
1065
|
+
.convert("test", input, true))).to be_equivalent_to xmlpp(output)
|
1066
|
+
end
|
950
1067
|
end
|
@@ -222,7 +222,7 @@ RSpec.describe IsoDoc do
|
|
222
222
|
.sub(%r{<br[^>]*>\s*<div class="colophon".*$}m, "")
|
223
223
|
|
224
224
|
expect(xmlpp(word)).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
225
|
-
|
225
|
+
<div class='WordSection3'>
|
226
226
|
<p class='zzSTDTitle1'/>
|
227
227
|
<div>
|
228
228
|
<a name='_terms_and_definitions' id='_terms_and_definitions'/>
|
@@ -241,9 +241,7 @@ RSpec.describe IsoDoc do
|
|
241
241
|
rice retaining its husk after threshing
|
242
242
|
</p>
|
243
243
|
<p class='Source'>
|
244
|
-
[SOURCE:
|
245
|
-
<a href='#ISO7301'>ISO 7301:2011, 3.1</a>
|
246
|
-
, modified – The term "cargo rice" is shown as deprecated, and Note
|
244
|
+
[SOURCE: ISO 7301:2011, 3.1, modified – The term "cargo rice" is shown as deprecated, and Note
|
247
245
|
1 to entry is not included here]
|
248
246
|
</p>
|
249
247
|
</div>
|
data/spec/isodoc/terms_spec.rb
CHANGED
@@ -161,7 +161,7 @@ RSpec.describe IsoDoc do
|
|
161
161
|
</ul>
|
162
162
|
</div>
|
163
163
|
<p>[SOURCE:
|
164
|
-
|
164
|
+
ISO 7301:2011, 3.1, modified –
|
165
165
|
The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here]</p>
|
166
166
|
<p class="TermNum" id="paddy">1.2</p>
|
167
167
|
<p class="Terms" style="text-align:left;"><b>paddy</b></p>
|
@@ -187,7 +187,7 @@ RSpec.describe IsoDoc do
|
|
187
187
|
<p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p>
|
188
188
|
</p>
|
189
189
|
</div>
|
190
|
-
<p>[SOURCE:
|
190
|
+
<p>[SOURCE: ISO 7301:2011, 3.1]</p>
|
191
191
|
<p class='TermNum' id='A'>1.3</p>
|
192
192
|
<p class='Terms' style='text-align:left;'><b>term1</b></p>
|
193
193
|
term1 definition
|
@@ -213,7 +213,7 @@ RSpec.describe IsoDoc do
|
|
213
213
|
</ul></div>
|
214
214
|
|
215
215
|
<p class="Source">[SOURCE:
|
216
|
-
|
216
|
+
ISO 7301:2011, 3.1, modified –
|
217
217
|
The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here]</p>
|
218
218
|
<p class="TermNum" id="paddy">1.2</p>
|
219
219
|
<p class="Terms" style="text-align:left;"><b>paddy</b></p>
|
@@ -228,7 +228,7 @@ RSpec.describe IsoDoc do
|
|
228
228
|
</div>
|
229
229
|
<div id='_671a1994-4783-40d0-bc81-987d06ffb74e' class="Note"><p class="Note">Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
|
230
230
|
<div id='_671a1994-4783-40d0-bc81-987d06ffb74f' class="Note"><p class="Note">Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
|
231
|
-
<p class="Source">[SOURCE:
|
231
|
+
<p class="Source">[SOURCE: ISO 7301:2011, 3.1]</p>
|
232
232
|
<p class='TermNum' id='A'>1.3</p>
|
233
233
|
<p class='Terms' style='text-align:left;'><b>term1</b></p>
|
234
234
|
term1 definition
|
@@ -137,7 +137,7 @@ RSpec.describe Metanorma::ISO do
|
|
137
137
|
<terms id="_" obligation="normative">
|
138
138
|
<title>Terms and definitions</title>
|
139
139
|
#{TERM_BOILERPLATE}
|
140
|
-
<term id="term-
|
140
|
+
<term id="term-t90">
|
141
141
|
<preferred>
|
142
142
|
<letter-symbol><name>
|
143
143
|
<stem type="MathML">
|
@@ -1247,13 +1247,13 @@ RSpec.describe Metanorma::ISO do
|
|
1247
1247
|
<li>
|
1248
1248
|
<p id='_'>
|
1249
1249
|
ISO Online browsing platform: available at
|
1250
|
-
<link target='
|
1250
|
+
<link target='https://www.iso.org/obp'/>
|
1251
1251
|
</p>
|
1252
1252
|
</li>
|
1253
1253
|
<li>
|
1254
1254
|
<p id='_'>
|
1255
1255
|
IEC Electropedia: available at
|
1256
|
-
<link target='
|
1256
|
+
<link target='https://www.electropedia.org'/>
|
1257
1257
|
</p>
|
1258
1258
|
</li>
|
1259
1259
|
</ul>
|
@@ -1296,13 +1296,13 @@ RSpec.describe Metanorma::ISO do
|
|
1296
1296
|
<li>
|
1297
1297
|
<p id='_'>
|
1298
1298
|
ISO Online browsing platform: available at
|
1299
|
-
<link target='
|
1299
|
+
<link target='https://www.iso.org/obp'/>
|
1300
1300
|
</p>
|
1301
1301
|
</li>
|
1302
1302
|
<li>
|
1303
1303
|
<p id='_'>
|
1304
1304
|
IEC Electropedia: available at
|
1305
|
-
<link target='
|
1305
|
+
<link target='https://www.electropedia.org'/>
|
1306
1306
|
</p>
|
1307
1307
|
</li>
|
1308
1308
|
</ul>
|
@@ -1360,13 +1360,13 @@ RSpec.describe Metanorma::ISO do
|
|
1360
1360
|
<li>
|
1361
1361
|
<p id='_'>
|
1362
1362
|
ISO Online browsing platform: available at
|
1363
|
-
<link target='
|
1363
|
+
<link target='https://www.iso.org/obp'/>
|
1364
1364
|
</p>
|
1365
1365
|
</li>
|
1366
1366
|
<li>
|
1367
1367
|
<p id='_'>
|
1368
1368
|
IEC Electropedia: available at
|
1369
|
-
<link target='
|
1369
|
+
<link target='https://www.electropedia.org'/>
|
1370
1370
|
</p>
|
1371
1371
|
</li>
|
1372
1372
|
</ul>
|
@@ -1427,13 +1427,13 @@ RSpec.describe Metanorma::ISO do
|
|
1427
1427
|
<li>
|
1428
1428
|
<p id='_'>
|
1429
1429
|
ISO Online browsing platform: available at
|
1430
|
-
<link target='
|
1430
|
+
<link target='https://www.iso.org/obp'/>
|
1431
1431
|
</p>
|
1432
1432
|
</li>
|
1433
1433
|
<li>
|
1434
1434
|
<p id='_'>
|
1435
1435
|
IEC Electropedia: available at
|
1436
|
-
<link target='
|
1436
|
+
<link target='https://www.electropedia.org'/>
|
1437
1437
|
</p>
|
1438
1438
|
</li>
|
1439
1439
|
</ul>
|
@@ -1485,13 +1485,13 @@ RSpec.describe Metanorma::ISO do
|
|
1485
1485
|
<li>
|
1486
1486
|
<p id='_'>
|
1487
1487
|
ISO Online browsing platform: available at
|
1488
|
-
<link target='
|
1488
|
+
<link target='https://www.iso.org/obp'/>
|
1489
1489
|
</p>
|
1490
1490
|
</li>
|
1491
1491
|
<li>
|
1492
1492
|
<p id='_'>
|
1493
1493
|
IEC Electropedia: available at
|
1494
|
-
<link target='
|
1494
|
+
<link target='https://www.electropedia.org'/>
|
1495
1495
|
</p>
|
1496
1496
|
</li>
|
1497
1497
|
</ul>
|