relaton-ecma 1.13.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/grammars/reqt.rng DELETED
@@ -1,223 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <!--
4
- Presupposes isodoc.rnc, is included in it
5
- include "isodoc.rnc" { }
6
- -->
7
- <define name="requirement">
8
- <element name="requirement">
9
- <ref name="RequirementType"/>
10
- </element>
11
- </define>
12
- <define name="recommendation">
13
- <element name="recommendation">
14
- <ref name="RequirementType"/>
15
- </element>
16
- </define>
17
- <define name="permission">
18
- <element name="permission">
19
- <ref name="RequirementType"/>
20
- </element>
21
- </define>
22
- <define name="RequirementType">
23
- <optional>
24
- <attribute name="obligation">
25
- <ref name="ObligationType"/>
26
- </attribute>
27
- </optional>
28
- <optional>
29
- <attribute name="unnumbered">
30
- <data type="boolean"/>
31
- </attribute>
32
- </optional>
33
- <optional>
34
- <attribute name="number"/>
35
- </optional>
36
- <optional>
37
- <attribute name="subsequence"/>
38
- </optional>
39
- <optional>
40
- <attribute name="keep-with-next">
41
- <data type="boolean"/>
42
- </attribute>
43
- </optional>
44
- <optional>
45
- <attribute name="keep-lines-together">
46
- <data type="boolean"/>
47
- </attribute>
48
- </optional>
49
- <attribute name="id">
50
- <data type="ID"/>
51
- </attribute>
52
- <optional>
53
- <attribute name="filename"/>
54
- </optional>
55
- <optional>
56
- <attribute name="model"/>
57
- </optional>
58
- <optional>
59
- <attribute name="type"/>
60
- </optional>
61
- <optional>
62
- <attribute name="tag"/>
63
- </optional>
64
- <optional>
65
- <attribute name="multilingual-rendering">
66
- <ref name="MultilingualRenderingType"/>
67
- </attribute>
68
- </optional>
69
- <optional>
70
- <ref name="reqtitle"/>
71
- </optional>
72
- <optional>
73
- <ref name="label"/>
74
- </optional>
75
- <zeroOrMore>
76
- <ref name="subject"/>
77
- </zeroOrMore>
78
- <zeroOrMore>
79
- <ref name="reqinherit"/>
80
- </zeroOrMore>
81
- <zeroOrMore>
82
- <ref name="classification"/>
83
- </zeroOrMore>
84
- <zeroOrMore>
85
- <choice>
86
- <ref name="measurementtarget"/>
87
- <ref name="specification"/>
88
- <ref name="verification"/>
89
- <ref name="import"/>
90
- <ref name="description"/>
91
- <ref name="component"/>
92
- </choice>
93
- </zeroOrMore>
94
- <optional>
95
- <ref name="reqt_references"/>
96
- </optional>
97
- <zeroOrMore>
98
- <choice>
99
- <ref name="requirement"/>
100
- <ref name="recommendation"/>
101
- <ref name="permission"/>
102
- </choice>
103
- </zeroOrMore>
104
- </define>
105
- <define name="reqtitle">
106
- <element name="title">
107
- <ref name="FormattedString"/>
108
- </element>
109
- </define>
110
- <define name="label">
111
- <element name="label">
112
- <oneOrMore>
113
- <ref name="TextElement"/>
114
- </oneOrMore>
115
- </element>
116
- </define>
117
- <define name="subject">
118
- <element name="subject">
119
- <oneOrMore>
120
- <ref name="TextElement"/>
121
- </oneOrMore>
122
- </element>
123
- </define>
124
- <define name="reqinherit">
125
- <element name="inherit">
126
- <oneOrMore>
127
- <ref name="TextElement"/>
128
- </oneOrMore>
129
- </element>
130
- </define>
131
- <define name="measurementtarget">
132
- <element name="measurement-target">
133
- <ref name="RequirementSubpart"/>
134
- </element>
135
- </define>
136
- <define name="specification">
137
- <element name="specification">
138
- <ref name="RequirementSubpart"/>
139
- </element>
140
- </define>
141
- <define name="verification">
142
- <element name="verification">
143
- <ref name="RequirementSubpart"/>
144
- </element>
145
- </define>
146
- <define name="import">
147
- <element name="import">
148
- <ref name="RequirementSubpart"/>
149
- </element>
150
- </define>
151
- <define name="description">
152
- <element name="description">
153
- <ref name="RequirementSubpart"/>
154
- </element>
155
- </define>
156
- <define name="component">
157
- <element name="component">
158
- <attribute name="class"/>
159
- <ref name="RequirementSubpart"/>
160
- </element>
161
- </define>
162
- <define name="reqt_references">
163
- <element name="references">
164
- <oneOrMore>
165
- <ref name="bibitem"/>
166
- </oneOrMore>
167
- </element>
168
- </define>
169
- <define name="RequirementSubpart">
170
- <optional>
171
- <attribute name="type"/>
172
- </optional>
173
- <optional>
174
- <attribute name="exclude">
175
- <data type="boolean"/>
176
- </attribute>
177
- </optional>
178
- <optional>
179
- <attribute name="keep-with-next">
180
- <data type="boolean"/>
181
- </attribute>
182
- </optional>
183
- <optional>
184
- <attribute name="keep-lines-together">
185
- <data type="boolean"/>
186
- </attribute>
187
- </optional>
188
- <optional>
189
- <attribute name="tag"/>
190
- </optional>
191
- <optional>
192
- <attribute name="multilingual-rendering">
193
- <ref name="MultilingualRenderingType"/>
194
- </attribute>
195
- </optional>
196
- <oneOrMore>
197
- <ref name="BasicBlock"/>
198
- </oneOrMore>
199
- </define>
200
- <define name="ObligationType">
201
- <choice>
202
- <value>requirement</value>
203
- <value>recommendation</value>
204
- <value>permission</value>
205
- </choice>
206
- </define>
207
- <define name="classification">
208
- <element name="classification">
209
- <ref name="classification_tag"/>
210
- <ref name="classification_value"/>
211
- </element>
212
- </define>
213
- <define name="classification_tag">
214
- <element name="tag">
215
- <text/>
216
- </element>
217
- </define>
218
- <define name="classification_value">
219
- <element name="value">
220
- <text/>
221
- </element>
222
- </define>
223
- </grammar>
@@ -1,27 +0,0 @@
1
- module RelatonEcma
2
- module Scrapper
3
- ENDPOINT = "https://raw.githubusercontent.com/relaton/relaton-data-ecma/master/data/".freeze
4
-
5
- class << self
6
- # @param code [String]
7
- # @return [RelatonBib::BibliographicItem]
8
- def scrape_page(code)
9
- url = "#{ENDPOINT}#{code.gsub(/[\/\s]/, '_').upcase}.yaml"
10
- parse_page url
11
- rescue OpenURI::HTTPError => e
12
- return if e.io.status.first == "404"
13
-
14
- raise RelatonBib::RequestError, "No document found for #{code} reference. #{e.message}"
15
- end
16
-
17
- private
18
-
19
- # @param url [String]
20
- # @retrurn [RelatonBib::BibliographicItem]
21
- def parse_page(url)
22
- doc = OpenURI.open_uri url
23
- RelatonBib::BibliographicItem.from_hash YAML.safe_load(doc)
24
- end
25
- end
26
- end
27
- end