relaton-ieee 1.13.1 → 1.14.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: a9a0e8ff400cc683f530a07804a806c4ea3725c0bef6579eb50ea963b155cdfb
4
- data.tar.gz: afbc443d3afd1671937e145f25b4187f1d3182a95f5f2540ee6739527eb49b76
3
+ metadata.gz: 383e1ae1d3727c63bba4acc5c3cb17a482af4fa1c7131d84f3a9070fadba6386
4
+ data.tar.gz: 54a83e78ac737d7f64b88758feed9c21a45689513d64c5080f70b9be85a5054b
5
5
  SHA512:
6
- metadata.gz: 6511983c722131424a5d3cb9b4b1e5d221febba98b67c373563eecbd19a3cf46de726c6d8560a6d2e99474537e72a9fe12cefca207387da7b5067ddaca90ef80
7
- data.tar.gz: 1111eb6755f4f3ab94132a27b1ce989db6bff40dd0b8d158c94f83d0303fe3175fdedad49784286437105ef8a6c7e2d9126b4969c75c38098eceed2d4960ea9b
6
+ metadata.gz: c4efd69cb2c0203f0684128bc2bcab763d444493cc42414bf39abfa34c1340891456c15dcbf319db76e576a1bdd3b197181107166994b000fcd7f20f580ebd86
7
+ data.tar.gz: 723fac784ac4e943910982e36161e0f3f58f9aa5b8040f2b29758eaa17be227f2c0a452a83c2dd7eaf8ccaa061244d5baf65b910e94c34a34d1efe093b3a5cd3
data/README.adoc CHANGED
@@ -30,12 +30,9 @@ Or install it yourself as:
30
30
  require 'relaton_ieee'
31
31
  => true
32
32
 
33
- hits = RelatonIeee::IeeeBibliography.search("IEEE 528-2019")
34
- => <RelatonIeee::HitCollection:0x007f84c0085308 @ref=IEEE 528-2019 @fetched=false>
35
-
36
- item = hits[0].fetch
37
- => #<RelatonIeee::IeeeBibliographicItem:0x007f84bf839c30
38
- ...
33
+ item = RelatonIeee::IeeeBibliography.search("IEEE 528-2019")
34
+ => #<RelatonIeee::IeeeBibliographicItem:0x00007fe12ebc8cb8
35
+ ...
39
36
  ----
40
37
 
41
38
  === XML serialization
@@ -43,75 +40,31 @@ item = hits[0].fetch
43
40
  [source,ruby]
44
41
  ----
45
42
  item.to_xml
46
- => "<bibitem id="IEEE528-2019">
47
- <fetched>2020-06-01</fetched>
48
- <title type="main" format="text/plain" language="en" script="Latn">IEEE 528-2019 - IEEE Standard for Inertial Sensor Terminology</title>
49
- <uri type="src">https://standards.ieee.org/content/ieee-standards/en/standard/528-2019.html</uri>
50
- <docidentifier type="IEEE">IEEE 528-2019</docidentifier>
51
- <date type="issued">
52
- <on>2019</on>
53
- </date>
54
- <date type="published">
55
- <on>2019</on>
56
- </date>
57
- <contributor>
58
- <role type="author"/>
59
- <person>
60
- <name>
61
- <completename>Ashley Moran</completename>
62
- </name>
63
- </person>
64
- </contributor>
65
- <language>en</language>
66
- <script>Latn</script>
67
- <abstract format="text/plain" language="en" script="Latn">Terms and definitions relating to inertial sensors are presented in this standard. Usage as understood by the inertial sensor community is given preference over general technical usage of the terms herein. The criterion for inclusion of a term and its definition in this standard is usefulness as related to inertial sensor technology.</abstract>
68
- <status>
69
- <stage>Active</stage>
70
- </status>
43
+ => "<bibitem id="IEEE528-2019" type="standard" schema-version="v1.2.1">
44
+ <fetched>2022-12-03</fetched>
45
+ <title type="main" format="text/plain">IEEE Standard for Inertial Sensor Terminology</title>
46
+ <uri type="src">https://ieeexplore.ieee.org/document/8863799</uri>
47
+ <docidentifier type="IEEE" primary="true">IEEE 528-2019</docidentifier>
48
+ ...
71
49
  </bibitem>"
72
50
  ----
73
51
 
74
- With argument `bibdata: true` it ouputs XML wrapped by `bibdata` element and adds flavour `ext` element.
52
+ With argument `bibdata: true` it ouputs XML wrapped by `bibdata` element and adds flavor `ext` element.
75
53
 
76
54
  [source,ruby]
77
55
  ----
78
56
  item.to_xml bibdata: true
79
- => "<bibdata>
80
- <fetched>2020-06-01</fetched>
81
- <title type="main" format="text/plain" language="en" script="Latn">IEEE 528-2019 - IEEE Standard for Inertial Sensor Terminology</title>
82
- <uri type="src">https://standards.ieee.org/content/ieee-standards/en/standard/528-2019.html</uri>
83
- <docidentifier type="IEEE">IEEE 528-2019</docidentifier>
84
- <date type="issued">
85
- <on>2019</on>
86
- </date>
87
- <date type="published">
88
- <on>2019</on>
89
- </date>
90
- <contributor>
91
- <role type="author"/>
92
- <person>
93
- <name>
94
- <completename>Ashley Moran</completename>
95
- </name>
96
- </person>
97
- </contributor>
98
- <language>en</language>
99
- <script>Latn</script>
100
- <abstract format="text/plain" language="en" script="Latn">Terms and definitions relating to inertial sensors are presented in this standard. Usage as understood by the inertial sensor community is given preference over general technical usage of the terms herein. The criterion for inclusion of a term and its definition in this standard is usefulness as related to inertial sensor technology.</abstract>
101
- <status>
102
- <stage>Active</stage>
103
- </status>
104
- <ext>
105
- <committee type="standard">
106
- <name>AES/GA - Gyro Accelerometer Panel</name>
107
- </committee>
108
- <committee type="working">
109
- <name>SENSR_WG - Sensors Working Group</name>
110
- <chair>Harry Davis</chair>
111
- </committee>
112
- <committee type="society">
113
- <name>IEEE Aerospace and Electronic Systems Society</name>
114
- </committee>
57
+ => "<bibdata type="standard" schema-version="v1.2.1">
58
+ <fetched>2022-12-03</fetched>
59
+ <title type="main" format="text/plain">IEEE Standard for Inertial Sensor Terminology</title>
60
+ <uri type="src">https://ieeexplore.ieee.org/document/8863799</uri>
61
+ <docidentifier type="IEEE" primary="true">IEEE 528-2019</docidentifier>
62
+ ...
63
+ <ext schema-version="v1.0.0">
64
+ <editorialgroup>
65
+ <committee>Gyro Accelerometer Panel of the IEEE Aerospace and Electronic Systems Society</committee>
66
+ </editorialgroup>
67
+ ...
115
68
  </ext>
116
69
  </bibdata>"
117
70
  ----
@@ -121,21 +74,9 @@ item.to_xml bibdata: true
121
74
  ----
122
75
  RelatonIeee::IeeeBibliography.get("IEEE 528-2019")
123
76
  [relaton-ieee] ("IEEE 528-2019") fetching...
124
- [relaton-ieee] ("IEEE 528-2019") found 528-2019
77
+ [relaton-ieee] ("IEEE 528-2019") found IEEE 528-2019
125
78
  => #<RelatonIeee::IeeeBibliographicItem:0x007fceb52a6e40
126
79
  ...
127
-
128
- RelatonIeee::IeeeBibliography.get("IEEE 528", "2019")
129
- [relaton-ieee] ("IEEE 528") fetching...
130
- [relaton-ieee] ("IEEE 528") found 528-2019
131
- => #<RelatonIeee::IeeeBibliographicItem:0x007fceb54af7f0
132
- ...
133
-
134
- RelatonIeee::IeeeBibliography.get("IEEE 528")
135
- [relaton-ieee] ("IEEE 528") fetching...
136
- [relaton-ieee] ("IEEE 528") found 528-2019
137
- => #<RelatonIeee::IeeeBibliographicItem:0x007fceb512c510
138
- ...
139
80
  ----
140
81
 
141
82
  === Typed links
@@ -160,7 +101,7 @@ RelatonIeee::XMLParser.from_xml File.read "spec/fixtures/ieee_528_2019.xml"
160
101
  [source,ruby]
161
102
  ----
162
103
  hash = YAML.load_file 'spec/fixtures/ieee_528_2019.yaml'
163
- => {"id"=>"528-2019", "title"=>{
104
+ => {"id"=>"IEEE528-2019",
164
105
  ...
165
106
 
166
107
  RelatonIeee::IeeeBibliographicItem.from_hash hash
@@ -170,13 +111,13 @@ hash = YAML.load_file 'spec/fixtures/ieee_528_2019.yaml'
170
111
 
171
112
  === Fetch data
172
113
 
173
- There is an IEEE dataset https://github.com/relaton/ieee-rawbib which can be converted into BibXML/BibYAML formats. The dataset needs to be placed into local directiory.
114
+ There is an IEEE dataset https://github.com/relaton/ieee-rawbib which can be converted into BibXML/BibYAML formats. The dataset needs to be placed into the local directory.
174
115
 
175
- The method `RelatonIeee::DataFetcher.fetch(output: "data", format: "yaml")` converts all the documents from the local `ieee-rawbib` directory and save them to the `./data` folder in YAML format.
116
+ The method `RelatonIeee::DataFetcher.fetch(output: "data", format: "yaml")` converts all the documents from the local `ieee-rawbib` directory and saves them to the `./data` folder in YAML format.
176
117
  Arguments:
177
118
 
178
119
  - `output` - folder to save documents (default './data').
179
- - `format` - format in which the documents are saved. Possimle formats are: `yaml`, `xml` (default `yaml`).
120
+ - `format` - the format in which the documents are saved. Possible formats are: `yaml`, `xml` (default `yaml`).
180
121
 
181
122
  [source,ruby]
182
123
  ----
@@ -1,10 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <include href="biblio.rng">
4
- <start>
5
- <ref name="document"/>
6
- </start>
7
- </include>
8
3
  <define name="document">
9
4
  <element name="document">
10
5
  <optional>
@@ -688,6 +683,9 @@
688
683
  </define>
689
684
  <define name="underline">
690
685
  <element name="underline">
686
+ <optional>
687
+ <attribute name="style"/>
688
+ </optional>
691
689
  <zeroOrMore>
692
690
  <ref name="PureTextElement"/>
693
691
  </zeroOrMore>
@@ -1125,26 +1123,4 @@
1125
1123
  </zeroOrMore>
1126
1124
  </element>
1127
1125
  </define>
1128
- <define name="ext">
1129
- <element name="ext">
1130
- <ref name="BibDataExtensionType"/>
1131
- </element>
1132
- </define>
1133
- <define name="BibDataExtensionType">
1134
- <ref name="doctype"/>
1135
- </define>
1136
- <define name="doctype">
1137
- <element name="doctype">
1138
- <ref name="DocumentType"/>
1139
- </element>
1140
- </define>
1141
- <define name="DocumentType">
1142
- <value>document</value>
1143
- </define>
1144
- <define name="BibData">
1145
- <ref name="BibliographicItem"/>
1146
- <optional>
1147
- <ref name="ext"/>
1148
- </optional>
1149
- </define>
1150
1126
  </grammar>
@@ -0,0 +1,164 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <!--
4
+ Add-ons to biblio.rnc for standoc model: defines the extension point BibDataExtensionType
5
+ of relaton
6
+
7
+ Specialisations as for biblio.rnc. Extension point can be redefined completely for a flavour of standoc
8
+ (SDO); but other elements in Bibdata can only be extended (more specialised vocabularies for Bibdata)
9
+ -->
10
+ <include href="biblio.rng">
11
+ <define name="BibData">
12
+ <ref name="BibliographicItem"/>
13
+ <optional>
14
+ <ref name="ext"/>
15
+ </optional>
16
+ </define>
17
+ </include>
18
+ <define name="ext">
19
+ <element name="ext">
20
+ <ref name="BibDataExtensionType"/>
21
+ </element>
22
+ </define>
23
+ <define name="BibDataExtensionType">
24
+ <optional>
25
+ <attribute name="schema-version"/>
26
+ </optional>
27
+ <ref name="doctype"/>
28
+ <optional>
29
+ <ref name="docsubtype"/>
30
+ </optional>
31
+ <optional>
32
+ <ref name="editorialgroup"/>
33
+ </optional>
34
+ <zeroOrMore>
35
+ <ref name="ics"/>
36
+ </zeroOrMore>
37
+ <zeroOrMore>
38
+ <ref name="structuredidentifier"/>
39
+ </zeroOrMore>
40
+ </define>
41
+ <define name="doctype">
42
+ <element name="doctype">
43
+ <optional>
44
+ <attribute name="abbreviation"/>
45
+ </optional>
46
+ <ref name="DocumentType"/>
47
+ </element>
48
+ </define>
49
+ <define name="DocumentType">
50
+ <text/>
51
+ </define>
52
+ <define name="docsubtype">
53
+ <element name="subdoctype">
54
+ <ref name="DocumentSubtype"/>
55
+ </element>
56
+ </define>
57
+ <define name="DocumentSubtype">
58
+ <text/>
59
+ </define>
60
+ <define name="editorialgroup">
61
+ <element name="editorialgroup">
62
+ <oneOrMore>
63
+ <ref name="technical-committee"/>
64
+ </oneOrMore>
65
+ </element>
66
+ </define>
67
+ <define name="technical-committee">
68
+ <element name="technical-committee">
69
+ <ref name="IsoWorkgroup"/>
70
+ </element>
71
+ </define>
72
+ <define name="IsoWorkgroup">
73
+ <optional>
74
+ <attribute name="number"/>
75
+ </optional>
76
+ <optional>
77
+ <attribute name="type"/>
78
+ </optional>
79
+ <optional>
80
+ <attribute name="identifier"/>
81
+ </optional>
82
+ <optional>
83
+ <attribute name="prefix"/>
84
+ </optional>
85
+ <text/>
86
+ </define>
87
+ <define name="ics">
88
+ <element name="ics">
89
+ <element name="code">
90
+ <text/>
91
+ </element>
92
+ <optional>
93
+ <element name="text">
94
+ <text/>
95
+ </element>
96
+ </optional>
97
+ </element>
98
+ </define>
99
+ <define name="structuredidentifier">
100
+ <element name="structuredidentifier">
101
+ <optional>
102
+ <attribute name="type"/>
103
+ </optional>
104
+ <oneOrMore>
105
+ <element name="agency">
106
+ <text/>
107
+ </element>
108
+ </oneOrMore>
109
+ <optional>
110
+ <element name="class">
111
+ <text/>
112
+ </element>
113
+ </optional>
114
+ <element name="docnumber">
115
+ <text/>
116
+ </element>
117
+ <optional>
118
+ <element name="partnumber">
119
+ <text/>
120
+ </element>
121
+ </optional>
122
+ <optional>
123
+ <element name="edition">
124
+ <text/>
125
+ </element>
126
+ </optional>
127
+ <optional>
128
+ <element name="version">
129
+ <text/>
130
+ </element>
131
+ </optional>
132
+ <optional>
133
+ <element name="supplementtype">
134
+ <text/>
135
+ </element>
136
+ </optional>
137
+ <optional>
138
+ <element name="supplementnumber">
139
+ <text/>
140
+ </element>
141
+ </optional>
142
+ <optional>
143
+ <element name="amendment">
144
+ <text/>
145
+ </element>
146
+ </optional>
147
+ <optional>
148
+ <element name="corrigendum">
149
+ <text/>
150
+ </element>
151
+ </optional>
152
+ <optional>
153
+ <element name="language">
154
+ <text/>
155
+ </element>
156
+ </optional>
157
+ <optional>
158
+ <element name="year">
159
+ <text/>
160
+ </element>
161
+ </optional>
162
+ </element>
163
+ </define>
164
+ </grammar>
data/grammars/biblio.rng CHANGED
@@ -33,9 +33,10 @@
33
33
  <param name="pattern">([\+\-]?\d{4})((-?)((0[1-9]|1[0-2])((-?)([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6]))))?</param>
34
34
  </data>
35
35
  </define>
36
- <start>
37
- <ref name="bibitem"/>
38
- </start>
36
+ <!-- start = bibitem -->
37
+ <define name="BibData">
38
+ <ref name="BibliographicItem"/>
39
+ </define>
39
40
  <define name="status">
40
41
  <element name="status">
41
42
  <ref name="stage"/>
@@ -73,8 +74,14 @@
73
74
  <text/>
74
75
  </element>
75
76
  </define>
76
- <define name="script">
77
+ <define name="locale">
77
78
  <a:documentation>ISO-639</a:documentation>
79
+ <element name="locale">
80
+ <text/>
81
+ </element>
82
+ </define>
83
+ <define name="script">
84
+ <a:documentation>ISO-3166</a:documentation>
78
85
  <element name="script">
79
86
  <text/>
80
87
  </element>
@@ -93,6 +100,9 @@
93
100
  <!-- multiple languages and scripts possible: comma delimit them if so -->
94
101
  <attribute name="language"/>
95
102
  </optional>
103
+ <optional>
104
+ <attribute name="locale"/>
105
+ </optional>
96
106
  <optional>
97
107
  <attribute name="script"/>
98
108
  </optional>
@@ -136,6 +146,9 @@
136
146
  <!-- multiple languages and scripts possible: comma delimit them if so -->
137
147
  <attribute name="language"/>
138
148
  </optional>
149
+ <optional>
150
+ <attribute name="locale"/>
151
+ </optional>
139
152
  <optional>
140
153
  <attribute name="script"/>
141
154
  </optional>
@@ -158,27 +171,30 @@
158
171
  </define>
159
172
  <define name="contributor">
160
173
  <element name="contributor">
161
- <zeroOrMore>
174
+ <oneOrMore>
162
175
  <ref name="role"/>
163
- </zeroOrMore>
176
+ </oneOrMore>
164
177
  <ref name="ContributorInfo"/>
165
178
  </element>
166
179
  </define>
167
180
  <define name="role">
168
181
  <element name="role">
169
- <optional>
170
- <attribute name="type">
171
- <choice>
172
- <value>author</value>
173
- <value>performer</value>
174
- <value>publisher</value>
175
- <value>editor</value>
176
- <value>adapter</value>
177
- <value>translator</value>
178
- <value>distributor</value>
179
- </choice>
180
- </attribute>
181
- </optional>
182
+ <attribute name="type">
183
+ <choice>
184
+ <value>author</value>
185
+ <value>performer</value>
186
+ <value>publisher</value>
187
+ <value>editor</value>
188
+ <value>adapter</value>
189
+ <value>translator</value>
190
+ <value>distributor</value>
191
+ <value>realizer</value>
192
+ <value>owner</value>
193
+ <value>authorizer</value>
194
+ <value>enabler</value>
195
+ <value>subject</value>
196
+ </choice>
197
+ </attribute>
182
198
  <zeroOrMore>
183
199
  <ref name="roledescription"/>
184
200
  </zeroOrMore>
@@ -500,6 +516,17 @@
500
516
  </define>
501
517
  <define name="localityStack">
502
518
  <element name="localityStack">
519
+ <optional>
520
+ <attribute name="connective">
521
+ <choice>
522
+ <value>and</value>
523
+ <value>or</value>
524
+ <value>from</value>
525
+ <value>to</value>
526
+ <value/>
527
+ </choice>
528
+ </attribute>
529
+ </optional>
503
530
  <zeroOrMore>
504
531
  <ref name="locality"/>
505
532
  </zeroOrMore>
@@ -512,6 +539,17 @@
512
539
  </define>
513
540
  <define name="sourceLocalityStack">
514
541
  <element name="sourceLocalityStack">
542
+ <optional>
543
+ <attribute name="connective">
544
+ <choice>
545
+ <value>and</value>
546
+ <value>or</value>
547
+ <value>from</value>
548
+ <value>to</value>
549
+ <value/>
550
+ </choice>
551
+ </attribute>
552
+ </optional>
515
553
  <zeroOrMore>
516
554
  <ref name="sourceLocality"/>
517
555
  </zeroOrMore>
@@ -614,6 +652,9 @@
614
652
  <ref name="BibItemType"/>
615
653
  </attribute>
616
654
  </optional>
655
+ <optional>
656
+ <attribute name="schema-version"/>
657
+ </optional>
617
658
  <optional>
618
659
  <ref name="fetched"/>
619
660
  </optional>
@@ -650,6 +691,9 @@
650
691
  <zeroOrMore>
651
692
  <ref name="language"/>
652
693
  </zeroOrMore>
694
+ <zeroOrMore>
695
+ <ref name="locale"/>
696
+ </zeroOrMore>
653
697
  <zeroOrMore>
654
698
  <ref name="script"/>
655
699
  </zeroOrMore>
@@ -705,6 +749,9 @@
705
749
  <ref name="BibItemType"/>
706
750
  </attribute>
707
751
  </optional>
752
+ <optional>
753
+ <attribute name="schema-version"/>
754
+ </optional>
708
755
  <optional>
709
756
  <ref name="fetched"/>
710
757
  </optional>
@@ -741,6 +788,9 @@
741
788
  <zeroOrMore>
742
789
  <ref name="language"/>
743
790
  </zeroOrMore>
791
+ <zeroOrMore>
792
+ <ref name="locale"/>
793
+ </zeroOrMore>
744
794
  <zeroOrMore>
745
795
  <ref name="script"/>
746
796
  </zeroOrMore>
@@ -854,6 +904,15 @@
854
904
  <optional>
855
905
  <attribute name="type"/>
856
906
  </optional>
907
+ <optional>
908
+ <attribute name="language"/>
909
+ </optional>
910
+ <optional>
911
+ <attribute name="locale"/>
912
+ </optional>
913
+ <optional>
914
+ <attribute name="script"/>
915
+ </optional>
857
916
  <data type="anyURI"/>
858
917
  </define>
859
918
  <define name="DateType">
@@ -882,6 +941,7 @@
882
941
  <value>vote-started</value>
883
942
  <value>vote-ended</value>
884
943
  <value>announced</value>
944
+ <value>stable-until</value>
885
945
  </choice>
886
946
  </define>
887
947
  <define name="bdate">
@@ -930,6 +990,9 @@
930
990
  <optional>
931
991
  <attribute name="language"/>
932
992
  </optional>
993
+ <optional>
994
+ <attribute name="locale"/>
995
+ </optional>
933
996
  <optional>
934
997
  <attribute name="script"/>
935
998
  </optional>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <include href="basicdoc.rng"/>
4
+ <include href="relaton-ieee.rng"/>
5
+ <start>
6
+ <choice>
7
+ <ref name="bibitem"/>
8
+ <ref name="bibdata"/>
9
+ </choice>
10
+ </start>
11
+ </grammar>