relaton-cen 1.10.1 → 1.12.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 +196 -49
- data/grammars/isodoc.rng +150 -3
- data/grammars/isostandard.rng +32 -12
- data/lib/relaton_cen/cen_bibliography.rb +30 -13
- data/lib/relaton_cen/hit_collection.rb +16 -2
- data/lib/relaton_cen/version.rb +1 -1
- data/relaton_cen.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: 8bd935ca1c16e6d5833d37fda0c26fc65a8b9b7d2752bc987d115e78809797f0
|
4
|
+
data.tar.gz: 81c0bc69fa1f1469d2c043172b8c7b764bc3d759d609a11591afcdfe785ecbd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8afe159ecfc2ac229f4dea196743889071a1302560f81546a5db4b43a9d2a78706d68ad29de13b9331b26381d0683061d74ddd2db4d70fa29ba32d40edf22a9
|
7
|
+
data.tar.gz: 28484d8a7910f37d6df799615a055cd86e8cb7aa6599bcd7e0d4a08e103c991737a1aea2b0943250cbb1ae06befb1b218e9e35a1068366dd9c22378467484a18
|
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
@@ -527,7 +527,7 @@
|
|
527
527
|
</define>
|
528
528
|
<define name="LocalityType">
|
529
529
|
<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>
|
530
|
+
<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
531
|
</data>
|
532
532
|
</define>
|
533
533
|
<define name="referenceFrom">
|
@@ -614,12 +614,103 @@
|
|
614
614
|
<optional>
|
615
615
|
<ref name="fetched"/>
|
616
616
|
</optional>
|
617
|
-
<
|
618
|
-
<oneOrMore>
|
619
|
-
<ref name="btitle"/>
|
620
|
-
</oneOrMore>
|
617
|
+
<optional>
|
621
618
|
<ref name="formattedref"/>
|
622
|
-
</
|
619
|
+
</optional>
|
620
|
+
<oneOrMore>
|
621
|
+
<ref name="btitle"/>
|
622
|
+
</oneOrMore>
|
623
|
+
<zeroOrMore>
|
624
|
+
<ref name="bsource"/>
|
625
|
+
</zeroOrMore>
|
626
|
+
<oneOrMore>
|
627
|
+
<ref name="docidentifier"/>
|
628
|
+
</oneOrMore>
|
629
|
+
<optional>
|
630
|
+
<ref name="docnumber"/>
|
631
|
+
</optional>
|
632
|
+
<zeroOrMore>
|
633
|
+
<ref name="bdate"/>
|
634
|
+
</zeroOrMore>
|
635
|
+
<zeroOrMore>
|
636
|
+
<ref name="contributor"/>
|
637
|
+
</zeroOrMore>
|
638
|
+
<optional>
|
639
|
+
<ref name="edition"/>
|
640
|
+
</optional>
|
641
|
+
<zeroOrMore>
|
642
|
+
<ref name="version"/>
|
643
|
+
</zeroOrMore>
|
644
|
+
<zeroOrMore>
|
645
|
+
<ref name="biblionote"/>
|
646
|
+
</zeroOrMore>
|
647
|
+
<zeroOrMore>
|
648
|
+
<ref name="language"/>
|
649
|
+
</zeroOrMore>
|
650
|
+
<zeroOrMore>
|
651
|
+
<ref name="script"/>
|
652
|
+
</zeroOrMore>
|
653
|
+
<zeroOrMore>
|
654
|
+
<ref name="bibabstract"/>
|
655
|
+
</zeroOrMore>
|
656
|
+
<optional>
|
657
|
+
<ref name="status"/>
|
658
|
+
</optional>
|
659
|
+
<zeroOrMore>
|
660
|
+
<ref name="copyright"/>
|
661
|
+
</zeroOrMore>
|
662
|
+
<zeroOrMore>
|
663
|
+
<ref name="docrelation"/>
|
664
|
+
</zeroOrMore>
|
665
|
+
<zeroOrMore>
|
666
|
+
<ref name="series"/>
|
667
|
+
</zeroOrMore>
|
668
|
+
<optional>
|
669
|
+
<ref name="medium"/>
|
670
|
+
</optional>
|
671
|
+
<zeroOrMore>
|
672
|
+
<ref name="bplace"/>
|
673
|
+
</zeroOrMore>
|
674
|
+
<zeroOrMore>
|
675
|
+
<ref name="bprice"/>
|
676
|
+
</zeroOrMore>
|
677
|
+
<zeroOrMore>
|
678
|
+
<ref name="extent"/>
|
679
|
+
</zeroOrMore>
|
680
|
+
<optional>
|
681
|
+
<ref name="bibliographic_size"/>
|
682
|
+
</optional>
|
683
|
+
<zeroOrMore>
|
684
|
+
<ref name="accesslocation"/>
|
685
|
+
</zeroOrMore>
|
686
|
+
<zeroOrMore>
|
687
|
+
<ref name="license"/>
|
688
|
+
</zeroOrMore>
|
689
|
+
<zeroOrMore>
|
690
|
+
<ref name="bclassification"/>
|
691
|
+
</zeroOrMore>
|
692
|
+
<zeroOrMore>
|
693
|
+
<ref name="bkeyword"/>
|
694
|
+
</zeroOrMore>
|
695
|
+
<optional>
|
696
|
+
<ref name="validity"/>
|
697
|
+
</optional>
|
698
|
+
</define>
|
699
|
+
<define name="ReducedBibliographicItem">
|
700
|
+
<optional>
|
701
|
+
<attribute name="type">
|
702
|
+
<ref name="BibItemType"/>
|
703
|
+
</attribute>
|
704
|
+
</optional>
|
705
|
+
<optional>
|
706
|
+
<ref name="fetched"/>
|
707
|
+
</optional>
|
708
|
+
<optional>
|
709
|
+
<ref name="formattedref"/>
|
710
|
+
</optional>
|
711
|
+
<zeroOrMore>
|
712
|
+
<ref name="btitle"/>
|
713
|
+
</zeroOrMore>
|
623
714
|
<zeroOrMore>
|
624
715
|
<ref name="bsource"/>
|
625
716
|
</zeroOrMore>
|
@@ -638,9 +729,9 @@
|
|
638
729
|
<optional>
|
639
730
|
<ref name="edition"/>
|
640
731
|
</optional>
|
641
|
-
<
|
732
|
+
<zeroOrMore>
|
642
733
|
<ref name="version"/>
|
643
|
-
</
|
734
|
+
</zeroOrMore>
|
644
735
|
<zeroOrMore>
|
645
736
|
<ref name="biblionote"/>
|
646
737
|
</zeroOrMore>
|
@@ -677,6 +768,9 @@
|
|
677
768
|
<zeroOrMore>
|
678
769
|
<ref name="extent"/>
|
679
770
|
</zeroOrMore>
|
771
|
+
<optional>
|
772
|
+
<ref name="bibliographic_size"/>
|
773
|
+
</optional>
|
680
774
|
<zeroOrMore>
|
681
775
|
<ref name="accesslocation"/>
|
682
776
|
</zeroOrMore>
|
@@ -830,6 +924,12 @@
|
|
830
924
|
<data type="boolean"/>
|
831
925
|
</attribute>
|
832
926
|
</optional>
|
927
|
+
<optional>
|
928
|
+
<attribute name="language"/>
|
929
|
+
</optional>
|
930
|
+
<optional>
|
931
|
+
<attribute name="script"/>
|
932
|
+
</optional>
|
833
933
|
<text/>
|
834
934
|
</element>
|
835
935
|
</define>
|
@@ -848,17 +948,46 @@
|
|
848
948
|
</define>
|
849
949
|
<define name="bplace">
|
850
950
|
<element name="place">
|
851
|
-
<
|
852
|
-
<
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
951
|
+
<choice>
|
952
|
+
<text/>
|
953
|
+
<group>
|
954
|
+
<ref name="bibliocity"/>
|
955
|
+
<zeroOrMore>
|
956
|
+
<ref name="biblioregion"/>
|
957
|
+
</zeroOrMore>
|
958
|
+
<zeroOrMore>
|
959
|
+
<ref name="bibliocountry"/>
|
960
|
+
</zeroOrMore>
|
961
|
+
</group>
|
962
|
+
</choice>
|
963
|
+
</element>
|
964
|
+
</define>
|
965
|
+
<define name="bibliocity">
|
966
|
+
<element name="city">
|
859
967
|
<text/>
|
860
968
|
</element>
|
861
969
|
</define>
|
970
|
+
<define name="biblioregion">
|
971
|
+
<element name="region">
|
972
|
+
<ref name="RegionType"/>
|
973
|
+
</element>
|
974
|
+
</define>
|
975
|
+
<define name="bibliocountry">
|
976
|
+
<element name="country">
|
977
|
+
<ref name="RegionType"/>
|
978
|
+
</element>
|
979
|
+
</define>
|
980
|
+
<define name="RegionType">
|
981
|
+
<optional>
|
982
|
+
<attribute name="iso"/>
|
983
|
+
</optional>
|
984
|
+
<optional>
|
985
|
+
<attribute name="recommended">
|
986
|
+
<data type="boolean"/>
|
987
|
+
</attribute>
|
988
|
+
</optional>
|
989
|
+
<text/>
|
990
|
+
</define>
|
862
991
|
<define name="bprice">
|
863
992
|
<element name="price">
|
864
993
|
<attribute name="currency"/>
|
@@ -922,9 +1051,29 @@
|
|
922
1051
|
<text/>
|
923
1052
|
</element>
|
924
1053
|
</define>
|
1054
|
+
<define name="sizevalue">
|
1055
|
+
<element name="value">
|
1056
|
+
<attribute name="type"/>
|
1057
|
+
<text/>
|
1058
|
+
</element>
|
1059
|
+
</define>
|
1060
|
+
<define name="bibliographic_size">
|
1061
|
+
<element name="size">
|
1062
|
+
<oneOrMore>
|
1063
|
+
<ref name="sizevalue"/>
|
1064
|
+
</oneOrMore>
|
1065
|
+
</element>
|
1066
|
+
</define>
|
925
1067
|
<define name="extent">
|
926
1068
|
<element name="extent">
|
927
|
-
<
|
1069
|
+
<choice>
|
1070
|
+
<zeroOrMore>
|
1071
|
+
<ref name="locality"/>
|
1072
|
+
</zeroOrMore>
|
1073
|
+
<zeroOrMore>
|
1074
|
+
<ref name="localityStack"/>
|
1075
|
+
</zeroOrMore>
|
1076
|
+
</choice>
|
928
1077
|
</element>
|
929
1078
|
</define>
|
930
1079
|
<define name="series">
|
@@ -934,36 +1083,34 @@
|
|
934
1083
|
<ref name="SeriesType"/>
|
935
1084
|
</attribute>
|
936
1085
|
</optional>
|
937
|
-
<
|
1086
|
+
<optional>
|
938
1087
|
<ref name="formattedref"/>
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
</group>
|
966
|
-
</choice>
|
1088
|
+
</optional>
|
1089
|
+
<ref name="btitle"/>
|
1090
|
+
<optional>
|
1091
|
+
<ref name="bplace"/>
|
1092
|
+
</optional>
|
1093
|
+
<optional>
|
1094
|
+
<ref name="seriesorganization"/>
|
1095
|
+
</optional>
|
1096
|
+
<optional>
|
1097
|
+
<ref name="abbreviation"/>
|
1098
|
+
</optional>
|
1099
|
+
<optional>
|
1100
|
+
<ref name="seriesfrom"/>
|
1101
|
+
</optional>
|
1102
|
+
<optional>
|
1103
|
+
<ref name="seriesto"/>
|
1104
|
+
</optional>
|
1105
|
+
<optional>
|
1106
|
+
<ref name="seriesnumber"/>
|
1107
|
+
</optional>
|
1108
|
+
<optional>
|
1109
|
+
<ref name="seriespartnumber"/>
|
1110
|
+
</optional>
|
1111
|
+
<optional>
|
1112
|
+
<ref name="seriesrun"/>
|
1113
|
+
</optional>
|
967
1114
|
</element>
|
968
1115
|
</define>
|
969
1116
|
<define name="SeriesType">
|
@@ -1122,7 +1269,7 @@
|
|
1122
1269
|
</element>
|
1123
1270
|
</optional>
|
1124
1271
|
<element name="bibitem">
|
1125
|
-
<ref name="
|
1272
|
+
<ref name="ReducedBibliographicItem"/>
|
1126
1273
|
</element>
|
1127
1274
|
<choice>
|
1128
1275
|
<zeroOrMore>
|
@@ -1147,9 +1294,9 @@
|
|
1147
1294
|
<optional>
|
1148
1295
|
<ref name="revision-date"/>
|
1149
1296
|
</optional>
|
1150
|
-
<
|
1297
|
+
<optional>
|
1151
1298
|
<ref name="draft"/>
|
1152
|
-
</
|
1299
|
+
</optional>
|
1153
1300
|
</element>
|
1154
1301
|
</define>
|
1155
1302
|
<define name="vedition">
|
data/grammars/isodoc.rng
CHANGED
@@ -32,6 +32,43 @@
|
|
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>
|
35
72
|
<define name="index">
|
36
73
|
<element name="index">
|
37
74
|
<optional>
|
@@ -79,6 +116,11 @@
|
|
79
116
|
<data type="boolean"/>
|
80
117
|
</attribute>
|
81
118
|
</optional>
|
119
|
+
<optional>
|
120
|
+
<attribute name="suppress_identifier">
|
121
|
+
<data type="boolean"/>
|
122
|
+
</attribute>
|
123
|
+
</optional>
|
82
124
|
<ref name="BibliographicItem"/>
|
83
125
|
</element>
|
84
126
|
</define>
|
@@ -152,9 +194,7 @@
|
|
152
194
|
<data type="boolean"/>
|
153
195
|
</attribute>
|
154
196
|
</optional>
|
155
|
-
<
|
156
|
-
<ref name="PureTextElement"/>
|
157
|
-
</oneOrMore>
|
197
|
+
<ref name="XrefBody"/>
|
158
198
|
</element>
|
159
199
|
</define>
|
160
200
|
<define name="erefType">
|
@@ -188,6 +228,42 @@
|
|
188
228
|
<ref name="PureTextElement"/>
|
189
229
|
</oneOrMore>
|
190
230
|
</define>
|
231
|
+
<define name="localityStack">
|
232
|
+
<element name="localityStack">
|
233
|
+
<optional>
|
234
|
+
<attribute name="connective">
|
235
|
+
<choice>
|
236
|
+
<value>and</value>
|
237
|
+
<value>or</value>
|
238
|
+
<value>from</value>
|
239
|
+
<value>to</value>
|
240
|
+
<value/>
|
241
|
+
</choice>
|
242
|
+
</attribute>
|
243
|
+
</optional>
|
244
|
+
<zeroOrMore>
|
245
|
+
<ref name="locality"/>
|
246
|
+
</zeroOrMore>
|
247
|
+
</element>
|
248
|
+
</define>
|
249
|
+
<define name="sourceLocalityStack">
|
250
|
+
<element name="sourceLocalityStack">
|
251
|
+
<optional>
|
252
|
+
<attribute name="connective">
|
253
|
+
<choice>
|
254
|
+
<value>and</value>
|
255
|
+
<value>or</value>
|
256
|
+
<value>from</value>
|
257
|
+
<value>to</value>
|
258
|
+
<value/>
|
259
|
+
</choice>
|
260
|
+
</attribute>
|
261
|
+
</optional>
|
262
|
+
<zeroOrMore>
|
263
|
+
<ref name="sourceLocality"/>
|
264
|
+
</zeroOrMore>
|
265
|
+
</element>
|
266
|
+
</define>
|
191
267
|
<define name="ul">
|
192
268
|
<element name="ul">
|
193
269
|
<attribute name="id">
|
@@ -211,6 +287,9 @@
|
|
211
287
|
<ref name="MultilingualRenderingType"/>
|
212
288
|
</attribute>
|
213
289
|
</optional>
|
290
|
+
<optional>
|
291
|
+
<ref name="tname"/>
|
292
|
+
</optional>
|
214
293
|
<oneOrMore>
|
215
294
|
<ref name="ul_li"/>
|
216
295
|
</oneOrMore>
|
@@ -253,6 +332,9 @@
|
|
253
332
|
</choice>
|
254
333
|
</attribute>
|
255
334
|
</optional>
|
335
|
+
<optional>
|
336
|
+
<ref name="tname"/>
|
337
|
+
</optional>
|
256
338
|
<oneOrMore>
|
257
339
|
<ref name="li"/>
|
258
340
|
</oneOrMore>
|
@@ -289,6 +371,9 @@
|
|
289
371
|
<ref name="MultilingualRenderingType"/>
|
290
372
|
</attribute>
|
291
373
|
</optional>
|
374
|
+
<optional>
|
375
|
+
<ref name="tname"/>
|
376
|
+
</optional>
|
292
377
|
<oneOrMore>
|
293
378
|
<ref name="dt"/>
|
294
379
|
<ref name="dd"/>
|
@@ -623,6 +708,9 @@
|
|
623
708
|
<optional>
|
624
709
|
<attribute name="tag"/>
|
625
710
|
</optional>
|
711
|
+
<optional>
|
712
|
+
<attribute name="type"/>
|
713
|
+
</optional>
|
626
714
|
<optional>
|
627
715
|
<attribute name="multilingual-rendering">
|
628
716
|
<ref name="MultilingualRenderingType"/>
|
@@ -658,6 +746,9 @@
|
|
658
746
|
<optional>
|
659
747
|
<attribute name="tag"/>
|
660
748
|
</optional>
|
749
|
+
<optional>
|
750
|
+
<attribute name="type"/>
|
751
|
+
</optional>
|
661
752
|
<optional>
|
662
753
|
<attribute name="multilingual-rendering">
|
663
754
|
<ref name="MultilingualRenderingType"/>
|
@@ -817,6 +908,16 @@
|
|
817
908
|
<ref name="MultilingualRenderingType"/>
|
818
909
|
</attribute>
|
819
910
|
</optional>
|
911
|
+
<optional>
|
912
|
+
<attribute name="coverpage">
|
913
|
+
<data type="boolean"/>
|
914
|
+
</attribute>
|
915
|
+
</optional>
|
916
|
+
<optional>
|
917
|
+
<attribute name="notag">
|
918
|
+
<data type="boolean"/>
|
919
|
+
</attribute>
|
920
|
+
</optional>
|
820
921
|
<oneOrMore>
|
821
922
|
<choice>
|
822
923
|
<ref name="paragraph"/>
|
@@ -1098,6 +1199,16 @@
|
|
1098
1199
|
</define>
|
1099
1200
|
</include>
|
1100
1201
|
<!-- end overrides -->
|
1202
|
+
<define name="image" combine="choice">
|
1203
|
+
<element name="svg">
|
1204
|
+
<oneOrMore>
|
1205
|
+
<choice>
|
1206
|
+
<text/>
|
1207
|
+
<ref name="AnyElement"/>
|
1208
|
+
</choice>
|
1209
|
+
</oneOrMore>
|
1210
|
+
</element>
|
1211
|
+
</define>
|
1101
1212
|
<define name="MultilingualRenderingType">
|
1102
1213
|
<choice>
|
1103
1214
|
<value>common</value>
|
@@ -1134,6 +1245,7 @@
|
|
1134
1245
|
<ref name="concept"/>
|
1135
1246
|
<ref name="add"/>
|
1136
1247
|
<ref name="del"/>
|
1248
|
+
<ref name="span"/>
|
1137
1249
|
</choice>
|
1138
1250
|
</define>
|
1139
1251
|
<define name="add">
|
@@ -1160,6 +1272,14 @@
|
|
1160
1272
|
</choice>
|
1161
1273
|
</element>
|
1162
1274
|
</define>
|
1275
|
+
<define name="span">
|
1276
|
+
<element name="span">
|
1277
|
+
<attribute name="class"/>
|
1278
|
+
<oneOrMore>
|
1279
|
+
<ref name="TextElement"/>
|
1280
|
+
</oneOrMore>
|
1281
|
+
</element>
|
1282
|
+
</define>
|
1163
1283
|
<define name="concept">
|
1164
1284
|
<element name="concept">
|
1165
1285
|
<optional>
|
@@ -1950,6 +2070,7 @@
|
|
1950
2070
|
<value>compare</value>
|
1951
2071
|
<value>contrast</value>
|
1952
2072
|
<value>see</value>
|
2073
|
+
<value>seealso</value>
|
1953
2074
|
</choice>
|
1954
2075
|
</define>
|
1955
2076
|
<define name="deprecates">
|
@@ -2631,4 +2752,30 @@
|
|
2631
2752
|
</zeroOrMore>
|
2632
2753
|
</element>
|
2633
2754
|
</define>
|
2755
|
+
<define name="XrefBody">
|
2756
|
+
<zeroOrMore>
|
2757
|
+
<ref name="XrefTarget"/>
|
2758
|
+
</zeroOrMore>
|
2759
|
+
<oneOrMore>
|
2760
|
+
<ref name="PureTextElement"/>
|
2761
|
+
</oneOrMore>
|
2762
|
+
</define>
|
2763
|
+
<define name="XrefTarget">
|
2764
|
+
<element name="location">
|
2765
|
+
<attribute name="target">
|
2766
|
+
<data type="string">
|
2767
|
+
<param name="pattern">\i\c*|\c+#\c+</param>
|
2768
|
+
</data>
|
2769
|
+
</attribute>
|
2770
|
+
<attribute name="connective">
|
2771
|
+
<choice>
|
2772
|
+
<value>and</value>
|
2773
|
+
<value>or</value>
|
2774
|
+
<value>from</value>
|
2775
|
+
<value>to</value>
|
2776
|
+
<value/>
|
2777
|
+
</choice>
|
2778
|
+
</attribute>
|
2779
|
+
</element>
|
2780
|
+
</define>
|
2634
2781
|
</grammar>
|
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
|
@@ -14,8 +14,8 @@ module RelatonCen
|
|
14
14
|
# @param text [String]
|
15
15
|
# @return [RelatonCen::HitCollection]
|
16
16
|
def search(text, year = nil)
|
17
|
-
/^C?EN\s(?<code>.+)/ =~ text
|
18
|
-
HitCollection.new
|
17
|
+
# /^C?EN\s(?<code>.+)/ =~ text
|
18
|
+
HitCollection.new text, year
|
19
19
|
rescue Mechanize::ResponseCodeError => e
|
20
20
|
raise RelatonBib::RequestError, e.message
|
21
21
|
end
|
@@ -25,12 +25,26 @@ module RelatonCen
|
|
25
25
|
# @param opts [Hash] options; restricted to :all_parts if all-parts
|
26
26
|
# reference is required
|
27
27
|
# @return [RelatonBib::BibliographicItem, nil]
|
28
|
-
def get(code, year = nil, opts = {})
|
29
|
-
|
30
|
-
|
31
|
-
year ||= year1
|
28
|
+
def get(code, year = nil, opts = {})
|
29
|
+
code_parts = code_to_parts code
|
30
|
+
year ||= code_parts[:year] if code_parts
|
32
31
|
|
33
|
-
|
32
|
+
bib_get(code, year, opts)
|
33
|
+
end
|
34
|
+
|
35
|
+
#
|
36
|
+
# Decopmposes a CEN standard code into its parts.
|
37
|
+
#
|
38
|
+
# @param [String] code the CEN standard code to decompose
|
39
|
+
#
|
40
|
+
# @return [MatchData] the decomposition of the code
|
41
|
+
#
|
42
|
+
def code_to_parts(code)
|
43
|
+
%r{^
|
44
|
+
(?<code>[^:-]+)(?:-(?<part>\d+))?
|
45
|
+
(?::(?<year>\d{4}))?
|
46
|
+
(?:\+(?<amd>[A-Z]\d+)(?:(?<amy>\d{4}))?)?
|
47
|
+
}x.match code
|
34
48
|
end
|
35
49
|
|
36
50
|
private
|
@@ -38,10 +52,10 @@ module RelatonCen
|
|
38
52
|
def fetch_ref_err(code, year, missed_years) # rubocop:disable Metrics/MethodLength
|
39
53
|
id = year ? "#{code}:#{year}" : code
|
40
54
|
warn "[relaton-cen] WARNING: no match found online for #{id}. "\
|
41
|
-
|
55
|
+
"The code must be exactly like it is on the standards website."
|
42
56
|
unless missed_years.empty?
|
43
57
|
warn "[relaton-cen] (There was no match for #{year}, though there "\
|
44
|
-
|
58
|
+
"were matches found for #{missed_years.join(', ')}.)"
|
45
59
|
end
|
46
60
|
# if /\d-\d/.match? code
|
47
61
|
# warn "[relaton-cen] The provided document part may not exist, or "\
|
@@ -58,12 +72,15 @@ module RelatonCen
|
|
58
72
|
# @param code [String]
|
59
73
|
# @return [RelatonCen::HitCollection]
|
60
74
|
def search_filter(code) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
|
61
|
-
|
75
|
+
parts = code_to_parts code
|
62
76
|
warn "[relaton-cen] (\"#{code}\") fetching..."
|
63
77
|
result = search(code)
|
64
78
|
result.select do |i|
|
65
|
-
|
66
|
-
|
79
|
+
pts = code_to_parts i.hit[:code]
|
80
|
+
parts[:code] == pts[:code] &&
|
81
|
+
(!parts[:part] || parts[:part] == pts[:part]) &&
|
82
|
+
(!parts[:year] || parts[:year] == pts[:year]) &&
|
83
|
+
parts[:amd] == pts[:amd] && (!parts[:amy] || parts[:amy] == pts[:amy])
|
67
84
|
end
|
68
85
|
end
|
69
86
|
|
@@ -87,7 +104,7 @@ module RelatonCen
|
|
87
104
|
{ years: missed_years }
|
88
105
|
end
|
89
106
|
|
90
|
-
def
|
107
|
+
def bib_get(code, year, _opts)
|
91
108
|
result = search_filter(code) || return
|
92
109
|
ret = isobib_results_filter(result, year)
|
93
110
|
if ret[:ret]
|
@@ -29,10 +29,10 @@ module RelatonCen
|
|
29
29
|
|
30
30
|
val = case f[:value]
|
31
31
|
when "LANGUAGE_LIST" then 0
|
32
|
-
when "STAND_REF" then ref
|
32
|
+
when "STAND_REF" then CGI.escape(ref)
|
33
33
|
else
|
34
34
|
case f[:name]
|
35
|
-
when "p_request" then "S1-S2-S3-S4-S5-S6-CEN-CLC-"
|
35
|
+
when "p_request" then "S1-S2-S3-S4-S5-S6-S7-CEN-CLC-"
|
36
36
|
when "f10" then ""
|
37
37
|
else f[:value]
|
38
38
|
end
|
@@ -44,10 +44,24 @@ module RelatonCen
|
|
44
44
|
end.compact.join("&")
|
45
45
|
resp = agent.post form[:action], req_body
|
46
46
|
@array = hits resp
|
47
|
+
sort
|
47
48
|
end
|
48
49
|
|
49
50
|
private
|
50
51
|
|
52
|
+
def sort
|
53
|
+
@array.sort! do |a, b|
|
54
|
+
ap = CenBibliography.code_to_parts a.hit[:code]
|
55
|
+
bp = CenBibliography.code_to_parts b.hit[:code]
|
56
|
+
s = ap[:code] <=> bp[:code]
|
57
|
+
s = ap[:part].to_s <=> bp[:part].to_s if s.zero?
|
58
|
+
s = bp[:year].to_s <=> ap[:year].to_s if s.zero?
|
59
|
+
s = ap[:amd].to_s <=> bp[:amd].to_s if s.zero?
|
60
|
+
s = ap[:amy].to_s <=> bp[:amy].to_s if s.zero?
|
61
|
+
s
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
51
65
|
# @param resp [Mechanize::Page]
|
52
66
|
# @return [Array<RelatonCen::Hit>]
|
53
67
|
def hits(resp)
|
data/lib/relaton_cen/version.rb
CHANGED
data/relaton_cen.gemspec
CHANGED
@@ -42,7 +42,7 @@ Gem::Specification.new do |spec|
|
|
42
42
|
spec.add_development_dependency "webmock"
|
43
43
|
|
44
44
|
spec.add_dependency "mechanize"
|
45
|
-
spec.add_dependency "relaton-iso-bib", "~> 1.
|
45
|
+
spec.add_dependency "relaton-iso-bib", "~> 1.12.0"
|
46
46
|
|
47
47
|
# For more information and examples about making a new gem, checkout our
|
48
48
|
# guide at: https://bundler.io/guides/creating_gem.html
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-cen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.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-06-25 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.12.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.12.0
|
167
167
|
description: 'RelatonCen: retrieve Cenelec Standards for bibliographic use using the
|
168
168
|
IsoBibliographicItem model'
|
169
169
|
email:
|