relaton-gb 1.11.0 → 1.13.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 -24
- data/grammars/biblio.rng +180 -53
- data/grammars/isodoc.rng +103 -0
- data/grammars/isostandard.rng +32 -12
- data/lib/relaton_gb/gb_scrapper.rb +1 -1
- data/lib/relaton_gb/hash_converter.rb +3 -3
- data/lib/relaton_gb/hit.rb +3 -3
- data/lib/relaton_gb/scrapper.rb +1 -3
- data/lib/relaton_gb/t_scrapper.rb +4 -4
- data/lib/relaton_gb/version.rb +1 -1
- data/relaton_gb.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: 2f3844801b9c641a154e348f6353bd015852bb2397188c78cf0eff2db6195a4b
|
4
|
+
data.tar.gz: 4dabafff1ae9b09e935e0c4f1942ba4db625b9321cdfe64bda829dc2aa2e64fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffd17de2c4b98e5a75d538d85d0cb21b612a46f911af2ebf4e05a61e4d8e839956c1f3bb54a9aa02bd954ac0ebfd937b0a9614ed952d896c9c487abab2ce5b8a
|
7
|
+
data.tar.gz: 587cfd65266caf303f1b5ceb2a67288411c23fba83bf06057ee0aed2b071e8f5c44bf34e6444ed2e4490ffaf771955d9c46ce3db2a475955c843b2b07473776e
|
data/.github/workflows/rake.yml
CHANGED
@@ -10,27 +10,4 @@ on:
|
|
10
10
|
|
11
11
|
jobs:
|
12
12
|
rake:
|
13
|
-
|
14
|
-
runs-on: ${{ matrix.os }}
|
15
|
-
continue-on-error: ${{ matrix.experimental }}
|
16
|
-
strategy:
|
17
|
-
fail-fast: false
|
18
|
-
matrix:
|
19
|
-
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
20
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
|
-
experimental: [ false ]
|
22
|
-
steps:
|
23
|
-
- uses: actions/checkout@v2
|
24
|
-
with:
|
25
|
-
submodules: true
|
26
|
-
|
27
|
-
# https://github.com/ruby-debug/debase/issues/89#issuecomment-686827382
|
28
|
-
- if: matrix.os == 'macos-latest' && matrix.ruby == '2.5'
|
29
|
-
run: echo BUNDLE_BUILD__DEBASE="--with-cflags=\"-Wno-error=implicit-function-declaration\"" >> $GITHUB_ENV
|
30
|
-
|
31
|
-
- uses: ruby/setup-ruby@v1
|
32
|
-
with:
|
33
|
-
ruby-version: ${{ matrix.ruby }}
|
34
|
-
bundler-cache: true
|
35
|
-
|
36
|
-
- run: bundle exec rake
|
13
|
+
uses: relaton/support/.github/workflows/rake.yml@master
|
data/grammars/biblio.rng
CHANGED
@@ -225,9 +225,9 @@
|
|
225
225
|
<zeroOrMore>
|
226
226
|
<ref name="forename"/>
|
227
227
|
</zeroOrMore>
|
228
|
-
<
|
229
|
-
<ref name="
|
230
|
-
</
|
228
|
+
<optional>
|
229
|
+
<ref name="formatted-initials"/>
|
230
|
+
</optional>
|
231
231
|
<ref name="surname"/>
|
232
232
|
<zeroOrMore>
|
233
233
|
<ref name="addition"/>
|
@@ -247,8 +247,8 @@
|
|
247
247
|
<ref name="LocalizedString"/>
|
248
248
|
</element>
|
249
249
|
</define>
|
250
|
-
<define name="
|
251
|
-
<element name="
|
250
|
+
<define name="formatted-initials">
|
251
|
+
<element name="formatted-initials">
|
252
252
|
<ref name="LocalizedString"/>
|
253
253
|
</element>
|
254
254
|
</define>
|
@@ -264,6 +264,9 @@
|
|
264
264
|
</define>
|
265
265
|
<define name="forename">
|
266
266
|
<element name="forename">
|
267
|
+
<optional>
|
268
|
+
<attribute name="initial"/>
|
269
|
+
</optional>
|
267
270
|
<ref name="LocalizedString"/>
|
268
271
|
</element>
|
269
272
|
</define>
|
@@ -527,7 +530,7 @@
|
|
527
530
|
</define>
|
528
531
|
<define name="LocalityType">
|
529
532
|
<data type="string">
|
530
|
-
<param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
|
533
|
+
<param name="pattern">section|clause|part|paragraph|chapter|page|title|line|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
|
531
534
|
</data>
|
532
535
|
</define>
|
533
536
|
<define name="referenceFrom">
|
@@ -614,12 +617,103 @@
|
|
614
617
|
<optional>
|
615
618
|
<ref name="fetched"/>
|
616
619
|
</optional>
|
617
|
-
<
|
618
|
-
<oneOrMore>
|
619
|
-
<ref name="btitle"/>
|
620
|
-
</oneOrMore>
|
620
|
+
<optional>
|
621
621
|
<ref name="formattedref"/>
|
622
|
-
</
|
622
|
+
</optional>
|
623
|
+
<oneOrMore>
|
624
|
+
<ref name="btitle"/>
|
625
|
+
</oneOrMore>
|
626
|
+
<zeroOrMore>
|
627
|
+
<ref name="bsource"/>
|
628
|
+
</zeroOrMore>
|
629
|
+
<oneOrMore>
|
630
|
+
<ref name="docidentifier"/>
|
631
|
+
</oneOrMore>
|
632
|
+
<optional>
|
633
|
+
<ref name="docnumber"/>
|
634
|
+
</optional>
|
635
|
+
<zeroOrMore>
|
636
|
+
<ref name="bdate"/>
|
637
|
+
</zeroOrMore>
|
638
|
+
<zeroOrMore>
|
639
|
+
<ref name="contributor"/>
|
640
|
+
</zeroOrMore>
|
641
|
+
<optional>
|
642
|
+
<ref name="edition"/>
|
643
|
+
</optional>
|
644
|
+
<zeroOrMore>
|
645
|
+
<ref name="version"/>
|
646
|
+
</zeroOrMore>
|
647
|
+
<zeroOrMore>
|
648
|
+
<ref name="biblionote"/>
|
649
|
+
</zeroOrMore>
|
650
|
+
<zeroOrMore>
|
651
|
+
<ref name="language"/>
|
652
|
+
</zeroOrMore>
|
653
|
+
<zeroOrMore>
|
654
|
+
<ref name="script"/>
|
655
|
+
</zeroOrMore>
|
656
|
+
<zeroOrMore>
|
657
|
+
<ref name="bibabstract"/>
|
658
|
+
</zeroOrMore>
|
659
|
+
<optional>
|
660
|
+
<ref name="status"/>
|
661
|
+
</optional>
|
662
|
+
<zeroOrMore>
|
663
|
+
<ref name="copyright"/>
|
664
|
+
</zeroOrMore>
|
665
|
+
<zeroOrMore>
|
666
|
+
<ref name="docrelation"/>
|
667
|
+
</zeroOrMore>
|
668
|
+
<zeroOrMore>
|
669
|
+
<ref name="series"/>
|
670
|
+
</zeroOrMore>
|
671
|
+
<optional>
|
672
|
+
<ref name="medium"/>
|
673
|
+
</optional>
|
674
|
+
<zeroOrMore>
|
675
|
+
<ref name="bplace"/>
|
676
|
+
</zeroOrMore>
|
677
|
+
<zeroOrMore>
|
678
|
+
<ref name="bprice"/>
|
679
|
+
</zeroOrMore>
|
680
|
+
<zeroOrMore>
|
681
|
+
<ref name="extent"/>
|
682
|
+
</zeroOrMore>
|
683
|
+
<optional>
|
684
|
+
<ref name="bibliographic_size"/>
|
685
|
+
</optional>
|
686
|
+
<zeroOrMore>
|
687
|
+
<ref name="accesslocation"/>
|
688
|
+
</zeroOrMore>
|
689
|
+
<zeroOrMore>
|
690
|
+
<ref name="license"/>
|
691
|
+
</zeroOrMore>
|
692
|
+
<zeroOrMore>
|
693
|
+
<ref name="bclassification"/>
|
694
|
+
</zeroOrMore>
|
695
|
+
<zeroOrMore>
|
696
|
+
<ref name="bkeyword"/>
|
697
|
+
</zeroOrMore>
|
698
|
+
<optional>
|
699
|
+
<ref name="validity"/>
|
700
|
+
</optional>
|
701
|
+
</define>
|
702
|
+
<define name="ReducedBibliographicItem">
|
703
|
+
<optional>
|
704
|
+
<attribute name="type">
|
705
|
+
<ref name="BibItemType"/>
|
706
|
+
</attribute>
|
707
|
+
</optional>
|
708
|
+
<optional>
|
709
|
+
<ref name="fetched"/>
|
710
|
+
</optional>
|
711
|
+
<optional>
|
712
|
+
<ref name="formattedref"/>
|
713
|
+
</optional>
|
714
|
+
<zeroOrMore>
|
715
|
+
<ref name="btitle"/>
|
716
|
+
</zeroOrMore>
|
623
717
|
<zeroOrMore>
|
624
718
|
<ref name="bsource"/>
|
625
719
|
</zeroOrMore>
|
@@ -638,9 +732,9 @@
|
|
638
732
|
<optional>
|
639
733
|
<ref name="edition"/>
|
640
734
|
</optional>
|
641
|
-
<
|
735
|
+
<zeroOrMore>
|
642
736
|
<ref name="version"/>
|
643
|
-
</
|
737
|
+
</zeroOrMore>
|
644
738
|
<zeroOrMore>
|
645
739
|
<ref name="biblionote"/>
|
646
740
|
</zeroOrMore>
|
@@ -833,6 +927,12 @@
|
|
833
927
|
<data type="boolean"/>
|
834
928
|
</attribute>
|
835
929
|
</optional>
|
930
|
+
<optional>
|
931
|
+
<attribute name="language"/>
|
932
|
+
</optional>
|
933
|
+
<optional>
|
934
|
+
<attribute name="script"/>
|
935
|
+
</optional>
|
836
936
|
<text/>
|
837
937
|
</element>
|
838
938
|
</define>
|
@@ -851,17 +951,46 @@
|
|
851
951
|
</define>
|
852
952
|
<define name="bplace">
|
853
953
|
<element name="place">
|
854
|
-
<
|
855
|
-
<
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
954
|
+
<choice>
|
955
|
+
<text/>
|
956
|
+
<group>
|
957
|
+
<ref name="bibliocity"/>
|
958
|
+
<zeroOrMore>
|
959
|
+
<ref name="biblioregion"/>
|
960
|
+
</zeroOrMore>
|
961
|
+
<zeroOrMore>
|
962
|
+
<ref name="bibliocountry"/>
|
963
|
+
</zeroOrMore>
|
964
|
+
</group>
|
965
|
+
</choice>
|
966
|
+
</element>
|
967
|
+
</define>
|
968
|
+
<define name="bibliocity">
|
969
|
+
<element name="city">
|
862
970
|
<text/>
|
863
971
|
</element>
|
864
972
|
</define>
|
973
|
+
<define name="biblioregion">
|
974
|
+
<element name="region">
|
975
|
+
<ref name="RegionType"/>
|
976
|
+
</element>
|
977
|
+
</define>
|
978
|
+
<define name="bibliocountry">
|
979
|
+
<element name="country">
|
980
|
+
<ref name="RegionType"/>
|
981
|
+
</element>
|
982
|
+
</define>
|
983
|
+
<define name="RegionType">
|
984
|
+
<optional>
|
985
|
+
<attribute name="iso"/>
|
986
|
+
</optional>
|
987
|
+
<optional>
|
988
|
+
<attribute name="recommended">
|
989
|
+
<data type="boolean"/>
|
990
|
+
</attribute>
|
991
|
+
</optional>
|
992
|
+
<text/>
|
993
|
+
</define>
|
865
994
|
<define name="bprice">
|
866
995
|
<element name="price">
|
867
996
|
<attribute name="currency"/>
|
@@ -957,36 +1086,34 @@
|
|
957
1086
|
<ref name="SeriesType"/>
|
958
1087
|
</attribute>
|
959
1088
|
</optional>
|
960
|
-
<
|
1089
|
+
<optional>
|
961
1090
|
<ref name="formattedref"/>
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
</group>
|
989
|
-
</choice>
|
1091
|
+
</optional>
|
1092
|
+
<ref name="btitle"/>
|
1093
|
+
<optional>
|
1094
|
+
<ref name="bplace"/>
|
1095
|
+
</optional>
|
1096
|
+
<optional>
|
1097
|
+
<ref name="seriesorganization"/>
|
1098
|
+
</optional>
|
1099
|
+
<optional>
|
1100
|
+
<ref name="abbreviation"/>
|
1101
|
+
</optional>
|
1102
|
+
<optional>
|
1103
|
+
<ref name="seriesfrom"/>
|
1104
|
+
</optional>
|
1105
|
+
<optional>
|
1106
|
+
<ref name="seriesto"/>
|
1107
|
+
</optional>
|
1108
|
+
<optional>
|
1109
|
+
<ref name="seriesnumber"/>
|
1110
|
+
</optional>
|
1111
|
+
<optional>
|
1112
|
+
<ref name="seriespartnumber"/>
|
1113
|
+
</optional>
|
1114
|
+
<optional>
|
1115
|
+
<ref name="seriesrun"/>
|
1116
|
+
</optional>
|
990
1117
|
</element>
|
991
1118
|
</define>
|
992
1119
|
<define name="SeriesType">
|
@@ -1145,7 +1272,7 @@
|
|
1145
1272
|
</element>
|
1146
1273
|
</optional>
|
1147
1274
|
<element name="bibitem">
|
1148
|
-
<ref name="
|
1275
|
+
<ref name="ReducedBibliographicItem"/>
|
1149
1276
|
</element>
|
1150
1277
|
<choice>
|
1151
1278
|
<zeroOrMore>
|
@@ -1170,9 +1297,9 @@
|
|
1170
1297
|
<optional>
|
1171
1298
|
<ref name="revision-date"/>
|
1172
1299
|
</optional>
|
1173
|
-
<
|
1300
|
+
<optional>
|
1174
1301
|
<ref name="draft"/>
|
1175
|
-
</
|
1302
|
+
</optional>
|
1176
1303
|
</element>
|
1177
1304
|
</define>
|
1178
1305
|
<define name="vedition">
|
data/grammars/isodoc.rng
CHANGED
@@ -32,6 +32,54 @@
|
|
32
32
|
<ref name="DocumentType"/>
|
33
33
|
</element>
|
34
34
|
</define>
|
35
|
+
<define name="admonition">
|
36
|
+
<element name="admonition">
|
37
|
+
<attribute name="type">
|
38
|
+
<ref name="AdmonitionType"/>
|
39
|
+
</attribute>
|
40
|
+
<optional>
|
41
|
+
<attribute name="class"/>
|
42
|
+
</optional>
|
43
|
+
<attribute name="id">
|
44
|
+
<data type="ID"/>
|
45
|
+
</attribute>
|
46
|
+
<optional>
|
47
|
+
<attribute name="uri">
|
48
|
+
<data type="anyURI"/>
|
49
|
+
</attribute>
|
50
|
+
</optional>
|
51
|
+
<optional>
|
52
|
+
<attribute name="coverpage">
|
53
|
+
<data type="boolean"/>
|
54
|
+
</attribute>
|
55
|
+
</optional>
|
56
|
+
<optional>
|
57
|
+
<attribute name="notag">
|
58
|
+
<data type="boolean"/>
|
59
|
+
</attribute>
|
60
|
+
</optional>
|
61
|
+
<optional>
|
62
|
+
<ref name="tname"/>
|
63
|
+
</optional>
|
64
|
+
<zeroOrMore>
|
65
|
+
<ref name="paragraph-with-footnote"/>
|
66
|
+
</zeroOrMore>
|
67
|
+
<zeroOrMore>
|
68
|
+
<ref name="note"/>
|
69
|
+
</zeroOrMore>
|
70
|
+
</element>
|
71
|
+
</define>
|
72
|
+
<define name="AdmonitionType">
|
73
|
+
<choice>
|
74
|
+
<value>warning</value>
|
75
|
+
<value>note</value>
|
76
|
+
<value>tip</value>
|
77
|
+
<value>important</value>
|
78
|
+
<value>caution</value>
|
79
|
+
<value>statement</value>
|
80
|
+
<value>editorial</value>
|
81
|
+
</choice>
|
82
|
+
</define>
|
35
83
|
<define name="index">
|
36
84
|
<element name="index">
|
37
85
|
<optional>
|
@@ -79,6 +127,11 @@
|
|
79
127
|
<data type="boolean"/>
|
80
128
|
</attribute>
|
81
129
|
</optional>
|
130
|
+
<optional>
|
131
|
+
<attribute name="suppress_identifier">
|
132
|
+
<data type="boolean"/>
|
133
|
+
</attribute>
|
134
|
+
</optional>
|
82
135
|
<ref name="BibliographicItem"/>
|
83
136
|
</element>
|
84
137
|
</define>
|
@@ -245,6 +298,9 @@
|
|
245
298
|
<ref name="MultilingualRenderingType"/>
|
246
299
|
</attribute>
|
247
300
|
</optional>
|
301
|
+
<optional>
|
302
|
+
<ref name="tname"/>
|
303
|
+
</optional>
|
248
304
|
<oneOrMore>
|
249
305
|
<ref name="ul_li"/>
|
250
306
|
</oneOrMore>
|
@@ -287,6 +343,9 @@
|
|
287
343
|
</choice>
|
288
344
|
</attribute>
|
289
345
|
</optional>
|
346
|
+
<optional>
|
347
|
+
<ref name="tname"/>
|
348
|
+
</optional>
|
290
349
|
<oneOrMore>
|
291
350
|
<ref name="li"/>
|
292
351
|
</oneOrMore>
|
@@ -323,6 +382,9 @@
|
|
323
382
|
<ref name="MultilingualRenderingType"/>
|
324
383
|
</attribute>
|
325
384
|
</optional>
|
385
|
+
<optional>
|
386
|
+
<ref name="tname"/>
|
387
|
+
</optional>
|
326
388
|
<oneOrMore>
|
327
389
|
<ref name="dt"/>
|
328
390
|
<ref name="dd"/>
|
@@ -657,6 +719,9 @@
|
|
657
719
|
<optional>
|
658
720
|
<attribute name="tag"/>
|
659
721
|
</optional>
|
722
|
+
<optional>
|
723
|
+
<attribute name="type"/>
|
724
|
+
</optional>
|
660
725
|
<optional>
|
661
726
|
<attribute name="multilingual-rendering">
|
662
727
|
<ref name="MultilingualRenderingType"/>
|
@@ -692,6 +757,9 @@
|
|
692
757
|
<optional>
|
693
758
|
<attribute name="tag"/>
|
694
759
|
</optional>
|
760
|
+
<optional>
|
761
|
+
<attribute name="type"/>
|
762
|
+
</optional>
|
695
763
|
<optional>
|
696
764
|
<attribute name="multilingual-rendering">
|
697
765
|
<ref name="MultilingualRenderingType"/>
|
@@ -851,6 +919,16 @@
|
|
851
919
|
<ref name="MultilingualRenderingType"/>
|
852
920
|
</attribute>
|
853
921
|
</optional>
|
922
|
+
<optional>
|
923
|
+
<attribute name="coverpage">
|
924
|
+
<data type="boolean"/>
|
925
|
+
</attribute>
|
926
|
+
</optional>
|
927
|
+
<optional>
|
928
|
+
<attribute name="notag">
|
929
|
+
<data type="boolean"/>
|
930
|
+
</attribute>
|
931
|
+
</optional>
|
854
932
|
<oneOrMore>
|
855
933
|
<choice>
|
856
934
|
<ref name="paragraph"/>
|
@@ -1178,6 +1256,7 @@
|
|
1178
1256
|
<ref name="concept"/>
|
1179
1257
|
<ref name="add"/>
|
1180
1258
|
<ref name="del"/>
|
1259
|
+
<ref name="span"/>
|
1181
1260
|
</choice>
|
1182
1261
|
</define>
|
1183
1262
|
<define name="add">
|
@@ -1204,6 +1283,19 @@
|
|
1204
1283
|
</choice>
|
1205
1284
|
</element>
|
1206
1285
|
</define>
|
1286
|
+
<define name="span">
|
1287
|
+
<element name="span">
|
1288
|
+
<optional>
|
1289
|
+
<attribute name="class"/>
|
1290
|
+
</optional>
|
1291
|
+
<optional>
|
1292
|
+
<attribute name="style"/>
|
1293
|
+
</optional>
|
1294
|
+
<oneOrMore>
|
1295
|
+
<ref name="TextElement"/>
|
1296
|
+
</oneOrMore>
|
1297
|
+
</element>
|
1298
|
+
</define>
|
1207
1299
|
<define name="concept">
|
1208
1300
|
<element name="concept">
|
1209
1301
|
<optional>
|
@@ -1994,6 +2086,7 @@
|
|
1994
2086
|
<value>compare</value>
|
1995
2087
|
<value>contrast</value>
|
1996
2088
|
<value>see</value>
|
2089
|
+
<value>seealso</value>
|
1997
2090
|
</choice>
|
1998
2091
|
</define>
|
1999
2092
|
<define name="deprecates">
|
@@ -2416,6 +2509,16 @@
|
|
2416
2509
|
<text/>
|
2417
2510
|
</element>
|
2418
2511
|
</optional>
|
2512
|
+
<optional>
|
2513
|
+
<element name="amendment">
|
2514
|
+
<text/>
|
2515
|
+
</element>
|
2516
|
+
</optional>
|
2517
|
+
<optional>
|
2518
|
+
<element name="corrigendum">
|
2519
|
+
<text/>
|
2520
|
+
</element>
|
2521
|
+
</optional>
|
2419
2522
|
<optional>
|
2420
2523
|
<element name="language">
|
2421
2524
|
<text/>
|
data/grammars/isostandard.rng
CHANGED
@@ -45,6 +45,9 @@
|
|
45
45
|
<ref name="horizontal"/>
|
46
46
|
</optional>
|
47
47
|
<ref name="editorialgroup"/>
|
48
|
+
<optional>
|
49
|
+
<ref name="approvalgroup"/>
|
50
|
+
</optional>
|
48
51
|
<zeroOrMore>
|
49
52
|
<ref name="ics"/>
|
50
53
|
</zeroOrMore>
|
@@ -249,6 +252,7 @@
|
|
249
252
|
<value>warning</value>
|
250
253
|
<value>important</value>
|
251
254
|
<value>safety precautions</value>
|
255
|
+
<value>editorial</value>
|
252
256
|
</choice>
|
253
257
|
</define>
|
254
258
|
<define name="preface">
|
@@ -308,18 +312,7 @@
|
|
308
312
|
</define>
|
309
313
|
<define name="editorialgroup">
|
310
314
|
<element name="editorialgroup">
|
311
|
-
<
|
312
|
-
<ref name="technical-committee"/>
|
313
|
-
</oneOrMore>
|
314
|
-
<zeroOrMore>
|
315
|
-
<ref name="subcommittee"/>
|
316
|
-
</zeroOrMore>
|
317
|
-
<zeroOrMore>
|
318
|
-
<ref name="workgroup"/>
|
319
|
-
</zeroOrMore>
|
320
|
-
<optional>
|
321
|
-
<ref name="secretariat"/>
|
322
|
-
</optional>
|
315
|
+
<ref name="ISOProjectGroup"/>
|
323
316
|
</element>
|
324
317
|
</define>
|
325
318
|
<define name="Content-Section">
|
@@ -367,6 +360,33 @@
|
|
367
360
|
</define>
|
368
361
|
</include>
|
369
362
|
<!-- end overrides -->
|
363
|
+
<define name="ISOProjectGroup">
|
364
|
+
<zeroOrMore>
|
365
|
+
<ref name="agency"/>
|
366
|
+
</zeroOrMore>
|
367
|
+
<oneOrMore>
|
368
|
+
<ref name="technical-committee"/>
|
369
|
+
</oneOrMore>
|
370
|
+
<zeroOrMore>
|
371
|
+
<ref name="subcommittee"/>
|
372
|
+
</zeroOrMore>
|
373
|
+
<zeroOrMore>
|
374
|
+
<ref name="workgroup"/>
|
375
|
+
</zeroOrMore>
|
376
|
+
<optional>
|
377
|
+
<ref name="secretariat"/>
|
378
|
+
</optional>
|
379
|
+
</define>
|
380
|
+
<define name="approvalgroup">
|
381
|
+
<element name="approvalgroup">
|
382
|
+
<ref name="ISOProjectGroup"/>
|
383
|
+
</element>
|
384
|
+
</define>
|
385
|
+
<define name="agency">
|
386
|
+
<element name="agency">
|
387
|
+
<text/>
|
388
|
+
</element>
|
389
|
+
</define>
|
370
390
|
<!--
|
371
391
|
We display the Normative References between scope and terms; but to keep the
|
372
392
|
grammar simple, we keep the references together
|
@@ -47,7 +47,7 @@ module RelatonGb
|
|
47
47
|
# * :type [String]
|
48
48
|
# * :name [String]
|
49
49
|
def get_committee(doc, _ref)
|
50
|
-
name = doc.at("//div[contains(
|
50
|
+
name = doc.at("//div[contains(., '归口单位') or contains(., '归口部门')]/following-sibling::div")
|
51
51
|
{ type: "technical", name: name.text.delete("\r\n\t\t") }
|
52
52
|
end
|
53
53
|
end
|
@@ -7,7 +7,7 @@ module RelatonGb
|
|
7
7
|
# @param args [Hash]
|
8
8
|
# @param nested [TrueClass, FalseClass]
|
9
9
|
# @return [Hash]
|
10
|
-
def hash_to_bib(args
|
10
|
+
def hash_to_bib(args)
|
11
11
|
ret = super
|
12
12
|
return if ret.nil?
|
13
13
|
|
@@ -27,8 +27,8 @@ module RelatonGb
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def ccs_hash_to_bib(ret)
|
30
|
-
ret[:ccs] = array(ret[:ccs]).map do |ccs|
|
31
|
-
ccs[:code]
|
30
|
+
ret[:ccs] = RelatonBib.array(ret[:ccs]).map do |ccs|
|
31
|
+
(ccs[:code] && Cnccs.fetch(ccs[:code])) || Cnccs.fetch(ccs)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
data/lib/relaton_gb/hit.rb
CHANGED
@@ -38,9 +38,9 @@ module RelatonGb
|
|
38
38
|
|
39
39
|
# @return [String]
|
40
40
|
def inspect
|
41
|
-
"<#{self.class}:#{format('%<id>#.14x', id: object_id << 1)} "\
|
42
|
-
|
43
|
-
|
41
|
+
"<#{self.class}:#{format('%<id>#.14x', id: object_id << 1)} " \
|
42
|
+
"@fullIdentifier=\"#{@fetch&.shortref}\" " \
|
43
|
+
"@docref=\"#{docref}\">"
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
data/lib/relaton_gb/scrapper.rb
CHANGED
@@ -14,12 +14,11 @@ module RelatonGb
|
|
14
14
|
|
15
15
|
@prefixes = nil
|
16
16
|
|
17
|
-
# rubocop:disable Metrics/MethodLength
|
18
17
|
# @param doc [Nokogiri::HTML::Document]
|
19
18
|
# @param src [String]
|
20
19
|
# @param hit [RelatonGb::Hit]
|
21
20
|
# @return [Hash]
|
22
|
-
def scrapped_data(doc, src, hit)
|
21
|
+
def scrapped_data(doc, src, hit) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
23
22
|
{
|
24
23
|
fetched: Date.today.to_s,
|
25
24
|
committee: get_committee(doc, hit.docref),
|
@@ -38,7 +37,6 @@ module RelatonGb
|
|
38
37
|
structuredidentifier: fetch_structuredidentifier(hit.docref),
|
39
38
|
}
|
40
39
|
end
|
41
|
-
# rubocop:enable Metrics/MethodLength
|
42
40
|
|
43
41
|
# @param docref [String]
|
44
42
|
# @return [Array<RelatonBib::DocumentIdentifier>]
|
@@ -20,8 +20,8 @@ module RelatonGb
|
|
20
20
|
# @return [RelatonGb::HitCollection]
|
21
21
|
def scrape_page(text)
|
22
22
|
search_html = OpenURI.open_uri(
|
23
|
-
"http://www.ttbz.org.cn/Home/Standard?searchType=2&key="
|
24
|
-
CGI.escape(text.tr(
|
23
|
+
"http://www.ttbz.org.cn/Home/Standard?searchType=2&key=" \
|
24
|
+
"#{CGI.escape(text.tr('-', [8212].pack('U')))}",
|
25
25
|
).read
|
26
26
|
header = Nokogiri::HTML search_html
|
27
27
|
xpath = '//table[contains(@class, "standard_list_table")]/tr/td/a'
|
@@ -29,7 +29,7 @@ module RelatonGb
|
|
29
29
|
hits = header.xpath(xpath).map do |h|
|
30
30
|
docref = h.at(t_xpath).text.gsub(/â\u0080\u0094/, "-")
|
31
31
|
status = h.at("../preceding-sibling::td[1]").text.delete "\r\n"
|
32
|
-
pid = h[:href].sub(%r{
|
32
|
+
pid = h[:href].sub(%r{/$}, "")
|
33
33
|
Hit.new pid: pid, docref: docref, status: status, scrapper: self
|
34
34
|
end
|
35
35
|
HitCollection.new hits
|
@@ -43,7 +43,7 @@ module RelatonGb
|
|
43
43
|
def scrape_doc(hit)
|
44
44
|
src = "http://www.ttbz.org.cn#{hit.pid}"
|
45
45
|
doc = Nokogiri::HTML OpenURI.open_uri(src), nil, Encoding::UTF_8.to_s
|
46
|
-
GbBibliographicItem.new
|
46
|
+
GbBibliographicItem.new(**scrapped_data(doc, src, hit))
|
47
47
|
rescue OpenURI::HTTPError, SocketError, OpenSSL::SSL::SSLError, Net::OpenTimeout
|
48
48
|
raise RelatonBib::RequestError, "Cannot access #{src}"
|
49
49
|
end
|
data/lib/relaton_gb/version.rb
CHANGED
data/relaton_gb.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-gb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.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: 2022-
|
11
|
+
date: 2022-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: equivalent-xml
|
@@ -156,14 +156,14 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
159
|
+
version: 1.13.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
166
|
+
version: 1.13.0
|
167
167
|
description: 'RelatonGb: retrieve Chinese GB Standards for bibliographic use using
|
168
168
|
the BibliographicItem model.'
|
169
169
|
email:
|