relaton-bipm 1.6.0 → 1.8.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: 19730867433c276b1ca630f6b6b798327d073f4830397b9de5c06c350b49501c
4
- data.tar.gz: 5e9c3031891be7d9b56ea9d7148821842940d275274c80b479170631b1164310
3
+ metadata.gz: 4e9171f0d010265f11f0a93e38f366807b29adb777373e3f54e97cbfe0e6af31
4
+ data.tar.gz: d011a570dc1d2704c2025d3fe8519c9afcf85d9fab6b04a0c0092657e38dd556
5
5
  SHA512:
6
- metadata.gz: e2fa67950078fcc727379d0f94ca84852f797ebcfe73eb27c7359641764002e007547f82c75b2de628a35578af5e097842b2ca1f647ad84ef9a018ec3ebe08fd
7
- data.tar.gz: b1bb4caf427c0501d73d3ece30e606e6f44916cc6cd3f5002f235b276447ca1a1f90906476bdeca49892c25d20c0b6844c95240700f073361ffbbabc64c3e1e0
6
+ metadata.gz: 73bdd4e5894404346621a2179f73f76e6c62f710b171c26c463bf7fb50a5f7a3e7f9c7c91a4d967965269599381707d4d37a2cd69bf45ad0eb36b716ea15eb99
7
+ data.tar.gz: b308d2e5818a9eb08903a55f40c997e1ec7d1224e7949f561a11891c94e73e32689ccefbd71b617a37f9b5f79fb7bf26c68a7b0a5c029f94bcc5b3394cdd0d3d
@@ -0,0 +1,46 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: rake
4
+
5
+ on:
6
+ push:
7
+ branches: [ master, main ]
8
+ tags: [ v* ]
9
+ pull_request:
10
+
11
+ jobs:
12
+ rake:
13
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
14
+ runs-on: ${{ matrix.os }}
15
+ continue-on-error: ${{ matrix.experimental }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: [ '2.7', '2.6', '2.5', '2.4' ]
20
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
21
+ experimental: [ false ]
22
+ include:
23
+ - ruby: '3.0'
24
+ os: 'ubuntu-latest'
25
+ experimental: true
26
+ - ruby: '3.0'
27
+ os: 'windows-latest'
28
+ experimental: true
29
+ - ruby: '3.0'
30
+ os: 'macos-latest'
31
+ experimental: true
32
+ steps:
33
+ - uses: actions/checkout@v2
34
+ with:
35
+ submodules: true
36
+
37
+ # https://github.com/ruby-debug/debase/issues/89#issuecomment-686827382
38
+ - if: matrix.os == 'macos-latest' && matrix.ruby == '2.5'
39
+ run: echo BUNDLE_BUILD__DEBASE="--with-cflags=\"-Wno-error=implicit-function-declaration\"" >> $GITHUB_ENV
40
+
41
+ - uses: ruby/setup-ruby@v1
42
+ with:
43
+ ruby-version: ${{ matrix.ruby }}
44
+ bundler-cache: true
45
+
46
+ - run: bundle exec rake
data/README.adoc ADDED
@@ -0,0 +1,149 @@
1
+ = RelatonBipm: retrieve BIPM Standards for bibliographic use using the BibliographicItem model
2
+
3
+ image:https://img.shields.io/gem/v/relaton-bipm.svg["Gem Version", link="https://rubygems.org/gems/relaton-bipm"]
4
+ image:https://github.com/relaton/relaton-bipm/workflows/macos/badge.svg["Build Status (macOS)", link="https://github.com/relaton/relaton-bipm/actions?workflow=macos"]
5
+ image:https://github.com/relaton/relaton-bipm/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/relaton/relaton-bipm/actions?workflow=windows"]
6
+ image:https://github.com/relaton/relaton-bipm/workflows/ubuntu/badge.svg["Build Status (Ubuntu)", link="https://github.com/relaton/relaton-bipm/actions?workflow=ubuntu"]
7
+ image:https://codeclimate.com/github/relaton/relaton-bipm/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/relaton/relaton-bipm"]
8
+ image:https://img.shields.io/github/issues-pr-raw/relaton/relaton-bipm.svg["Pull Requests", link="https://github.com/relaton/relaton-bipm/pulls"]
9
+ image:https://img.shields.io/github/commits-since/relaton/relaton-bipm/latest.svg["Commits since latest",link="https://github.com/relaton/relaton-bipm/releases"]
10
+
11
+ RelatonIec is a Ruby gem that implements the https://github.com/metanorma/metanorma-model-iso#iso-bibliographic-item[IsoBibliographicItem model].
12
+
13
+ You can use it to retrieve metadata of BIPM Standards from https://www.bipm.org, and access such metadata through the `BipmBibliographicItem` object.
14
+
15
+ == Installation
16
+
17
+ Add this line to your application's Gemfile:
18
+
19
+ [source,ruby]
20
+ ----
21
+ gem 'relaton-bipm'
22
+ ----
23
+
24
+ And then execute:
25
+
26
+ $ bundle install
27
+
28
+ Or install it yourself as:
29
+
30
+ $ gem install relaton-bipm
31
+
32
+ == Usage
33
+
34
+ === Search for a standard using keywords
35
+
36
+ [source,ruby]
37
+ ----
38
+ require 'relaton_bipm'
39
+ => true
40
+
41
+ # get BIPM brochure
42
+ item = RelatonBipm::BipmBibliography.get "BIPM si-brochure"
43
+ [relaton-bipm] ("BIPM si-brochure") fetching...
44
+ [relaton-bipm] ("BIPM si-brochure") found si-brochure
45
+ => #<RelatonBipm::BipmBibliographicItem:0x007ffb83982fe8
46
+ ...
47
+
48
+ # get BIPM Metrologia article
49
+ RelatonBipm::BipmBibliography.get "BIPM Metrologia 29 6 373"
50
+ [relaton-bipm] ("BIPM Metrologia 29 6 373") fetching...
51
+ [relaton-bipm] ("BIPM Metrologia 29 6 373") found Metrologia 29 6 373
52
+ => #<RelatonBipm::BipmBibliographicItem:0x007f8857f94d40
53
+ ...
54
+ ----
55
+
56
+ === XML serialization
57
+
58
+ [source,ruby]
59
+ ----
60
+ item.to_xml
61
+ => "<bibitem id="si-brochure" type="standard">
62
+ <fetched>2021-01-10</fetched>
63
+ <title format="text/plain" language="en" script="Latn">The International System of Units (SI)</title>
64
+ <title format="text/plain" language="fr" script="Latn">Le Système international d’unités (SI)</title>
65
+ <docidentifier type="BIPM">si-brochure</docidentifier>
66
+ <date type="updated">
67
+ <on>2019-05-20</on>
68
+ </date>
69
+ <edition>9</edition>
70
+ <abstract format="text/plain" language="en" script="Latn">The BIPM and the Metre Convention</abstract>
71
+ <abstract format="text/plain" language="fr" script="Latn">Le BIPM et la Convention du Mètre</abstract>
72
+ <copyright>
73
+ <from>2019</from>
74
+ <owner>
75
+ <organization>
76
+ <name>Bureau International des ponds et mesures</name>
77
+ <abbreviation>BIPM</abbreviation>
78
+ </organization>
79
+ </owner>
80
+ </copyright>
81
+ </bibitem>"
82
+ ----
83
+
84
+ With argument `bibdata: true` it ouputs XML wrapped by `bibdata` element and adds flavour `ext` element.
85
+
86
+ [source,ruby]
87
+ ----
88
+ item.to_xml bibdata: true
89
+ => "<bibdata type="standard">
90
+ <fetched>2021-01-10</fetched>
91
+ <title format="text/plain" language="en" script="Latn">The International System of Units (SI)</title>
92
+ <title format="text/plain" language="fr" script="Latn">Le Système international d’unités (SI)</title>
93
+ <docidentifier type="BIPM">si-brochure</docidentifier>
94
+ <date type="updated">
95
+ <on>2019-05-20</on>
96
+ </date>
97
+ <edition>9</edition>
98
+ <abstract format="text/plain" language="en" script="Latn">The BIPM and the Metre Convention</abstract>
99
+ <abstract format="text/plain" language="fr" script="Latn">Le BIPM et la Convention du Mètre</abstract>
100
+ <copyright>
101
+ <from>2019</from>
102
+ <owner>
103
+ <organization>
104
+ <name>Bureau International des ponds et mesures</name>
105
+ <abbreviation>BIPM</abbreviation>
106
+ </organization>
107
+ </owner>
108
+ </copyright>
109
+ <ext>
110
+ <doctype>brochure</doctype>
111
+ </ext>
112
+ </bibdata>"
113
+ ----
114
+
115
+ === Create bibliographic item from XML
116
+
117
+ [source,ruby]
118
+ ----
119
+ RelatonBipm::XMLParser.from_xml File.read('spec/fixtures/bipm_item.xml')
120
+ => #<RelatonBipm::BipmBibliographicItem:0x007ffb83827a90
121
+ ...
122
+ ----
123
+
124
+ === Create bibliographic item from YAML
125
+ [source,ruby]
126
+ ----
127
+ hash = YAML.load_file 'spec/fixtures/bipm_item.yml'
128
+ => {"id"=>"Draft-Agenda-NMI-Dir-Meeting-2017-v10",
129
+ ...
130
+
131
+ RelatonBipm::BipmBibliographicItem.from_hash hash
132
+ => #<RelatonBipm::BipmBibliographicItem:0x007ffb668755a0
133
+ ...
134
+ ----
135
+
136
+ == Development
137
+
138
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
139
+
140
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
141
+
142
+ == Contributing
143
+
144
+ Bug reports and pull requests are welcome on GitHub at https://github.com/relaton/relaton-bipm.
145
+
146
+
147
+ == License
148
+
149
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -1,9 +1,10 @@
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>
3
+ <include href="biblio.rng">
4
+ <start>
5
+ <ref name="document"/>
6
+ </start>
7
+ </include>
7
8
  <define name="document">
8
9
  <element name="document">
9
10
  <optional>
@@ -43,13 +44,16 @@
43
44
  </attribute>
44
45
  </optional>
45
46
  <optional>
46
- <ref name="section-title"/>
47
+ <attribute name="language"/>
47
48
  </optional>
48
49
  <optional>
49
- <ref name="BasicBlock"/>
50
+ <attribute name="script"/>
51
+ </optional>
52
+ <optional>
53
+ <ref name="section-title"/>
50
54
  </optional>
51
55
  <zeroOrMore>
52
- <ref name="note"/>
56
+ <ref name="BasicBlock"/>
53
57
  </zeroOrMore>
54
58
  </define>
55
59
  <define name="references">
@@ -92,6 +96,10 @@
92
96
  <ref name="example"/>
93
97
  <ref name="review"/>
94
98
  <ref name="pre"/>
99
+ <ref name="note"/>
100
+ <ref name="pagebreak"/>
101
+ <ref name="hr"/>
102
+ <ref name="bookmark"/>
95
103
  </choice>
96
104
  </define>
97
105
  <define name="paragraph">
@@ -188,6 +196,14 @@
188
196
  <data type="boolean"/>
189
197
  </attribute>
190
198
  </optional>
199
+ <optional>
200
+ <attribute name="subsequence"/>
201
+ </optional>
202
+ <optional>
203
+ <attribute name="inequality">
204
+ <data type="boolean"/>
205
+ </attribute>
206
+ </optional>
191
207
  <ref name="stem"/>
192
208
  <optional>
193
209
  <ref name="dl"/>
@@ -241,6 +257,9 @@
241
257
  <data type="boolean"/>
242
258
  </attribute>
243
259
  </optional>
260
+ <optional>
261
+ <attribute name="subsequence"/>
262
+ </optional>
244
263
  <optional>
245
264
  <attribute name="lang"/>
246
265
  </optional>
@@ -266,6 +285,9 @@
266
285
  <attribute name="id">
267
286
  <data type="ID"/>
268
287
  </attribute>
288
+ <optional>
289
+ <attribute name="alt"/>
290
+ </optional>
269
291
  <optional>
270
292
  <ref name="tname"/>
271
293
  </optional>
@@ -285,9 +307,15 @@
285
307
  <data type="boolean"/>
286
308
  </attribute>
287
309
  </optional>
310
+ <optional>
311
+ <attribute name="subsequence"/>
312
+ </optional>
288
313
  <optional>
289
314
  <attribute name="alt"/>
290
315
  </optional>
316
+ <optional>
317
+ <attribute name="summary"/>
318
+ </optional>
291
319
  <optional>
292
320
  <attribute name="uri">
293
321
  <data type="anyURI"/>
@@ -313,12 +341,16 @@
313
341
  </define>
314
342
  <define name="tname">
315
343
  <element name="name">
316
- <text/>
317
- </element>
318
- </define>
319
- <define name="tclass">
320
- <element name="name">
321
- <text/>
344
+ <oneOrMore>
345
+ <choice>
346
+ <ref name="PureTextElement"/>
347
+ <ref name="eref"/>
348
+ <ref name="stem"/>
349
+ <ref name="keyword"/>
350
+ <ref name="xref"/>
351
+ <ref name="hyperlink"/>
352
+ </choice>
353
+ </oneOrMore>
322
354
  </element>
323
355
  </define>
324
356
  <define name="thead">
@@ -370,6 +402,16 @@
370
402
  </choice>
371
403
  </attribute>
372
404
  </optional>
405
+ <optional>
406
+ <attribute name="valign">
407
+ <choice>
408
+ <value>top</value>
409
+ <value>middle</value>
410
+ <value>bottom</value>
411
+ <value>baseline</value>
412
+ </choice>
413
+ </attribute>
414
+ </optional>
373
415
  <choice>
374
416
  <zeroOrMore>
375
417
  <ref name="TextElement"/>
@@ -397,6 +439,16 @@
397
439
  </choice>
398
440
  </attribute>
399
441
  </optional>
442
+ <optional>
443
+ <attribute name="valign">
444
+ <choice>
445
+ <value>top</value>
446
+ <value>middle</value>
447
+ <value>bottom</value>
448
+ <value>baseline</value>
449
+ </choice>
450
+ </attribute>
451
+ </optional>
400
452
  <choice>
401
453
  <zeroOrMore>
402
454
  <ref name="TextElement"/>
@@ -417,6 +469,12 @@
417
469
  <data type="boolean"/>
418
470
  </attribute>
419
471
  </optional>
472
+ <optional>
473
+ <attribute name="subsequence"/>
474
+ </optional>
475
+ <optional>
476
+ <ref name="tname"/>
477
+ </optional>
420
478
  <oneOrMore>
421
479
  <choice>
422
480
  <ref name="formula"/>
@@ -481,17 +539,25 @@
481
539
  </attribute>
482
540
  </optional>
483
541
  <optional>
484
- <ref name="source"/>
542
+ <attribute name="subsequence"/>
485
543
  </optional>
486
544
  <optional>
487
- <ref name="tname"/>
545
+ <attribute name="class"/>
488
546
  </optional>
489
547
  <optional>
490
- <ref name="tclass"/>
548
+ <ref name="source"/>
549
+ </optional>
550
+ <optional>
551
+ <ref name="tname"/>
491
552
  </optional>
492
553
  <choice>
493
554
  <ref name="image"/>
555
+ <ref name="video"/>
556
+ <ref name="audio"/>
494
557
  <ref name="pre"/>
558
+ <oneOrMore>
559
+ <ref name="paragraph-with-footnote"/>
560
+ </oneOrMore>
495
561
  <zeroOrMore>
496
562
  <ref name="figure"/>
497
563
  </zeroOrMore>
@@ -529,6 +595,8 @@
529
595
  <ref name="pagebreak"/>
530
596
  <ref name="bookmark"/>
531
597
  <ref name="image"/>
598
+ <ref name="index"/>
599
+ <ref name="index-xref"/>
532
600
  </choice>
533
601
  </define>
534
602
  <define name="PureTextElement">
@@ -553,14 +621,20 @@
553
621
  <define name="em">
554
622
  <element name="em">
555
623
  <zeroOrMore>
556
- <ref name="PureTextElement"/>
624
+ <choice>
625
+ <ref name="PureTextElement"/>
626
+ <ref name="stem"/>
627
+ </choice>
557
628
  </zeroOrMore>
558
629
  </element>
559
630
  </define>
560
631
  <define name="strong">
561
632
  <element name="strong">
562
633
  <zeroOrMore>
563
- <ref name="PureTextElement"/>
634
+ <choice>
635
+ <ref name="PureTextElement"/>
636
+ <ref name="stem"/>
637
+ </choice>
564
638
  </zeroOrMore>
565
639
  </element>
566
640
  </define>
@@ -653,6 +727,65 @@
653
727
  <empty/>
654
728
  </element>
655
729
  </define>
730
+ <define name="index">
731
+ <element name="index">
732
+ <optional>
733
+ <attribute name="to">
734
+ <data type="IDREF"/>
735
+ </attribute>
736
+ </optional>
737
+ <element name="primary">
738
+ <oneOrMore>
739
+ <ref name="PureTextElement"/>
740
+ </oneOrMore>
741
+ </element>
742
+ <optional>
743
+ <element name="secondary">
744
+ <oneOrMore>
745
+ <ref name="PureTextElement"/>
746
+ </oneOrMore>
747
+ </element>
748
+ </optional>
749
+ <optional>
750
+ <element name="tertiary">
751
+ <oneOrMore>
752
+ <ref name="PureTextElement"/>
753
+ </oneOrMore>
754
+ </element>
755
+ </optional>
756
+ </element>
757
+ </define>
758
+ <define name="index-xref">
759
+ <element name="index-xref">
760
+ <attribute name="also">
761
+ <data type="boolean"/>
762
+ </attribute>
763
+ <element name="primary">
764
+ <oneOrMore>
765
+ <ref name="PureTextElement"/>
766
+ </oneOrMore>
767
+ </element>
768
+ <optional>
769
+ <element name="secondary">
770
+ <oneOrMore>
771
+ <ref name="PureTextElement"/>
772
+ </oneOrMore>
773
+ </element>
774
+ </optional>
775
+ <optional>
776
+ <element name="tertiary">
777
+ <oneOrMore>
778
+ <ref name="PureTextElement"/>
779
+ </oneOrMore>
780
+ </element>
781
+ </optional>
782
+ <element name="target">
783
+ <oneOrMore>
784
+ <ref name="PureTextElement"/>
785
+ </oneOrMore>
786
+ </element>
787
+ </element>
788
+ </define>
656
789
  <!-- bare ID element, used for referencing arbitrary spans of text -->
657
790
  <define name="bookmark">
658
791
  <element name="bookmark">
@@ -778,6 +911,9 @@
778
911
  <optional>
779
912
  <attribute name="alt"/>
780
913
  </optional>
914
+ <optional>
915
+ <attribute name="title"/>
916
+ </optional>
781
917
  <optional>
782
918
  <attribute name="longdesc">
783
919
  <data type="anyURI"/>
@@ -786,7 +922,7 @@
786
922
  </element>
787
923
  </define>
788
924
  <define name="video">
789
- <element name="image">
925
+ <element name="video">
790
926
  <attribute name="id">
791
927
  <data type="ID"/>
792
928
  </attribute>
@@ -816,6 +952,9 @@
816
952
  <optional>
817
953
  <attribute name="alt"/>
818
954
  </optional>
955
+ <optional>
956
+ <attribute name="title"/>
957
+ </optional>
819
958
  <optional>
820
959
  <attribute name="longdesc">
821
960
  <data type="anyURI"/>
@@ -827,7 +966,7 @@
827
966
  </element>
828
967
  </define>
829
968
  <define name="audio">
830
- <element name="image">
969
+ <element name="audio">
831
970
  <attribute name="id">
832
971
  <data type="ID"/>
833
972
  </attribute>
@@ -841,6 +980,9 @@
841
980
  <optional>
842
981
  <attribute name="alt"/>
843
982
  </optional>
983
+ <optional>
984
+ <attribute name="title"/>
985
+ </optional>
844
986
  <optional>
845
987
  <attribute name="longdesc">
846
988
  <data type="anyURI"/>
@@ -925,6 +1067,9 @@
925
1067
  <value>alphabet_upper</value>
926
1068
  </choice>
927
1069
  </attribute>
1070
+ <optional>
1071
+ <attribute name="start"/>
1072
+ </optional>
928
1073
  <oneOrMore>
929
1074
  <ref name="li"/>
930
1075
  </oneOrMore>