relaton-iec 1.16.4 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 101c12e86e42473965841a2ba577d7ef661ad41cd3466ab5f3b4488675a8446a
4
- data.tar.gz: be02f4aeeda35aab505380d35352b0f906b53efa680fbbf139364fcd90a8952b
3
+ metadata.gz: 23222264df3598c17dc2543b6eb287da61a7f5ae9ea955862335b979324169db
4
+ data.tar.gz: fe8d5457ec3c28ff51393f774f293abd0a85cec632fcde1bd0327738d5f82e05
5
5
  SHA512:
6
- metadata.gz: 2cd438a1c74b7b79f7a2ac3a909543a15cecc20c96c36fe2a83223088cafee149e5e33c32bcabfa7fac8adc893bed21ac7cb2e561373b8c15d7c39f50979b303
7
- data.tar.gz: 8e579abea1e3e46268999b9d68658761778ce10caee7f6a571d7286a0f86507e1649025ef4fd152a96c11075fd2b99cbc88e4e87df942447ae8c9d2cc26a8857
6
+ metadata.gz: 9de3730c3c5e0df7fb03c945555cb0485c3036c6d1ee8b794fc78e8d992e7b486ea4d6a55088b784605a183f74a3980bdd2afbc4bd3a5ecf2320a019b1650578
7
+ data.tar.gz: 7bcf16a3f7789a8a4d1e4ea9c3fe83b64aff8135858c23623c9013abe7e1e34b3e640e9911088f44a8fea036abce435817bf498ab0059e499a2129c30bed83f6
@@ -10,4 +10,4 @@ on:
10
10
 
11
11
  jobs:
12
12
  rake:
13
- uses: relaton/support/.github/workflows/rake.yml@master
13
+ uses: relaton/support/.github/workflows/rake.yml@main
@@ -17,7 +17,7 @@ on:
17
17
 
18
18
  jobs:
19
19
  release:
20
- uses: relaton/support/.github/workflows/release.yml@master
20
+ uses: relaton/support/.github/workflows/release.yml@main
21
21
  with:
22
22
  next_version: ${{ github.event.inputs.next_version }}
23
23
  secrets:
@@ -95,8 +95,89 @@
95
95
  <ref name="pagebreak"/>
96
96
  <ref name="hr"/>
97
97
  <ref name="bookmark"/>
98
+ <ref name="amend"/>
98
99
  </choice>
99
100
  </define>
101
+ <define name="amend">
102
+ <element name="amend">
103
+ <ref name="AmendType"/>
104
+ </element>
105
+ </define>
106
+ <define name="AmendType">
107
+ <optional>
108
+ <attribute name="id">
109
+ <data type="ID"/>
110
+ </attribute>
111
+ </optional>
112
+ <attribute name="change">
113
+ <choice>
114
+ <value>add</value>
115
+ <value>modify</value>
116
+ <value>delete</value>
117
+ <value>replace</value>
118
+ </choice>
119
+ </attribute>
120
+ <optional>
121
+ <attribute name="path"/>
122
+ </optional>
123
+ <optional>
124
+ <attribute name="path_end"/>
125
+ </optional>
126
+ <optional>
127
+ <attribute name="title"/>
128
+ </optional>
129
+ <optional>
130
+ <element name="location">
131
+ <zeroOrMore>
132
+ <choice>
133
+ <ref name="locality"/>
134
+ <ref name="localityStack"/>
135
+ </choice>
136
+ </zeroOrMore>
137
+ </element>
138
+ </optional>
139
+ <optional>
140
+ <element name="description">
141
+ <zeroOrMore>
142
+ <ref name="BasicBlock"/>
143
+ </zeroOrMore>
144
+ </element>
145
+ </optional>
146
+ <optional>
147
+ <element name="newcontent">
148
+ <optional>
149
+ <attribute name="id">
150
+ <data type="ID"/>
151
+ </attribute>
152
+ </optional>
153
+ <zeroOrMore>
154
+ <ref name="BasicBlock"/>
155
+ </zeroOrMore>
156
+ </element>
157
+ </optional>
158
+ <zeroOrMore>
159
+ <ref name="classification"/>
160
+ </zeroOrMore>
161
+ <zeroOrMore>
162
+ <ref name="contributor"/>
163
+ </zeroOrMore>
164
+ </define>
165
+ <define name="classification">
166
+ <element name="classification">
167
+ <ref name="classification_tag"/>
168
+ <ref name="classification_value"/>
169
+ </element>
170
+ </define>
171
+ <define name="classification_tag">
172
+ <element name="tag">
173
+ <text/>
174
+ </element>
175
+ </define>
176
+ <define name="classification_value">
177
+ <element name="value">
178
+ <text/>
179
+ </element>
180
+ </define>
100
181
  <define name="paragraph">
101
182
  <element name="p">
102
183
  <ref name="ParagraphType"/>
@@ -346,6 +427,8 @@
346
427
  <ref name="keyword"/>
347
428
  <ref name="xref"/>
348
429
  <ref name="hyperlink"/>
430
+ <ref name="index"/>
431
+ <ref name="index-xref"/>
349
432
  </choice>
350
433
  </oneOrMore>
351
434
  </element>
@@ -623,6 +706,8 @@
623
706
  <ref name="eref"/>
624
707
  <ref name="xref"/>
625
708
  <ref name="hyperlink"/>
709
+ <ref name="index"/>
710
+ <ref name="index-xref"/>
626
711
  </choice>
627
712
  </zeroOrMore>
628
713
  </element>
@@ -636,6 +721,8 @@
636
721
  <ref name="eref"/>
637
722
  <ref name="xref"/>
638
723
  <ref name="hyperlink"/>
724
+ <ref name="index"/>
725
+ <ref name="index-xref"/>
639
726
  </choice>
640
727
  </zeroOrMore>
641
728
  </element>
@@ -648,6 +735,8 @@
648
735
  <ref name="eref"/>
649
736
  <ref name="xref"/>
650
737
  <ref name="hyperlink"/>
738
+ <ref name="index"/>
739
+ <ref name="index-xref"/>
651
740
  </choice>
652
741
  </zeroOrMore>
653
742
  </element>
@@ -655,7 +744,11 @@
655
744
  <define name="keyword">
656
745
  <element name="keyword">
657
746
  <zeroOrMore>
658
- <ref name="PureTextElement"/>
747
+ <choice>
748
+ <ref name="PureTextElement"/>
749
+ <ref name="index"/>
750
+ <ref name="index-xref"/>
751
+ </choice>
659
752
  </zeroOrMore>
660
753
  </element>
661
754
  </define>
@@ -676,7 +769,11 @@
676
769
  <define name="strike">
677
770
  <element name="strike">
678
771
  <zeroOrMore>
679
- <ref name="PureTextElement"/>
772
+ <choice>
773
+ <ref name="PureTextElement"/>
774
+ <ref name="index"/>
775
+ <ref name="index-xref"/>
776
+ </choice>
680
777
  </zeroOrMore>
681
778
  </element>
682
779
  </define>
@@ -699,27 +796,36 @@
699
796
  </define>
700
797
  <define name="ruby">
701
798
  <element name="ruby">
702
- <zeroOrMore>
703
- <choice>
704
- <ref name="PureTextElement"/>
705
- <ref name="rp"/>
706
- <ref name="rt"/>
707
- </choice>
708
- </zeroOrMore>
799
+ <choice>
800
+ <ref name="ruby_pronunciation"/>
801
+ <ref name="ruby_annotation"/>
802
+ </choice>
803
+ <choice>
804
+ <text/>
805
+ <ref name="ruby"/>
806
+ </choice>
709
807
  </element>
710
808
  </define>
711
- <define name="rp">
712
- <element name="rp">
713
- <zeroOrMore>
714
- <ref name="PureTextElement"/>
715
- </zeroOrMore>
809
+ <define name="ruby_pronunciation">
810
+ <element name="pronunciation">
811
+ <attribute name="value"/>
812
+ <optional>
813
+ <attribute name="script"/>
814
+ </optional>
815
+ <optional>
816
+ <attribute name="lang"/>
817
+ </optional>
716
818
  </element>
717
819
  </define>
718
- <define name="rt">
719
- <element name="rt">
720
- <zeroOrMore>
721
- <ref name="PureTextElement"/>
722
- </zeroOrMore>
820
+ <define name="ruby_annotation">
821
+ <element name="annotation">
822
+ <attribute name="value"/>
823
+ <optional>
824
+ <attribute name="script"/>
825
+ </optional>
826
+ <optional>
827
+ <attribute name="lang"/>
828
+ </optional>
723
829
  </element>
724
830
  </define>
725
831
  <define name="br">
@@ -898,44 +1004,49 @@
898
1004
  -->
899
1005
  <define name="image">
900
1006
  <element name="image">
901
- <attribute name="id">
902
- <data type="ID"/>
1007
+ <ref name="Image"/>
1008
+ </element>
1009
+ </define>
1010
+ <define name="Image">
1011
+ <attribute name="id">
1012
+ <data type="ID"/>
1013
+ </attribute>
1014
+ <attribute name="src">
1015
+ <data type="anyURI"/>
1016
+ </attribute>
1017
+ <attribute name="mimetype"/>
1018
+ <optional>
1019
+ <attribute name="filename"/>
1020
+ </optional>
1021
+ <optional>
1022
+ <attribute name="width">
1023
+ <ref name="ImageSize"/>
903
1024
  </attribute>
904
- <attribute name="src">
1025
+ </optional>
1026
+ <optional>
1027
+ <attribute name="height">
1028
+ <ref name="ImageSize"/>
1029
+ </attribute>
1030
+ </optional>
1031
+ <optional>
1032
+ <attribute name="alt"/>
1033
+ </optional>
1034
+ <optional>
1035
+ <attribute name="title"/>
1036
+ </optional>
1037
+ <optional>
1038
+ <attribute name="longdesc">
905
1039
  <data type="anyURI"/>
906
1040
  </attribute>
907
- <attribute name="mimetype"/>
908
- <optional>
909
- <attribute name="filename"/>
910
- </optional>
911
- <optional>
912
- <attribute name="width">
913
- <choice>
914
- <data type="int"/>
915
- <value>auto</value>
916
- </choice>
917
- </attribute>
918
- </optional>
919
- <optional>
920
- <attribute name="height">
921
- <choice>
922
- <data type="int"/>
923
- <value>auto</value>
924
- </choice>
925
- </attribute>
926
- </optional>
927
- <optional>
928
- <attribute name="alt"/>
929
- </optional>
930
- <optional>
931
- <attribute name="title"/>
932
- </optional>
933
- <optional>
934
- <attribute name="longdesc">
935
- <data type="anyURI"/>
936
- </attribute>
937
- </optional>
938
- </element>
1041
+ </optional>
1042
+ </define>
1043
+ <define name="ImageSize">
1044
+ <choice>
1045
+ <data type="string">
1046
+ <param name="pattern">\d+([.]\d+)?(%?)</param>
1047
+ </data>
1048
+ <value>auto</value>
1049
+ </choice>
939
1050
  </define>
940
1051
  <define name="video">
941
1052
  <element name="video">
@@ -9,11 +9,42 @@
9
9
  -->
10
10
  <include href="biblio.rng">
11
11
  <define name="BibData">
12
- <ref name="BibliographicItem"/>
12
+ <ref name="StandardBibliographicItem"/>
13
13
  <optional>
14
14
  <ref name="ext"/>
15
15
  </optional>
16
16
  </define>
17
+ <define name="docrelation">
18
+ <element name="relation">
19
+ <attribute name="type">
20
+ <ref name="DocRelationType"/>
21
+ </attribute>
22
+ <optional>
23
+ <element name="description">
24
+ <ref name="FormattedString"/>
25
+ </element>
26
+ </optional>
27
+ <element name="bibitem">
28
+ <ref name="StandardReducedBibliographicItem"/>
29
+ </element>
30
+ <choice>
31
+ <zeroOrMore>
32
+ <ref name="locality"/>
33
+ </zeroOrMore>
34
+ <zeroOrMore>
35
+ <ref name="localityStack"/>
36
+ </zeroOrMore>
37
+ </choice>
38
+ <choice>
39
+ <zeroOrMore>
40
+ <ref name="sourceLocality"/>
41
+ </zeroOrMore>
42
+ <zeroOrMore>
43
+ <ref name="sourceLocalityStack"/>
44
+ </zeroOrMore>
45
+ </choice>
46
+ </element>
47
+ </define>
17
48
  </include>
18
49
  <define name="ext">
19
50
  <element name="ext">
@@ -161,4 +192,16 @@
161
192
  </optional>
162
193
  </element>
163
194
  </define>
195
+ <define name="StandardBibliographicItem">
196
+ <ref name="BibliographicItem"/>
197
+ <zeroOrMore>
198
+ <ref name="amend"/>
199
+ </zeroOrMore>
200
+ </define>
201
+ <define name="StandardReducedBibliographicItem">
202
+ <ref name="ReducedBibliographicItem"/>
203
+ <zeroOrMore>
204
+ <ref name="amend"/>
205
+ </zeroOrMore>
206
+ </define>
164
207
  </grammar>
data/grammars/biblio.rng CHANGED
@@ -241,6 +241,9 @@
241
241
  </element>
242
242
  </define>
243
243
  <define name="FullNameType">
244
+ <optional>
245
+ <ref name="name_abbreviation"/>
246
+ </optional>
244
247
  <choice>
245
248
  <group>
246
249
  <zeroOrMore>
@@ -266,6 +269,11 @@
266
269
  <ref name="variantname"/>
267
270
  </zeroOrMore>
268
271
  </define>
272
+ <define name="name_abbreviation">
273
+ <element name="abbreviation">
274
+ <ref name="LocalizedString"/>
275
+ </element>
276
+ </define>
269
277
  <define name="prefix">
270
278
  <element name="prefix">
271
279
  <ref name="LocalizedString"/>
@@ -348,6 +356,9 @@
348
356
  <zeroOrMore>
349
357
  <ref name="contact"/>
350
358
  </zeroOrMore>
359
+ <optional>
360
+ <ref name="logo"/>
361
+ </optional>
351
362
  </element>
352
363
  </define>
353
364
  <define name="orgname">
@@ -366,6 +377,21 @@
366
377
  </choice>
367
378
  </element>
368
379
  </define>
380
+ <define name="logo">
381
+ <element name="logo">
382
+ <ref name="image"/>
383
+ </element>
384
+ </define>
385
+ <define name="depiction">
386
+ <element name="depiction">
387
+ <optional>
388
+ <attribute name="scope"/>
389
+ </optional>
390
+ <zeroOrMore>
391
+ <ref name="image"/>
392
+ </zeroOrMore>
393
+ </element>
394
+ </define>
369
395
  <define name="NameWithVariants">
370
396
  <element name="primary">
371
397
  <ref name="LocalizedString"/>
@@ -752,6 +778,9 @@
752
778
  <optional>
753
779
  <ref name="validity"/>
754
780
  </optional>
781
+ <optional>
782
+ <ref name="depiction"/>
783
+ </optional>
755
784
  </define>
756
785
  <define name="ReducedBibliographicItem">
757
786
  <optional>
@@ -849,6 +878,9 @@
849
878
  <optional>
850
879
  <ref name="validity"/>
851
880
  </optional>
881
+ <optional>
882
+ <ref name="depiction"/>
883
+ </optional>
852
884
  </define>
853
885
  <define name="btitle">
854
886
  <element name="title">
@@ -942,6 +974,7 @@
942
974
  <value>obsoleted</value>
943
975
  <value>confirmed</value>
944
976
  <value>updated</value>
977
+ <value>corrected</value>
945
978
  <value>issued</value>
946
979
  <value>transmitted</value>
947
980
  <value>copied</value>
@@ -15,6 +15,14 @@ module RelatonIec
15
15
  "CISPR" => ["International special committee on radio interference", "www.iec.ch"],
16
16
  }.freeze
17
17
 
18
+ DOCTYPES = {
19
+ "IS" => "international-standard",
20
+ "TR" => "technical-report",
21
+ "TS" => "technical-specification",
22
+ "PAS" => "publicly-available-specification",
23
+ "SRD" => "system-reference-deliverable",
24
+ }
25
+
18
26
  #
19
27
  # Initialize new instance.
20
28
  #
@@ -233,14 +241,8 @@ module RelatonIec
233
241
  # @return [String] document type
234
242
  #
235
243
  def doctype
236
- case @pub["stdType"]
237
- when "IS" then "international-standard"
238
- when "TR" then "technical-report"
239
- when "TS" then "technical-specification"
240
- when "PAS" then "publicly-available-specification"
241
- when "SRD" then "system-reference-deliverable"
242
- else @pub["stdType"].downcase
243
- end
244
+ type = DOCTYPES[@pub["stdType"]] || @pub["stdType"].downcase
245
+ DocumentType.new type: type
244
246
  end
245
247
 
246
248
  #
@@ -0,0 +1,20 @@
1
+ module RelatonIec
2
+ class DocumentType < RelatonBib::DocumentType
3
+ DOCTYPES = %w[
4
+ international-standard technical-specification technical-report
5
+ publicly-available-specification international-workshop-agreement
6
+ guide industry-technical-agreement system-reference-deliverable
7
+ ].freeze
8
+
9
+ def initialize(type:, abbreviation: nil)
10
+ check_type type
11
+ super
12
+ end
13
+
14
+ def check_type(type)
15
+ unless DOCTYPES.include? type
16
+ Util.warn "WARNING: Invalid doctype: `#{type}`"
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,14 +1,15 @@
1
1
  module RelatonIec
2
- class HashConverter < RelatonIsoBib::HashConverter
3
- class << self
4
- #
5
- # Ovverides superclass's method
6
- #
7
- # @param item [Hash]
8
- # @retirn [RelatonIec::IecBibliographicItem]
9
- def bib_item(item)
10
- IecBibliographicItem.new(**item)
11
- end
2
+ module HashConverter
3
+ include RelatonIsoBib::HashConverter
4
+ extend self
5
+
6
+ #
7
+ # Ovverides superclass's method
8
+ #
9
+ # @param item [Hash]
10
+ # @retirn [RelatonIec::IecBibliographicItem]
11
+ def bib_item(item)
12
+ IecBibliographicItem.new(**item)
12
13
  end
13
14
  end
14
15
  end
@@ -1,11 +1,5 @@
1
1
  module RelatonIec
2
2
  class IecBibliographicItem < RelatonIsoBib::IsoBibliographicItem
3
- DOCTYPES = %w[
4
- international-standard technical-specification technical-report
5
- publicly-available-specification international-workshop-agreement
6
- guide industry-technical-agreement system-reference-deliverable
7
- ].freeze
8
-
9
3
  SUBDOCTYPES = %w[specification method-of-test vocabulary code-of-practice].freeze
10
4
 
11
5
  FUNCTION = %w[emc safety enviroment quality-assurance].freeze
@@ -38,9 +32,9 @@ module RelatonIec
38
32
  Util.warn "Allowed function values are: `#{FUNCTION.join('`, `')}`"
39
33
  end
40
34
  if args[:updates_document_type] &&
41
- !DOCTYPES.include?(args[:updates_document_type])
35
+ !DocumentType::DOCTYPES.include?(args[:updates_document_type])
42
36
  Util.warn "WARNING: Invalid updates_document_type: `#{args[:updates_document_type]}`"
43
- Util.warn "Allowed updates_document_type values are: `#{DOCTYPES.join('`, `')}`"
37
+ Util.warn "Allowed updates_document_type values are: `#{DocumentType::DOCTYPES.join('`, `')}`"
44
38
  end
45
39
  @function = args.delete :function
46
40
  @updates_document_type = args.delete :updates_document_type
@@ -77,7 +71,7 @@ module RelatonIec
77
71
  super(**opts) do |b|
78
72
  if opts[:bibdata]
79
73
  ext = b.ext do
80
- b.doctype doctype if doctype
74
+ doctype&.to_xml b
81
75
  b.horizontal horizontal unless horizontal.nil?
82
76
  b.function function if function
83
77
  editorialgroup&.to_xml b
@@ -37,7 +37,7 @@ module RelatonIec
37
37
  end
38
38
 
39
39
  # @param hash [Hash]
40
- # @return [RelatonIsoBib::IecBibliographicItem]
40
+ # @return [RelatonIec::IecBibliographicItem]
41
41
  def hash_to_bib(hash)
42
42
  ::RelatonIec::IecBibliographicItem.from_hash hash
43
43
  end
@@ -1,3 +1,3 @@
1
1
  module RelatonIec
2
- VERSION = "1.16.4".freeze
2
+ VERSION = "1.18.0".freeze
3
3
  end
data/lib/relaton_iec.rb CHANGED
@@ -9,6 +9,7 @@ require "relaton_iec/hit"
9
9
  require "relaton_iec/version"
10
10
  require "relaton_iec/config"
11
11
  require "relaton_iec/util"
12
+ require "relaton_iec/document_type"
12
13
  require "relaton_iec/iec_bibliography"
13
14
  require "relaton_iec/iec_bibliographic_item"
14
15
  require "relaton_iec/xml_parser"
data/relaton_iec.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  "use using the IecBibliographicItem model"
13
13
  spec.description = "RelatonIec: retrieve IEC Standards for bibliographic " \
14
14
  "use using the IecBibliographicItem model"
15
- spec.homepage = "https://github.com/metanorma/relaton-iec"
15
+ spec.homepage = "https://github.com/relaton/relaton-iec"
16
16
  spec.license = "MIT"
17
17
 
18
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -25,6 +25,6 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.add_dependency "addressable"
27
27
  spec.add_dependency "relaton-index", "~> 0.2.0"
28
- spec.add_dependency "relaton-iso-bib", "~> 1.16.0"
28
+ spec.add_dependency "relaton-iso-bib", "~> 1.18.0"
29
29
  spec.add_dependency "rubyzip"
30
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.4
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-02 00:00:00.000000000 Z
11
+ date: 2024-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.16.0
47
+ version: 1.18.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.16.0
54
+ version: 1.18.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubyzip
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -112,6 +112,7 @@ files:
112
112
  - lib/relaton_iec/config.rb
113
113
  - lib/relaton_iec/data_fetcher.rb
114
114
  - lib/relaton_iec/data_parser.rb
115
+ - lib/relaton_iec/document_type.rb
115
116
  - lib/relaton_iec/hash_converter.rb
116
117
  - lib/relaton_iec/hit.rb
117
118
  - lib/relaton_iec/hit_collection.rb
@@ -125,7 +126,7 @@ files:
125
126
  - lib/relaton_iec/version.rb
126
127
  - lib/relaton_iec/xml_parser.rb
127
128
  - relaton_iec.gemspec
128
- homepage: https://github.com/metanorma/relaton-iec
129
+ homepage: https://github.com/relaton/relaton-iec
129
130
  licenses:
130
131
  - MIT
131
132
  metadata: {}