relaton-3gpp 1.16.3 → 1.17.0

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: c6d8e339275bc2ae0a757ca58f3b1688d1bfd5ca4ba212b8e47729b9fb5f242f
4
- data.tar.gz: f11db07abc50daf052dea9b5683f91cca577ee7fc8b841730511dd1613349498
3
+ metadata.gz: 4993aeee4498d1ebe35e27a116de70929533ee80ac2a9afeb783f9ed34cac737
4
+ data.tar.gz: cedbd3baeacbc31ca6546cb0effe01fe82bfd9e640f3904d184746169c76819e
5
5
  SHA512:
6
- metadata.gz: e3b3a94825681714236b9b2a85103b4842f69605d1633c714f7ed115e31bec90c8f66fa1885a5a084c87a1a9784d7056a29ad2d114c6480fe1f14fdc85dcc6f2
7
- data.tar.gz: 390a50834d6cd96d21f87b83245eefe224539ee76070380e1127535c2bb0a2c2abdfd2803fa12bcc62118e340ca55a04d96599fe19eb09f973bd53a245e433ff
6
+ metadata.gz: 68c6dc3d074bcc95b2e24d96179b23c3ade20d0a48f3af32bd3d7df4acc641d2aeb332b8057ff92249330ffd9f0cec72fd3ce1f270cb9f605407876e07e8b8c0
7
+ data.tar.gz: 13ca9ac5f8abd4e4bc5b2e10cb147eefd061a2be7de4a9c17bd56eda7c5a53df6783d1942b778cd6a5e760dc476c78f5743884f8aad7a73d2642812bc862e8cb
@@ -346,6 +346,8 @@
346
346
  <ref name="keyword"/>
347
347
  <ref name="xref"/>
348
348
  <ref name="hyperlink"/>
349
+ <ref name="index"/>
350
+ <ref name="index-xref"/>
349
351
  </choice>
350
352
  </oneOrMore>
351
353
  </element>
@@ -623,6 +625,8 @@
623
625
  <ref name="eref"/>
624
626
  <ref name="xref"/>
625
627
  <ref name="hyperlink"/>
628
+ <ref name="index"/>
629
+ <ref name="index-xref"/>
626
630
  </choice>
627
631
  </zeroOrMore>
628
632
  </element>
@@ -636,6 +640,8 @@
636
640
  <ref name="eref"/>
637
641
  <ref name="xref"/>
638
642
  <ref name="hyperlink"/>
643
+ <ref name="index"/>
644
+ <ref name="index-xref"/>
639
645
  </choice>
640
646
  </zeroOrMore>
641
647
  </element>
@@ -648,6 +654,8 @@
648
654
  <ref name="eref"/>
649
655
  <ref name="xref"/>
650
656
  <ref name="hyperlink"/>
657
+ <ref name="index"/>
658
+ <ref name="index-xref"/>
651
659
  </choice>
652
660
  </zeroOrMore>
653
661
  </element>
@@ -655,7 +663,11 @@
655
663
  <define name="keyword">
656
664
  <element name="keyword">
657
665
  <zeroOrMore>
658
- <ref name="PureTextElement"/>
666
+ <choice>
667
+ <ref name="PureTextElement"/>
668
+ <ref name="index"/>
669
+ <ref name="index-xref"/>
670
+ </choice>
659
671
  </zeroOrMore>
660
672
  </element>
661
673
  </define>
@@ -676,7 +688,11 @@
676
688
  <define name="strike">
677
689
  <element name="strike">
678
690
  <zeroOrMore>
679
- <ref name="PureTextElement"/>
691
+ <choice>
692
+ <ref name="PureTextElement"/>
693
+ <ref name="index"/>
694
+ <ref name="index-xref"/>
695
+ </choice>
680
696
  </zeroOrMore>
681
697
  </element>
682
698
  </define>
data/grammars/biblio.rng CHANGED
@@ -942,6 +942,7 @@
942
942
  <value>obsoleted</value>
943
943
  <value>confirmed</value>
944
944
  <value>updated</value>
945
+ <value>corrected</value>
945
946
  <value>issued</value>
946
947
  <value>transmitted</value>
947
948
  <value>copied</value>
@@ -1,6 +1,5 @@
1
1
  module Relaton3gpp
2
2
  class BibliographicItem < RelatonBib::BibliographicItem
3
- DOCTYPES = %w[TR TS].freeze
4
3
  DOCSUBTYPES = %w[spec release].freeze
5
4
  RADIOTECHNOLOGIES = %w[2G 3G LTE 5G].freeze
6
5
 
@@ -12,6 +11,7 @@ module Relaton3gpp
12
11
  # @param [Relaton3gpp::Release] release
13
12
  #
14
13
  def initialize(**args) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
14
+ Util.warn "WARNING: Doctype is missing" if args[:type].nil?
15
15
  @radiotechnology = args.delete(:radiotechnology)
16
16
  if @radiotechnology && !RADIOTECHNOLOGIES.include?(@radiotechnology)
17
17
  Util.warn "WARNING: Unknown radiotechnology type: `#{@radiotechnology}`"
@@ -19,11 +19,6 @@ module Relaton3gpp
19
19
  end
20
20
  @common_ims_spec = args.delete(:common_ims_spec)
21
21
  @release = args.delete(:release)
22
- if args[:doctype].nil? then Util.warn "WARNING: Doctype is missing"
23
- elsif !DOCTYPES.include?(args[:doctype])
24
- Util.warn "WARNING: Unknown doctype: `#{args[:doctype]}`"
25
- Util.warn "WARNING: Possible doctypes: `#{DOCTYPES.join '`, `'}`"
26
- end
27
22
  if args[:docsubtype] && !DOCSUBTYPES.include?(args[:docsubtype])
28
23
  Util.warn "WARNING: Unknown docsubtype: `#{args[:docsubtype]}`"
29
24
  Util.warn "WARNING: Possible docsubtypes: `#{DOCSUBTYPES.join '`, `'}`"
@@ -62,7 +57,7 @@ module Relaton3gpp
62
57
  if block_given? then yield b
63
58
  elsif opts[:bibdata] && has_ext_attrs?
64
59
  ext = b.ext do
65
- b.doctype doctype if doctype
60
+ doctype&.to_xml b
66
61
  b.subdoctype subdoctype if subdoctype
67
62
  editorialgroup&.to_xml b
68
63
  ics.each { |i| i.to_xml b }
@@ -0,0 +1,18 @@
1
+ module Relaton3gpp
2
+ class DocumentType < RelatonBib::DocumentType
3
+ DOCTYPES = %w[TS TR].freeze
4
+
5
+ def initialize(type:, abbreviation: nil)
6
+ check type
7
+ super
8
+ end
9
+
10
+ # @param type [String]
11
+ def check(type)
12
+ unless DOCTYPES.include? type
13
+ Util.warn "WARNING: Unknown doctype: `#{type}`"
14
+ Util.warn "WARNING: Possible doctypes: `#{DOCTYPES.join '`, `'}`"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,21 +1,26 @@
1
1
  module Relaton3gpp
2
- class HashConverter < RelatonBib::HashConverter
3
- class << self
4
- def hash_to_bib(args)
5
- hash = super
6
- release_hash_to_bib(hash)
7
- hash
8
- end
2
+ module HashConverter
3
+ include RelatonBib::HashConverter
4
+ extend self
9
5
 
10
- def release_hash_to_bib(hash)
11
- hash[:release] &&= Release.new(**hash[:release])
12
- end
6
+ def hash_to_bib(args)
7
+ hash = super
8
+ release_hash_to_bib(hash)
9
+ hash
10
+ end
11
+
12
+ def release_hash_to_bib(hash)
13
+ hash[:release] &&= Release.new(**hash[:release])
14
+ end
15
+
16
+ # @param item_hash [Hash]
17
+ # @return [Relaton3gpp::BibliographicItem]
18
+ def bib_item(item_hash)
19
+ BibliographicItem.new(**item_hash)
20
+ end
13
21
 
14
- # @param item_hash [Hash]
15
- # @return [Relaton3gpp::BibliographicItem]
16
- def bib_item(item_hash)
17
- BibliographicItem.new(**item_hash)
18
- end
22
+ def create_doctype(**type)
23
+ DocumentType.new(**type)
19
24
  end
20
25
  end
21
26
  end
@@ -54,7 +54,7 @@ module Relaton3gpp
54
54
  docid: parse_docid,
55
55
  docnumber: number,
56
56
  date: parse_date,
57
- doctype: @spec[:Type],
57
+ doctype: DocumentType.new(type: @spec[:Type]),
58
58
  editorialgroup: parse_editorialgroup,
59
59
  biblionote: parse_note,
60
60
  docstatus: parse_status,
@@ -92,7 +92,7 @@ module Relaton3gpp
92
92
  #
93
93
  # Parse abstract
94
94
  #
95
- # @return [Array<RelatonBib::FormattedString>]
95
+ # @return [Array<RelatonBib::FormattedString>]
96
96
  #
97
97
  def parse_abstract
98
98
  return [] unless @spec[:description]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Relaton3gpp
4
- VERSION = "1.16.3"
4
+ VERSION = "1.17.0"
5
5
  end
data/lib/relaton_3gpp.rb CHANGED
@@ -6,6 +6,7 @@ require "relaton_bib"
6
6
  require_relative "relaton_3gpp/version"
7
7
  require_relative "relaton_3gpp/config"
8
8
  require_relative "relaton_3gpp/util"
9
+ require_relative "relaton_3gpp/document_type"
9
10
  require_relative "relaton_3gpp/release"
10
11
  require_relative "relaton_3gpp/bibliographic_item"
11
12
  require_relative "relaton_3gpp/hash_converter"
data/relaton_3gpp.gemspec CHANGED
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
38
38
 
39
39
  spec.add_dependency "mdb", "~> 0.5.0"
40
40
  spec.add_dependency "net-ftp", "~> 0.1.0"
41
- spec.add_dependency "relaton-bib", "~> 1.16.0"
41
+ spec.add_dependency "relaton-bib", "~> 1.17.0"
42
42
  spec.add_dependency "relaton-index", "~> 0.2.0"
43
43
  spec.add_dependency "rubyzip", "~> 2.3.0"
44
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-3gpp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.3
4
+ version: 1.17.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-10-07 00:00:00.000000000 Z
11
+ date: 2023-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mdb
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.16.0
47
+ version: 1.17.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.17.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: relaton-index
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +109,7 @@ files:
109
109
  - lib/relaton_3gpp/bibliography.rb
110
110
  - lib/relaton_3gpp/config.rb
111
111
  - lib/relaton_3gpp/data_fetcher.rb
112
+ - lib/relaton_3gpp/document_type.rb
112
113
  - lib/relaton_3gpp/hash_converter.rb
113
114
  - lib/relaton_3gpp/parser.rb
114
115
  - lib/relaton_3gpp/processor.rb