relaton-w3c 1.16.0 → 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 +4 -4
- data/README.adoc +14 -3
- data/grammars/basicdoc.rng +18 -2
- data/grammars/biblio.rng +1 -0
- data/lib/relaton_w3c/config.rb +10 -0
- data/lib/relaton_w3c/data_parser.rb +3 -2
- data/lib/relaton_w3c/document_type.rb +16 -0
- data/lib/relaton_w3c/hash_converter.rb +8 -7
- data/lib/relaton_w3c/hit.rb +7 -0
- data/lib/relaton_w3c/hit_collection.rb +7 -0
- data/lib/relaton_w3c/util.rb +9 -0
- data/lib/relaton_w3c/version.rb +1 -1
- data/lib/relaton_w3c/w3c_bibliographic_item.rb +3 -12
- data/lib/relaton_w3c/w3c_bibliography.rb +3 -3
- data/lib/relaton_w3c/xml_parser.rb +3 -3
- data/lib/relaton_w3c.rb +7 -4
- data/relaton_w3c.gemspec +1 -1
- metadata +9 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2be8f996d2817de1178521c3e44076641c356a5070b80ed224f08c81e90c4013
|
4
|
+
data.tar.gz: 402ef37f8f0e22f6c7887df9d11665f79b1bd4ab16545c67b63a1fa2cd65d675
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 199b908dac06eee499d675bf44cf9d0c8df53968ee639a11f4f914c6ae2ac03281d01dce19cafe92c1427a03f342a93ce071556eccf11c612df8c8f41961f7ad
|
7
|
+
data.tar.gz: f65c63b39d3a6b2210ae02402f241951254f5f6c2c6eec108ba62c29ed8ad796bbb55362ca4e3710373cc911bd8b8eec4074464c4636bb1c1dd954e719c37549
|
data/README.adoc
CHANGED
@@ -23,16 +23,27 @@ Or install it yourself as:
|
|
23
23
|
|
24
24
|
== Usage
|
25
25
|
|
26
|
-
===
|
26
|
+
=== Configuration
|
27
|
+
|
28
|
+
Configuration is optional. The available option is `logger` which is a `Logger` instance. By default, the logger is `Logger.new($stderr)` with `Logger::WARN` level. To change the logger level, use `RelatonW3c.configure` block.
|
27
29
|
|
28
30
|
[source,ruby]
|
29
31
|
----
|
30
32
|
require 'relaton_w3c'
|
31
33
|
=> true
|
32
34
|
|
35
|
+
RelatonW3c.configure do |config|
|
36
|
+
config.logger.level = Logger::DEBUG
|
37
|
+
end
|
38
|
+
----
|
39
|
+
|
40
|
+
=== Search for a standard using keywords
|
41
|
+
|
42
|
+
[source,ruby]
|
43
|
+
----
|
33
44
|
item = RelatonW3c::W3cBibliography.get "W3C REC-json-ld11-20200716"
|
34
|
-
[relaton-w3c] (
|
35
|
-
[relaton-w3c] (
|
45
|
+
[relaton-w3c] (W3C REC-json-ld11-20200716) Fetching from Relaton repository ...
|
46
|
+
[relaton-w3c] (W3C REC-json-ld11-20200716) Found: `REC-json-ld11-20200716`
|
36
47
|
=> #<RelatonW3c::W3cBibliographicItem:0x00007fc4ea03c6c0
|
37
48
|
...
|
38
49
|
----
|
data/grammars/basicdoc.rng
CHANGED
@@ -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
|
-
<
|
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
|
-
<
|
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
@@ -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
|
#
|
@@ -434,7 +435,7 @@ module RelatonW3c
|
|
434
435
|
rwg = RelatonBib::WorkGroup.new name: wg["name"]
|
435
436
|
obj << RelatonBib::TechnicalCommittee.new(rwg)
|
436
437
|
else
|
437
|
-
warn "Working group name not found for
|
438
|
+
Util.warn "WARNING: Working group name not found for: `#{edg.home_page}`"
|
438
439
|
end
|
439
440
|
end
|
440
441
|
RelatonBib::EditorialGroup.new tc
|
@@ -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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
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
|
data/lib/relaton_w3c/version.rb
CHANGED
@@ -1,17 +1,8 @@
|
|
1
1
|
module RelatonW3c
|
2
2
|
class W3cBibliographicItem < RelatonBib::BibliographicItem
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
].freeze
|
7
|
-
|
8
|
-
# @param doctype [String]
|
9
|
-
def initialize(**args)
|
10
|
-
if args[:doctype] && !TYPES.include?(args[:doctype])
|
11
|
-
warn "[relaton-w3c] 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
|
@@ -39,15 +39,15 @@ module RelatonW3c
|
|
39
39
|
# @param opts [Hash] options
|
40
40
|
# @return [RelatonW3c::W3cBibliographicItem]
|
41
41
|
def get(ref, _year = nil, _opts = {})
|
42
|
-
warn "
|
42
|
+
Util.warn "(#{ref}) Fetching from Relaton repository ..."
|
43
43
|
result = search(ref)
|
44
44
|
unless result
|
45
|
-
warn "
|
45
|
+
Util.warn "(#{ref}) Not found."
|
46
46
|
return
|
47
47
|
end
|
48
48
|
|
49
49
|
found = result.docnumber
|
50
|
-
warn "
|
50
|
+
Util.warn "(#{ref}) Found: `#{found}`"
|
51
51
|
result
|
52
52
|
end
|
53
53
|
end
|
@@ -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
@@ -1,6 +1,9 @@
|
|
1
1
|
require "relaton_bib"
|
2
2
|
require "relaton/index"
|
3
3
|
require "relaton_w3c/version"
|
4
|
+
require "relaton_w3c/config"
|
5
|
+
require "relaton_w3c/util"
|
6
|
+
require "relaton_w3c/document_type"
|
4
7
|
require "relaton_w3c/w3c_bibliography"
|
5
8
|
require "relaton_w3c/w3c_bibliographic_item"
|
6
9
|
require "relaton_w3c/xml_parser"
|
@@ -16,9 +19,9 @@ module RelatonW3c
|
|
16
19
|
# Returns hash of XML reammar
|
17
20
|
# @return [String]
|
18
21
|
def self.grammar_hash
|
19
|
-
gem_path = File.expand_path "..", __dir__
|
20
|
-
grammars_path = File.join gem_path, "grammars", "*"
|
21
|
-
grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
|
22
|
-
Digest::MD5.hexdigest grammars
|
22
|
+
# gem_path = File.expand_path "..", __dir__
|
23
|
+
# grammars_path = File.join gem_path, "grammars", "*"
|
24
|
+
# grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
|
25
|
+
Digest::MD5.hexdigest RelatonW3c::VERSION + RelatonBib::VERSION # grammars
|
23
26
|
end
|
24
27
|
end
|
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.
|
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.
|
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-
|
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.
|
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.
|
82
|
+
version: 1.17.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: relaton-index
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,12 +164,17 @@ files:
|
|
164
164
|
- grammars/relaton-w3c.rng
|
165
165
|
- lib/relaton_w3c.rb
|
166
166
|
- lib/relaton_w3c/bibxml_parser.rb
|
167
|
+
- lib/relaton_w3c/config.rb
|
167
168
|
- lib/relaton_w3c/data_fetcher.rb
|
168
169
|
- lib/relaton_w3c/data_index.rb
|
169
170
|
- lib/relaton_w3c/data_parser.rb
|
171
|
+
- lib/relaton_w3c/document_type.rb
|
170
172
|
- lib/relaton_w3c/hash_converter.rb
|
173
|
+
- lib/relaton_w3c/hit.rb
|
174
|
+
- lib/relaton_w3c/hit_collection.rb
|
171
175
|
- lib/relaton_w3c/processor.rb
|
172
176
|
- lib/relaton_w3c/pubid.rb
|
177
|
+
- lib/relaton_w3c/util.rb
|
173
178
|
- lib/relaton_w3c/version.rb
|
174
179
|
- lib/relaton_w3c/w3c_bibliographic_item.rb
|
175
180
|
- lib/relaton_w3c/w3c_bibliography.rb
|