metanorma-iso 2.1.1 → 2.1.4
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 +4 -4
- data/lib/html2doc/lists.rb +145 -10
- data/lib/isodoc/iso/base_convert.rb +10 -0
- data/lib/isodoc/iso/html/html_iso_titlepage.html +2 -0
- data/lib/isodoc/iso/html/isodoc-dis.css +173 -257
- data/lib/isodoc/iso/html/isodoc-dis.scss +173 -249
- data/lib/isodoc/iso/html/isodoc.css +38 -13
- data/lib/isodoc/iso/html/isodoc.scss +38 -12
- data/lib/isodoc/iso/html/style-human.css +14 -1
- data/lib/isodoc/iso/html/style-human.scss +10 -1
- data/lib/isodoc/iso/html/style-iso.css +35 -23
- data/lib/isodoc/iso/html/style-iso.scss +31 -23
- data/lib/isodoc/iso/html/word_iso_intro-dis.html +1 -6
- data/lib/isodoc/iso/html/word_iso_titlepage-dis.html +24 -13
- data/lib/isodoc/iso/html/word_iso_titlepage-prf.html +58 -0
- data/lib/isodoc/iso/html/word_iso_titlepage.html +6 -2
- data/lib/isodoc/iso/html_convert.rb +5 -0
- data/lib/isodoc/iso/i18n-en.yaml +32 -4
- data/lib/isodoc/iso/i18n-fr.yaml +29 -3
- data/lib/isodoc/iso/i18n-ru.yaml +32 -4
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +32 -3
- data/lib/isodoc/iso/i18n.rb +1 -1
- data/lib/isodoc/iso/iso.amendment.xsl +750 -307
- data/lib/isodoc/iso/iso.international-standard.xsl +750 -307
- data/lib/isodoc/iso/metadata.rb +63 -63
- data/lib/isodoc/iso/presentation_bibdata.rb +74 -0
- data/lib/isodoc/iso/presentation_xml_convert.rb +15 -4
- data/lib/isodoc/iso/presentation_xref.rb +8 -2
- data/lib/isodoc/iso/sections.rb +1 -1
- data/lib/isodoc/iso/word_cleanup.rb +3 -0
- data/lib/isodoc/iso/word_convert.rb +6 -3
- data/lib/isodoc/iso/word_dis_cleanup.rb +243 -0
- data/lib/isodoc/iso/word_dis_convert.rb +47 -108
- data/lib/isodoc/iso/xref.rb +34 -6
- data/lib/metanorma/iso/base.rb +14 -1
- data/lib/metanorma/iso/biblio.rng +134 -39
- data/lib/metanorma/iso/boilerplate-fr.xml +3 -0
- data/lib/metanorma/iso/boilerplate-ru.xml +3 -0
- data/lib/metanorma/iso/boilerplate.xml +3 -0
- data/lib/metanorma/iso/cleanup.rb +53 -13
- data/lib/metanorma/iso/front.rb +38 -6
- data/lib/metanorma/iso/front_id.rb +2 -0
- data/lib/metanorma/iso/isodoc.rng +32 -0
- data/lib/metanorma/iso/isostandard.rng +32 -12
- data/lib/metanorma/iso/validate_section.rb +0 -12
- data/lib/metanorma/iso/version.rb +1 -1
- data/spec/isodoc/amd_spec.rb +4 -30
- data/spec/isodoc/blocks_spec.rb +499 -2
- data/spec/isodoc/i18n_spec.rb +145 -80
- data/spec/isodoc/iso_spec.rb +50 -169
- data/spec/isodoc/metadata_spec.rb +223 -83
- data/spec/isodoc/postproc_spec.rb +41 -5
- data/spec/isodoc/section_spec.rb +9 -9
- data/spec/isodoc/word_dis_spec.rb +1332 -146
- data/spec/isodoc/xref_spec.rb +87 -13
- data/spec/metanorma/amd_spec.rb +39 -23
- data/spec/metanorma/base_spec.rb +174 -44
- data/spec/metanorma/blocks_spec.rb +21 -0
- data/spec/metanorma/cleanup_spec.rb +196 -196
- data/spec/metanorma/lists_spec.rb +2 -2
- data/spec/metanorma/section_spec.rb +2 -2
- data/spec/metanorma/validate_spec.rb +8 -19
- data/spec/spec_helper.rb +10 -7
- data/spec/vcr_cassettes/withdrawn_iso.yml +30 -30
- metadata +6 -8
- data/docs/asciiiso-syntax.adoc +0 -307
- data/docs/guidance.adoc +0 -487
- data/docs/navigation.adoc +0 -23
- data/docs/quickstart.adoc +0 -179
- data/lib/isodoc/iso/presentation_inline.rb +0 -90
data/lib/metanorma/iso/front.rb
CHANGED
@@ -81,11 +81,42 @@ module Metanorma
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def metadata_committee(node, xml)
|
84
|
+
metadata_editorial_committee(node, xml)
|
85
|
+
metadata_approval_committee(node, xml)
|
86
|
+
end
|
87
|
+
|
88
|
+
def metadata_editorial_committee(node, xml)
|
84
89
|
xml.editorialgroup do |a|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
node.attr("secretariat")
|
90
|
+
%w(technical-committee subcommittee workgroup).each do |v|
|
91
|
+
node.attr("#{v}-number") and committee_component(v, node, a)
|
92
|
+
end
|
93
|
+
node.attr("secretariat") and a.secretariat(node.attr("secretariat"))
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def metadata_approval_committee(node, xml)
|
98
|
+
types = metadata_approval_committee_types(node)
|
99
|
+
xml.approvalgroup do |a|
|
100
|
+
metadata_approval_agency(a, node.attr("approval-agency")
|
101
|
+
&.split(%r{[/,;]}))
|
102
|
+
types.each do |v|
|
103
|
+
node.attr("#{v}-number") and committee_component(v, node, a)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def metadata_approval_committee_types(node)
|
109
|
+
types = %w(technical-committee subcommittee workgroup)
|
110
|
+
node.attr("approval-technical-committee-number") and
|
111
|
+
types = %w(approval-technical-committee approval-subcommittee
|
112
|
+
approval-workgroup)
|
113
|
+
types
|
114
|
+
end
|
115
|
+
|
116
|
+
def metadata_approval_agency(xml, list)
|
117
|
+
list = ["ISO"] if list.nil? || list.empty?
|
118
|
+
list.each do |v|
|
119
|
+
xml.agency v
|
89
120
|
end
|
90
121
|
end
|
91
122
|
|
@@ -146,7 +177,8 @@ module Metanorma
|
|
146
177
|
end
|
147
178
|
|
148
179
|
def relaton_relations
|
149
|
-
super + %w(obsoletes successor-of manifestation-of related
|
180
|
+
super + %w(obsoletes successor-of manifestation-of related
|
181
|
+
annotation-of)
|
150
182
|
end
|
151
183
|
|
152
184
|
def relaton_relation_descriptions
|
@@ -162,7 +194,7 @@ module Metanorma
|
|
162
194
|
"identical-adopted-from" => "adoptedFrom",
|
163
195
|
"modified-adopted-from" => "adoptedFrom",
|
164
196
|
"related-directive" => "related",
|
165
|
-
"related-mandate" => "related"
|
197
|
+
"related-mandate" => "related"
|
166
198
|
)
|
167
199
|
end
|
168
200
|
end
|
@@ -202,6 +202,8 @@ module Metanorma
|
|
202
202
|
%w(40 50).include?(stage) && i = node.attr("iteration") and
|
203
203
|
itersuffix = ".#{i}"
|
204
204
|
return docnum if abbr.nil? || abbr.empty? # prefixes added in cleanup
|
205
|
+
|
206
|
+
typeabbr = "" if %w(DTS FDTS).include?(abbr.sub(/\s+$/, ""))
|
205
207
|
return "/#{abbr}#{typeabbr} #{docnum}#{itersuffix}" unless @amd
|
206
208
|
|
207
209
|
a = docnum.split(%r{/})
|
@@ -69,6 +69,17 @@
|
|
69
69
|
</zeroOrMore>
|
70
70
|
</element>
|
71
71
|
</define>
|
72
|
+
<define name="AdmonitionType">
|
73
|
+
<choice>
|
74
|
+
<value>warning</value>
|
75
|
+
<value>note</value>
|
76
|
+
<value>tip</value>
|
77
|
+
<value>important</value>
|
78
|
+
<value>caution</value>
|
79
|
+
<value>statement</value>
|
80
|
+
<value>editorial</value>
|
81
|
+
</choice>
|
82
|
+
</define>
|
72
83
|
<define name="index">
|
73
84
|
<element name="index">
|
74
85
|
<optional>
|
@@ -116,6 +127,11 @@
|
|
116
127
|
<data type="boolean"/>
|
117
128
|
</attribute>
|
118
129
|
</optional>
|
130
|
+
<optional>
|
131
|
+
<attribute name="suppress_identifier">
|
132
|
+
<data type="boolean"/>
|
133
|
+
</attribute>
|
134
|
+
</optional>
|
119
135
|
<ref name="BibliographicItem"/>
|
120
136
|
</element>
|
121
137
|
</define>
|
@@ -282,6 +298,9 @@
|
|
282
298
|
<ref name="MultilingualRenderingType"/>
|
283
299
|
</attribute>
|
284
300
|
</optional>
|
301
|
+
<optional>
|
302
|
+
<ref name="tname"/>
|
303
|
+
</optional>
|
285
304
|
<oneOrMore>
|
286
305
|
<ref name="ul_li"/>
|
287
306
|
</oneOrMore>
|
@@ -324,6 +343,9 @@
|
|
324
343
|
</choice>
|
325
344
|
</attribute>
|
326
345
|
</optional>
|
346
|
+
<optional>
|
347
|
+
<ref name="tname"/>
|
348
|
+
</optional>
|
327
349
|
<oneOrMore>
|
328
350
|
<ref name="li"/>
|
329
351
|
</oneOrMore>
|
@@ -360,6 +382,9 @@
|
|
360
382
|
<ref name="MultilingualRenderingType"/>
|
361
383
|
</attribute>
|
362
384
|
</optional>
|
385
|
+
<optional>
|
386
|
+
<ref name="tname"/>
|
387
|
+
</optional>
|
363
388
|
<oneOrMore>
|
364
389
|
<ref name="dt"/>
|
365
390
|
<ref name="dd"/>
|
@@ -694,6 +719,9 @@
|
|
694
719
|
<optional>
|
695
720
|
<attribute name="tag"/>
|
696
721
|
</optional>
|
722
|
+
<optional>
|
723
|
+
<attribute name="type"/>
|
724
|
+
</optional>
|
697
725
|
<optional>
|
698
726
|
<attribute name="multilingual-rendering">
|
699
727
|
<ref name="MultilingualRenderingType"/>
|
@@ -729,6 +757,9 @@
|
|
729
757
|
<optional>
|
730
758
|
<attribute name="tag"/>
|
731
759
|
</optional>
|
760
|
+
<optional>
|
761
|
+
<attribute name="type"/>
|
762
|
+
</optional>
|
732
763
|
<optional>
|
733
764
|
<attribute name="multilingual-rendering">
|
734
765
|
<ref name="MultilingualRenderingType"/>
|
@@ -2050,6 +2081,7 @@
|
|
2050
2081
|
<value>compare</value>
|
2051
2082
|
<value>contrast</value>
|
2052
2083
|
<value>see</value>
|
2084
|
+
<value>seealso</value>
|
2053
2085
|
</choice>
|
2054
2086
|
</define>
|
2055
2087
|
<define name="deprecates">
|
@@ -45,6 +45,9 @@
|
|
45
45
|
<ref name="horizontal"/>
|
46
46
|
</optional>
|
47
47
|
<ref name="editorialgroup"/>
|
48
|
+
<optional>
|
49
|
+
<ref name="approvalgroup"/>
|
50
|
+
</optional>
|
48
51
|
<zeroOrMore>
|
49
52
|
<ref name="ics"/>
|
50
53
|
</zeroOrMore>
|
@@ -249,6 +252,7 @@
|
|
249
252
|
<value>warning</value>
|
250
253
|
<value>important</value>
|
251
254
|
<value>safety precautions</value>
|
255
|
+
<value>editorial</value>
|
252
256
|
</choice>
|
253
257
|
</define>
|
254
258
|
<define name="preface">
|
@@ -308,18 +312,7 @@
|
|
308
312
|
</define>
|
309
313
|
<define name="editorialgroup">
|
310
314
|
<element name="editorialgroup">
|
311
|
-
<
|
312
|
-
<ref name="technical-committee"/>
|
313
|
-
</oneOrMore>
|
314
|
-
<zeroOrMore>
|
315
|
-
<ref name="subcommittee"/>
|
316
|
-
</zeroOrMore>
|
317
|
-
<zeroOrMore>
|
318
|
-
<ref name="workgroup"/>
|
319
|
-
</zeroOrMore>
|
320
|
-
<optional>
|
321
|
-
<ref name="secretariat"/>
|
322
|
-
</optional>
|
315
|
+
<ref name="ISOProjectGroup"/>
|
323
316
|
</element>
|
324
317
|
</define>
|
325
318
|
<define name="Content-Section">
|
@@ -367,6 +360,33 @@
|
|
367
360
|
</define>
|
368
361
|
</include>
|
369
362
|
<!-- end overrides -->
|
363
|
+
<define name="ISOProjectGroup">
|
364
|
+
<zeroOrMore>
|
365
|
+
<ref name="agency"/>
|
366
|
+
</zeroOrMore>
|
367
|
+
<oneOrMore>
|
368
|
+
<ref name="technical-committee"/>
|
369
|
+
</oneOrMore>
|
370
|
+
<zeroOrMore>
|
371
|
+
<ref name="subcommittee"/>
|
372
|
+
</zeroOrMore>
|
373
|
+
<zeroOrMore>
|
374
|
+
<ref name="workgroup"/>
|
375
|
+
</zeroOrMore>
|
376
|
+
<optional>
|
377
|
+
<ref name="secretariat"/>
|
378
|
+
</optional>
|
379
|
+
</define>
|
380
|
+
<define name="approvalgroup">
|
381
|
+
<element name="approvalgroup">
|
382
|
+
<ref name="ISOProjectGroup"/>
|
383
|
+
</element>
|
384
|
+
</define>
|
385
|
+
<define name="agency">
|
386
|
+
<element name="agency">
|
387
|
+
<text/>
|
388
|
+
</element>
|
389
|
+
</define>
|
370
390
|
<!--
|
371
391
|
We display the Normative References between scope and terms; but to keep the
|
372
392
|
grammar simple, we keep the references together
|
@@ -202,18 +202,6 @@ module Metanorma
|
|
202
202
|
end
|
203
203
|
end
|
204
204
|
|
205
|
-
def asset_style(root)
|
206
|
-
root.xpath("//example | //termexample").each { |e| example_style(e) }
|
207
|
-
root.xpath("//definition/verbal-definition").each do |e|
|
208
|
-
definition_style(e)
|
209
|
-
end
|
210
|
-
root.xpath("//note").each { |e| note_style(e) }
|
211
|
-
root.xpath("//fn").each { |e| footnote_style(e) }
|
212
|
-
root.xpath(ASSETS_TO_STYLE).each { |e| style(e, extract_text(e)) }
|
213
|
-
norm_bibitem_style(root)
|
214
|
-
super
|
215
|
-
end
|
216
|
-
|
217
205
|
def subclause_validate(root)
|
218
206
|
root.xpath("//clause/clause/clause/clause/clause/clause/clause/clause")
|
219
207
|
.each do |c|
|
data/spec/isodoc/amd_spec.rb
CHANGED
@@ -745,11 +745,7 @@ RSpec.describe IsoDoc do
|
|
745
745
|
</iso-standard>
|
746
746
|
INPUT
|
747
747
|
output = <<~OUTPUT
|
748
|
-
{:
|
749
|
-
:agency=>"ISO",
|
750
|
-
:circulateddate=>"XXX",
|
751
|
-
:confirmeddate=>"XXX",
|
752
|
-
:copieddate=>"XXX",
|
748
|
+
{:agency=>"ISO",
|
753
749
|
:createddate=>"2016-05-01",
|
754
750
|
:docnumber=>"ISO/PreNWIP3 17301-1:2016/Amd.1",
|
755
751
|
:docnumber_lang=>"ISO/PreNWIP3 17301-1:2016/Amd.1(E)",
|
@@ -779,13 +775,8 @@ RSpec.describe IsoDoc do
|
|
779
775
|
:edition=>"2",
|
780
776
|
:editorialgroup=>["A 1", "B 2", "C 3"],
|
781
777
|
:ics=>"1, 2, 3",
|
782
|
-
:implementeddate=>"XXX",
|
783
|
-
:issueddate=>"XXX",
|
784
778
|
:lang=>"en",
|
785
|
-
:obsoleteddate=>"XXX",
|
786
|
-
:publisheddate=>"XXX",
|
787
779
|
:publisher=>"International Organization for Standardization",
|
788
|
-
:receiveddate=>"XXX",
|
789
780
|
:revdate=>"2000-01-01",
|
790
781
|
:revdate_monthyear=>"January 2000",
|
791
782
|
:sc=>"B 2",
|
@@ -795,13 +786,9 @@ RSpec.describe IsoDoc do
|
|
795
786
|
:stage_int=>10,
|
796
787
|
:stageabbr=>"NWIP",
|
797
788
|
:statusabbr=>"PreNWIP3",
|
789
|
+
:substage_int=>"20",
|
798
790
|
:tc=>"A 1",
|
799
|
-
:transmitteddate=>"XXX",
|
800
|
-
:unchangeddate=>"XXX",
|
801
791
|
:unpublished=>true,
|
802
|
-
:updateddate=>"XXX",
|
803
|
-
:vote_endeddate=>"XXX",
|
804
|
-
:vote_starteddate=>"XXX",
|
805
792
|
:wg=>"C 3"}
|
806
793
|
OUTPUT
|
807
794
|
expect(metadata(c.info(Nokogiri::XML(input), nil)))
|
@@ -910,11 +897,7 @@ RSpec.describe IsoDoc do
|
|
910
897
|
</iso-standard>
|
911
898
|
INPUT
|
912
899
|
output = <<~OUTPUT
|
913
|
-
{:
|
914
|
-
:agency=>"ISO",
|
915
|
-
:circulateddate=>"XXX",
|
916
|
-
:confirmeddate=>"XXX",
|
917
|
-
:copieddate=>"XXX",
|
900
|
+
{:agency=>"ISO",
|
918
901
|
:createddate=>"2016-05-01",
|
919
902
|
:docnumber=>"ISO/PreNWIP3 17301-1:2016/Amd.1",
|
920
903
|
:docnumber_lang=>"ISO/PreNWIP3 17301-1:2016/Amd.1(E)",
|
@@ -944,13 +927,8 @@ RSpec.describe IsoDoc do
|
|
944
927
|
:edition=>"2",
|
945
928
|
:editorialgroup=>["A 1", "B 2", "C 3"],
|
946
929
|
:ics=>"1, 2, 3",
|
947
|
-
:implementeddate=>"XXX",
|
948
|
-
:issueddate=>"XXX",
|
949
930
|
:lang=>"fr",
|
950
|
-
:obsoleteddate=>"XXX",
|
951
|
-
:publisheddate=>"XXX",
|
952
931
|
:publisher=>"International Organization for Standardization",
|
953
|
-
:receiveddate=>"XXX",
|
954
932
|
:revdate=>"2000-01-01",
|
955
933
|
:revdate_monthyear=>"Janvier 2000",
|
956
934
|
:sc=>"B 2",
|
@@ -960,13 +938,9 @@ RSpec.describe IsoDoc do
|
|
960
938
|
:stage_int=>10,
|
961
939
|
:stageabbr=>"NWIP",
|
962
940
|
:statusabbr=>"PreNWIP3",
|
941
|
+
:substage_int=>"20",
|
963
942
|
:tc=>"A 1",
|
964
|
-
:transmitteddate=>"XXX",
|
965
|
-
:unchangeddate=>"XXX",
|
966
943
|
:unpublished=>true,
|
967
|
-
:updateddate=>"XXX",
|
968
|
-
:vote_endeddate=>"XXX",
|
969
|
-
:vote_starteddate=>"XXX",
|
970
944
|
:wg=>"C 3"}
|
971
945
|
OUTPUT
|
972
946
|
expect(metadata(c.info(Nokogiri::XML(input), nil)))
|