relaton-nist 1.17.0 → 1.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +1 -1
- data/.github/workflows/release.yml +1 -1
- data/README.adoc +2 -2
- data/grammars/basicdoc.rng +147 -52
- data/grammars/biblio-standoc.rng +44 -1
- data/grammars/biblio.rng +32 -0
- data/lib/relaton_nist/tech_pubs_parser.rb +13 -7
- data/lib/relaton_nist/version.rb +1 -1
- data/relaton_nist.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96861330895fb2cca8e2d6ab7320bd4daa8ef8e2873231399761604eed233be1
|
4
|
+
data.tar.gz: 524bb34cd6285c212067c3ac791f916ecd72296a523627f82b7cf364de917dd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2afde329d073bb4dc564005568eb06fdb52e1cc1911c74d6ad4656ab0e492d01108a2c3ba31fe2b29bdb84bab5640f7f199afdd021dcadd5b6c1aaab5b9269f8
|
7
|
+
data.tar.gz: 230883c366766fd4dc7b23a3acd0edee052709391e7c3cdd4e97f28a7f864666859a95fcf4d401b5247d6b81b80543bb2cb6a9ac2e575b6e96b0fc647f0130be
|
data/.github/workflows/rake.yml
CHANGED
data/README.adoc
CHANGED
@@ -103,7 +103,7 @@ item = hit_collection[0].fetch
|
|
103
103
|
[source,ruby]
|
104
104
|
----
|
105
105
|
item.to_xml
|
106
|
-
=> "<bibitem id="NISTIR8200" type="standard" schema-version="v1.2.
|
106
|
+
=> "<bibitem id="NISTIR8200" type="standard" schema-version="v1.2.8">
|
107
107
|
<fetched>2023-10-16</fetched>
|
108
108
|
<title format="text/plain" language="en" script="Latn">Interagency report on the status of international cybersecurity standardization for the internet of things (IoT)</title>
|
109
109
|
...
|
@@ -113,7 +113,7 @@ With argument `bibdata: true` it outputs XML wrapped by `bibdata` element and ad
|
|
113
113
|
[source,ruby]
|
114
114
|
----
|
115
115
|
item.to_xml bibdata: true
|
116
|
-
=> "<bibdata type="standard" schema-version="v1.2.
|
116
|
+
=> "<bibdata type="standard" schema-version="v1.2.8">
|
117
117
|
<fetched>2023-10-16</fetched>
|
118
118
|
<title format="text/plain" language="en" script="Latn">Interagency report on the status of international cybersecurity standardization for the internet of things (IoT)</title>
|
119
119
|
...
|
data/grammars/basicdoc.rng
CHANGED
@@ -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"/>
|
@@ -715,27 +796,36 @@
|
|
715
796
|
</define>
|
716
797
|
<define name="ruby">
|
717
798
|
<element name="ruby">
|
718
|
-
<
|
719
|
-
<
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
799
|
+
<choice>
|
800
|
+
<ref name="ruby_pronunciation"/>
|
801
|
+
<ref name="ruby_annotation"/>
|
802
|
+
</choice>
|
803
|
+
<choice>
|
804
|
+
<text/>
|
805
|
+
<ref name="ruby"/>
|
806
|
+
</choice>
|
725
807
|
</element>
|
726
808
|
</define>
|
727
|
-
<define name="
|
728
|
-
<element name="
|
729
|
-
<
|
730
|
-
|
731
|
-
|
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>
|
732
818
|
</element>
|
733
819
|
</define>
|
734
|
-
<define name="
|
735
|
-
<element name="
|
736
|
-
<
|
737
|
-
|
738
|
-
|
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>
|
739
829
|
</element>
|
740
830
|
</define>
|
741
831
|
<define name="br">
|
@@ -914,44 +1004,49 @@
|
|
914
1004
|
-->
|
915
1005
|
<define name="image">
|
916
1006
|
<element name="image">
|
917
|
-
<
|
918
|
-
|
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"/>
|
919
1024
|
</attribute>
|
920
|
-
|
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">
|
921
1039
|
<data type="anyURI"/>
|
922
1040
|
</attribute>
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
<
|
928
|
-
<
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
</choice>
|
933
|
-
</attribute>
|
934
|
-
</optional>
|
935
|
-
<optional>
|
936
|
-
<attribute name="height">
|
937
|
-
<choice>
|
938
|
-
<data type="int"/>
|
939
|
-
<value>auto</value>
|
940
|
-
</choice>
|
941
|
-
</attribute>
|
942
|
-
</optional>
|
943
|
-
<optional>
|
944
|
-
<attribute name="alt"/>
|
945
|
-
</optional>
|
946
|
-
<optional>
|
947
|
-
<attribute name="title"/>
|
948
|
-
</optional>
|
949
|
-
<optional>
|
950
|
-
<attribute name="longdesc">
|
951
|
-
<data type="anyURI"/>
|
952
|
-
</attribute>
|
953
|
-
</optional>
|
954
|
-
</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>
|
955
1050
|
</define>
|
956
1051
|
<define name="video">
|
957
1052
|
<element name="video">
|
data/grammars/biblio-standoc.rng
CHANGED
@@ -9,11 +9,42 @@
|
|
9
9
|
-->
|
10
10
|
<include href="biblio.rng">
|
11
11
|
<define name="BibData">
|
12
|
-
<ref name="
|
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">
|
@@ -43,10 +43,10 @@ module RelatonNist
|
|
43
43
|
RelatonNist::NistBibliographicItem.new(
|
44
44
|
type: "standard", language: [@doc["language"]], script: ["Latn"], **args
|
45
45
|
)
|
46
|
-
rescue StandardError => e
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
# rescue StandardError => e
|
47
|
+
# warn "Document: `#{pub_id}`"
|
48
|
+
# warn e.message
|
49
|
+
# warn e.backtrace[0..5].join("\n")
|
50
50
|
end
|
51
51
|
|
52
52
|
def args
|
@@ -73,12 +73,18 @@ module RelatonNist
|
|
73
73
|
#
|
74
74
|
def pub_id
|
75
75
|
# anchor(doc).gsub(".", " ")
|
76
|
-
doi
|
76
|
+
if doi
|
77
|
+
doi.split("/")[1..].join("/").gsub(".", " ").sub(/^nist\sir/, "NIST IR")
|
78
|
+
else
|
79
|
+
@doc.at("publisher_item/item_number").text
|
80
|
+
end
|
77
81
|
end
|
78
82
|
|
79
83
|
def doi # rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength
|
80
|
-
@doi
|
81
|
-
|
84
|
+
return @doi if defined? @doi
|
85
|
+
|
86
|
+
@doi = begin
|
87
|
+
id = @doc.at("doi_data/doi")&.text
|
82
88
|
case id
|
83
89
|
when "10.6028/NBS.CIRC.e2e" then "10.6028/NBS.CIRC.2e2"
|
84
90
|
when "10.6028/NBS.CIRC.sup" then "10.6028/NBS.CIRC.24e7sup"
|
data/lib/relaton_nist/version.rb
CHANGED
data/relaton_nist.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
25
25
|
|
26
|
-
spec.add_dependency "relaton-bib", "~> 1.
|
26
|
+
spec.add_dependency "relaton-bib", "~> 1.18.0"
|
27
27
|
spec.add_dependency "relaton-index", "~> 0.2.0"
|
28
28
|
spec.add_dependency "rubyzip"
|
29
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-nist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
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:
|
11
|
+
date: 2024-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: relaton-bib
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.18.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.18.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: relaton-index
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|