relaton-w3c 1.16.1 → 1.17.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: 0440b77d73c24a978935bfba1bd94b9ddc58c8ebcf90cc229c4a5339a901c18c
4
- data.tar.gz: a4b299f58a4c4c4b79946ef56e075cbff224fb8f6a639e11958a4dba996eeb5d
3
+ metadata.gz: 2be8f996d2817de1178521c3e44076641c356a5070b80ed224f08c81e90c4013
4
+ data.tar.gz: 402ef37f8f0e22f6c7887df9d11665f79b1bd4ab16545c67b63a1fa2cd65d675
5
5
  SHA512:
6
- metadata.gz: 81e2bd181d0a55948a36d831d39ebb13edfc7a0d28bcff8e035f5e6544305b67bd6a28db4d647c45417ff4504aa8dde2459bd7b848b274c53c286fcc08edc360
7
- data.tar.gz: ff49763539341324fc1d0e612d90404b52b25d11e9b2141cc7801e050abfb81e03c8c94de29c4278af452415eaf92293467b7d9817a87fbb2122fd0177a5b038
6
+ metadata.gz: 199b908dac06eee499d675bf44cf9d0c8df53968ee639a11f4f914c6ae2ac03281d01dce19cafe92c1427a03f342a93ce071556eccf11c612df8c8f41961f7ad
7
+ data.tar.gz: f65c63b39d3a6b2210ae02402f241951254f5f6c2c6eec108ba62c29ed8ad796bbb55362ca4e3710373cc911bd8b8eec4074464c4636bb1c1dd954e719c37549
@@ -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>
@@ -222,7 +222,8 @@ module RelatonW3c
222
222
  # @return [String, nil] doctype
223
223
  #
224
224
  def parse_doctype
225
- DOCTYPES[type] || DOCTYPES[type_from_link]
225
+ type = DOCTYPES[type] || DOCTYPES[type_from_link]
226
+ DocumentType.new(type: type) if type
226
227
  end
227
228
 
228
229
  #
@@ -0,0 +1,16 @@
1
+ module RelatonW3c
2
+ class DocumentType < RelatonBib::DocumentType
3
+ DOCTYPES = %w[groupNote technicalReport].freeze
4
+
5
+ def initialize(type:, abbreviation: nil)
6
+ check_type type
7
+ super
8
+ end
9
+
10
+ def check_type(type)
11
+ unless DOCTYPES.include? type
12
+ Util.warn "WARNING: invalid doctype: `#{type}`"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,11 +1,12 @@
1
1
  module RelatonW3c
2
- class HashConverter < RelatonBib::HashConverter
3
- class << self
4
- # @param item_hash [Hash]
5
- # @return [RelatonW3c::W3cBibliographicItem]
6
- def bib_item(item_hash)
7
- W3cBibliographicItem.new(**item_hash)
8
- end
2
+ module HashConverter
3
+ include RelatonBib::HashConverter
4
+ extend self
5
+
6
+ # @param item_hash [Hash]
7
+ # @return [RelatonW3c::W3cBibliographicItem]
8
+ def bib_item(item_hash)
9
+ W3cBibliographicItem.new(**item_hash)
9
10
  end
10
11
  end
11
12
  end
@@ -0,0 +1,7 @@
1
+ module RelatonW3c
2
+ class Hit
3
+ def initialize(rows)
4
+ @array = rows.map { |r| Hit.new(**r) }
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module RelatonW3c
2
+ class HitCollection < RelatonBib::HitCollection
3
+ def initialize(rows)
4
+ @array = rows.map { |r| Hit.new(**r) }
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module RelatonW3c
2
- VERSION = "1.16.1".freeze
2
+ VERSION = "1.17.0".freeze
3
3
  end
@@ -1,17 +1,8 @@
1
1
  module RelatonW3c
2
2
  class W3cBibliographicItem < RelatonBib::BibliographicItem
3
- TYPES = %w[
4
- candidateRecommendation groupNote proposedEditedRecommendation
5
- proposedRecommendation recommendation retired workingDraft technicalReport
6
- ].freeze
7
-
8
- # @param doctype [String]
9
- def initialize(**args)
10
- if args[:doctype] && !TYPES.include?(args[:doctype])
11
- Util.warn "Invalid document type: `#{args[:doctype]}`"
12
- end
13
- super
14
- end
3
+ # def initialize(**args)
4
+ # super
5
+ # end
15
6
 
16
7
  #
17
8
  # Fetch flavor schema version
@@ -8,10 +8,10 @@ module RelatonW3c
8
8
  # @returtn [Hash]
9
9
  def item_data(item)
10
10
  data = super
11
- ext = item.at "./ext"
12
- return data unless ext
11
+ # ext = item.at "./ext"
12
+ # return data unless ext
13
13
 
14
- data[:doctype] = ext.at("./doctype")&.text
14
+ # data[:doctype] = ext.at("./doctype")&.text
15
15
  data
16
16
  end
17
17
 
data/lib/relaton_w3c.rb CHANGED
@@ -3,6 +3,7 @@ require "relaton/index"
3
3
  require "relaton_w3c/version"
4
4
  require "relaton_w3c/config"
5
5
  require "relaton_w3c/util"
6
+ require "relaton_w3c/document_type"
6
7
  require "relaton_w3c/w3c_bibliography"
7
8
  require "relaton_w3c/w3c_bibliographic_item"
8
9
  require "relaton_w3c/xml_parser"
data/relaton_w3c.gemspec CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_dependency "mechanize", "~> 2.8.0"
36
36
  spec.add_dependency "rdf", "~> 3.2.0"
37
37
  spec.add_dependency "rdf-normalize", "~> 0.5.0"
38
- spec.add_dependency "relaton-bib", "~> 1.16.0"
38
+ spec.add_dependency "relaton-bib", "~> 1.17.0"
39
39
  spec.add_dependency "relaton-index", "~> 0.2.4"
40
40
  spec.add_dependency "rubyzip", "~> 2.3.0"
41
41
  spec.add_dependency "shex", "~> 0.7.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-w3c
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.1
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-18 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: linkeddata
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.16.0
75
+ version: 1.17.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.16.0
82
+ version: 1.17.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: relaton-index
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -168,7 +168,10 @@ files:
168
168
  - lib/relaton_w3c/data_fetcher.rb
169
169
  - lib/relaton_w3c/data_index.rb
170
170
  - lib/relaton_w3c/data_parser.rb
171
+ - lib/relaton_w3c/document_type.rb
171
172
  - lib/relaton_w3c/hash_converter.rb
173
+ - lib/relaton_w3c/hit.rb
174
+ - lib/relaton_w3c/hit_collection.rb
172
175
  - lib/relaton_w3c/processor.rb
173
176
  - lib/relaton_w3c/pubid.rb
174
177
  - lib/relaton_w3c/util.rb