metanorma-iso 2.1.1 → 2.1.4
Sign up to get free protection for your applications and to get access to all the features.
- 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)))
|