relaton-ogc 0.7.2 → 1.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bd13cc6c208a1cfa5cef0c34536b744046ce13cba6e8d460d9dbd1e4821bb29
4
- data.tar.gz: 295fc39aa2d090bd95d4f2158a6e2269c5be71de6acb071e977e996997b3bf7f
3
+ metadata.gz: 87083ec001e4455f32f366ae2abae1d363fa04a5ebd2e934d0972170cb30e8a1
4
+ data.tar.gz: 3e2cdc145e63b059b60ff7e4d6f3826646dae21b2bf833f4786e050bd810b35f
5
5
  SHA512:
6
- metadata.gz: 8a57516d421c810c881958c5d411c66cf48e78fc113a4350b1c786be50c7b23e14b13d2aa021a6462e22e79898fa7b2a15d455f44b98ccd3f9398e024d1c9bfb
7
- data.tar.gz: 5226393c8c7612e76b689849e4b6453f944d407ce20f0ee6bbee0314927db4c4c7a96dff29bb7d2fdd381c04627fb986ca7a05d1cbc9ed2744ef9c575d1e6f95
6
+ metadata.gz: 9f3b7f2759e1759915979279b9490dc6039950abacb5c1e0862dd8c0dd81d1a45e4e4373ba6c1819658cf326ae8b574501ae037866bf5921cb1144a9802d1cf0
7
+ data.tar.gz: be6f7d638a6421e6c287496828723c13996c494938b2bb8050c5799b615fe290bd851e1c1f82046112df54544ec19839e03b1b74d463729540fbc934d6be7224
@@ -1,9 +1,9 @@
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"/>
3
4
  <start>
4
5
  <ref name="document"/>
5
6
  </start>
6
- <include href="biblio.rng" />
7
7
  <define name="document">
8
8
  <element name="document">
9
9
  <optional>
@@ -42,12 +42,6 @@
42
42
  <data type="ID"/>
43
43
  </attribute>
44
44
  </optional>
45
- <optional>
46
- <attribute name="language"/>
47
- </optional>
48
- <optional>
49
- <attribute name="script"/>
50
- </optional>
51
45
  <optional>
52
46
  <ref name="section-title"/>
53
47
  </optional>
@@ -194,14 +188,6 @@
194
188
  <data type="boolean"/>
195
189
  </attribute>
196
190
  </optional>
197
- <optional>
198
- <attribute name="subsequence"/>
199
- </optional>
200
- <optional>
201
- <attribute name="inequality">
202
- <data type="boolean"/>
203
- </attribute>
204
- </optional>
205
191
  <ref name="stem"/>
206
192
  <optional>
207
193
  <ref name="dl"/>
@@ -255,9 +241,6 @@
255
241
  <data type="boolean"/>
256
242
  </attribute>
257
243
  </optional>
258
- <optional>
259
- <attribute name="subsequence"/>
260
- </optional>
261
244
  <optional>
262
245
  <attribute name="lang"/>
263
246
  </optional>
@@ -302,15 +285,9 @@
302
285
  <data type="boolean"/>
303
286
  </attribute>
304
287
  </optional>
305
- <optional>
306
- <attribute name="subsequence"/>
307
- </optional>
308
288
  <optional>
309
289
  <attribute name="alt"/>
310
290
  </optional>
311
- <optional>
312
- <attribute name="summary"/>
313
- </optional>
314
291
  <optional>
315
292
  <attribute name="uri">
316
293
  <data type="anyURI"/>
@@ -336,9 +313,12 @@
336
313
  </define>
337
314
  <define name="tname">
338
315
  <element name="name">
339
- <oneOrMore>
340
- <ref name="PureTextElement"/>
341
- </oneOrMore>
316
+ <text/>
317
+ </element>
318
+ </define>
319
+ <define name="tclass">
320
+ <element name="name">
321
+ <text/>
342
322
  </element>
343
323
  </define>
344
324
  <define name="thead">
@@ -437,12 +417,6 @@
437
417
  <data type="boolean"/>
438
418
  </attribute>
439
419
  </optional>
440
- <optional>
441
- <attribute name="subsequence"/>
442
- </optional>
443
- <optional>
444
- <ref name="tname"/>
445
- </optional>
446
420
  <oneOrMore>
447
421
  <choice>
448
422
  <ref name="formula"/>
@@ -506,26 +480,18 @@
506
480
  <data type="boolean"/>
507
481
  </attribute>
508
482
  </optional>
509
- <optional>
510
- <attribute name="subsequence"/>
511
- </optional>
512
- <optional>
513
- <attribute name="class"/>
514
- </optional>
515
483
  <optional>
516
484
  <ref name="source"/>
517
485
  </optional>
518
486
  <optional>
519
487
  <ref name="tname"/>
520
488
  </optional>
489
+ <optional>
490
+ <ref name="tclass"/>
491
+ </optional>
521
492
  <choice>
522
493
  <ref name="image"/>
523
- <ref name="video"/>
524
- <ref name="audio"/>
525
494
  <ref name="pre"/>
526
- <oneOrMore>
527
- <ref name="paragraph-with-footnote"/>
528
- </oneOrMore>
529
495
  <zeroOrMore>
530
496
  <ref name="figure"/>
531
497
  </zeroOrMore>
@@ -812,9 +778,6 @@
812
778
  <optional>
813
779
  <attribute name="alt"/>
814
780
  </optional>
815
- <optional>
816
- <attribute name="title"/>
817
- </optional>
818
781
  <optional>
819
782
  <attribute name="longdesc">
820
783
  <data type="anyURI"/>
@@ -823,7 +786,7 @@
823
786
  </element>
824
787
  </define>
825
788
  <define name="video">
826
- <element name="video">
789
+ <element name="image">
827
790
  <attribute name="id">
828
791
  <data type="ID"/>
829
792
  </attribute>
@@ -853,9 +816,6 @@
853
816
  <optional>
854
817
  <attribute name="alt"/>
855
818
  </optional>
856
- <optional>
857
- <attribute name="title"/>
858
- </optional>
859
819
  <optional>
860
820
  <attribute name="longdesc">
861
821
  <data type="anyURI"/>
@@ -867,7 +827,7 @@
867
827
  </element>
868
828
  </define>
869
829
  <define name="audio">
870
- <element name="audio">
830
+ <element name="image">
871
831
  <attribute name="id">
872
832
  <data type="ID"/>
873
833
  </attribute>
@@ -881,9 +841,6 @@
881
841
  <optional>
882
842
  <attribute name="alt"/>
883
843
  </optional>
884
- <optional>
885
- <attribute name="title"/>
886
- </optional>
887
844
  <optional>
888
845
  <attribute name="longdesc">
889
846
  <data type="anyURI"/>
@@ -49,11 +49,17 @@
49
49
  </define>
50
50
  <define name="stage">
51
51
  <element name="stage">
52
+ <optional>
53
+ <attribute name="abbreviation"/>
54
+ </optional>
52
55
  <text/>
53
56
  </element>
54
57
  </define>
55
58
  <define name="substage">
56
59
  <element name="substage">
60
+ <optional>
61
+ <attribute name="abbreviation"/>
62
+ </optional>
57
63
  <text/>
58
64
  </element>
59
65
  </define>
@@ -82,7 +88,7 @@
82
88
  <text/>
83
89
  </element>
84
90
  </define>
85
- <define name="LocalizedString">
91
+ <define name="LocalizedString1">
86
92
  <optional>
87
93
  <!-- multiple languages and scripts possible: comma delimit them if so -->
88
94
  <attribute name="language"/>
@@ -92,6 +98,16 @@
92
98
  </optional>
93
99
  <text/>
94
100
  </define>
101
+ <define name="LocalizedString">
102
+ <choice>
103
+ <ref name="LocalizedString1"/>
104
+ <oneOrMore>
105
+ <element name="variant">
106
+ <ref name="LocalizedString1"/>
107
+ </element>
108
+ </oneOrMore>
109
+ </choice>
110
+ </define>
95
111
  <!--
96
112
  Unlike UML, change type to format: type is overloaded
97
113
  Would be need if plain were default value and could omit the attribute
@@ -115,7 +131,7 @@
115
131
  </optional>
116
132
  <ref name="LocalizedStringOrXsAny"/>
117
133
  </define>
118
- <define name="LocalizedStringOrXsAny">
134
+ <define name="LocalizedStringOrXsAny1">
119
135
  <optional>
120
136
  <!-- multiple languages and scripts possible: comma delimit them if so -->
121
137
  <attribute name="language"/>
@@ -130,6 +146,16 @@
130
146
  </choice>
131
147
  </oneOrMore>
132
148
  </define>
149
+ <define name="LocalizedStringOrXsAny">
150
+ <choice>
151
+ <ref name="LocalizedStringOrXsAny1"/>
152
+ <oneOrMore>
153
+ <element name="variant">
154
+ <ref name="LocalizedStringOrXsAny1"/>
155
+ </element>
156
+ </oneOrMore>
157
+ </choice>
158
+ </define>
133
159
  <define name="contributor">
134
160
  <element name="contributor">
135
161
  <zeroOrMore>
@@ -452,9 +478,14 @@
452
478
  <attribute name="bibitemid">
453
479
  <data type="IDREF"/>
454
480
  </attribute>
455
- <zeroOrMore>
456
- <ref name="locality"/>
457
- </zeroOrMore>
481
+ <choice>
482
+ <zeroOrMore>
483
+ <ref name="locality"/>
484
+ </zeroOrMore>
485
+ <zeroOrMore>
486
+ <ref name="localityStack"/>
487
+ </zeroOrMore>
488
+ </choice>
458
489
  <optional>
459
490
  <ref name="date"/>
460
491
  </optional>
@@ -469,6 +500,25 @@
469
500
  <ref name="BibItemLocality"/>
470
501
  </element>
471
502
  </define>
503
+ <define name="localityStack">
504
+ <element name="localityStack">
505
+ <zeroOrMore>
506
+ <ref name="locality"/>
507
+ </zeroOrMore>
508
+ </element>
509
+ </define>
510
+ <define name="sourceLocality">
511
+ <element name="sourceLocality">
512
+ <ref name="BibItemLocality"/>
513
+ </element>
514
+ </define>
515
+ <define name="sourceLocalityStack">
516
+ <element name="sourceLocalityStack">
517
+ <zeroOrMore>
518
+ <ref name="sourceLocality"/>
519
+ </zeroOrMore>
520
+ </element>
521
+ </define>
472
522
  <define name="BibItemLocality">
473
523
  <attribute name="type">
474
524
  <ref name="LocalityType"/>
@@ -482,7 +532,7 @@
482
532
  </define>
483
533
  <define name="LocalityType">
484
534
  <data type="string">
485
- <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|locality:[a-zA-Z0-9_]+</param>
535
+ <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>
486
536
  </data>
487
537
  </define>
488
538
  <define name="referenceFrom">
@@ -611,9 +661,9 @@
611
661
  <optional>
612
662
  <ref name="status"/>
613
663
  </optional>
614
- <optional>
664
+ <zeroOrMore>
615
665
  <ref name="copyright"/>
616
- </optional>
666
+ </zeroOrMore>
617
667
  <zeroOrMore>
618
668
  <ref name="docrelation"/>
619
669
  </zeroOrMore>
@@ -737,6 +787,8 @@
737
787
  <value>unchanged</value>
738
788
  <value>circulated</value>
739
789
  <value>adapted</value>
790
+ <value>vote-started</value>
791
+ <value>vote-ended</value>
740
792
  </choice>
741
793
  </define>
742
794
  <define name="bdate">
@@ -969,7 +1021,17 @@
969
1021
  <optional>
970
1022
  <ref name="to"/>
971
1023
  </optional>
972
- <ref name="owner"/>
1024
+ <oneOrMore>
1025
+ <ref name="owner"/>
1026
+ </oneOrMore>
1027
+ <optional>
1028
+ <ref name="copyright_scope"/>
1029
+ </optional>
1030
+ </element>
1031
+ </define>
1032
+ <define name="copyright_scope">
1033
+ <element name="scope">
1034
+ <text/>
973
1035
  </element>
974
1036
  </define>
975
1037
  <define name="from">
@@ -989,38 +1051,63 @@
989
1051
  </define>
990
1052
  <define name="DocRelationType">
991
1053
  <choice>
992
- <value>obsoletes</value>
993
- <value>obsoletedBy</value>
994
- <value>supersedes</value>
995
- <value>supersededBy</value>
996
- <value>updates</value>
997
- <value>updatedBy</value>
998
- <value>complements</value>
999
- <value>derivedFrom</value>
1000
- <value>translatedFrom</value>
1001
- <value>hasTranslation</value>
1002
- <value>adoptedFrom</value>
1003
- <value>equivalent</value>
1004
- <value>identical</value>
1005
- <value>nonequivalent</value>
1006
- <value>includedIn</value>
1007
1054
  <value>includes</value>
1008
- <value>instance</value>
1009
- <value>instanceOf</value>
1010
- <value>partOf</value>
1055
+ <value>includedIn</value>
1011
1056
  <value>hasPart</value>
1012
- <value>hasDraft</value>
1013
- <value>draftOf</value>
1057
+ <value>partOf</value>
1014
1058
  <value>merges</value>
1059
+ <value>mergedInto</value>
1015
1060
  <value>splits</value>
1016
- <value>amends</value>
1017
- <value>amendedBy</value>
1018
- <value>corrects</value>
1019
- <value>correctedBy</value>
1020
- <value>revises</value>
1021
- <value>revisedBy</value>
1061
+ <value>splitInto</value>
1062
+ <value>instance</value>
1063
+ <value>hasInstance</value>
1064
+ <value>exemplarOf</value>
1065
+ <value>hasExemplar</value>
1066
+ <value>manifestationOf</value>
1067
+ <value>hasManifestation</value>
1068
+ <value>reproductionOf</value>
1069
+ <value>hasReproduction</value>
1070
+ <value>reprintOf</value>
1071
+ <value>hasReprint</value>
1072
+ <value>expressionOf</value>
1073
+ <value>hasExpression</value>
1074
+ <value>translatedFrom</value>
1075
+ <value>hasTranslation</value>
1076
+ <value>arrangementOf</value>
1077
+ <value>hasArrangement</value>
1078
+ <value>abridgementOf</value>
1079
+ <value>hasAbridgement</value>
1080
+ <value>annotationOf</value>
1081
+ <value>hasAnnotation</value>
1082
+ <value>draftOf</value>
1083
+ <value>hasDraft</value>
1084
+ <value>editionOf</value>
1085
+ <value>hasEdition</value>
1086
+ <value>updates</value>
1087
+ <value>updatedBy</value>
1088
+ <value>derivedFrom</value>
1089
+ <value>derives</value>
1022
1090
  <value>describes</value>
1023
1091
  <value>describedBy</value>
1092
+ <value>catalogues</value>
1093
+ <value>cataloguedBy</value>
1094
+ <value>hasSuccessor</value>
1095
+ <value>successorOf</value>
1096
+ <value>adaptedFrom</value>
1097
+ <value>hasAdaptation</value>
1098
+ <value>adoptedFrom</value>
1099
+ <value>adoptedAs</value>
1100
+ <value>reviewOf</value>
1101
+ <value>hasReview</value>
1102
+ <value>commentaryOf</value>
1103
+ <value>hasCommentary</value>
1104
+ <value>related</value>
1105
+ <value>complements</value>
1106
+ <value>complementOf</value>
1107
+ <value>obsoletes</value>
1108
+ <value>obsoletedBy</value>
1109
+ <value>cited</value>
1110
+ <value>isCitedIn</value>
1024
1111
  </choice>
1025
1112
  </define>
1026
1113
  <define name="docrelation">
@@ -1028,12 +1115,30 @@
1028
1115
  <attribute name="type">
1029
1116
  <ref name="DocRelationType"/>
1030
1117
  </attribute>
1118
+ <optional>
1119
+ <element name="description">
1120
+ <ref name="FormattedString"/>
1121
+ </element>
1122
+ </optional>
1031
1123
  <element name="bibitem">
1032
1124
  <ref name="BibliographicItem"/>
1033
1125
  </element>
1034
- <zeroOrMore>
1035
- <ref name="locality"/>
1036
- </zeroOrMore>
1126
+ <choice>
1127
+ <zeroOrMore>
1128
+ <ref name="locality"/>
1129
+ </zeroOrMore>
1130
+ <zeroOrMore>
1131
+ <ref name="localityStack"/>
1132
+ </zeroOrMore>
1133
+ </choice>
1134
+ <choice>
1135
+ <zeroOrMore>
1136
+ <ref name="sourceLocality"/>
1137
+ </zeroOrMore>
1138
+ <zeroOrMore>
1139
+ <ref name="sourceLocalityStack"/>
1140
+ </zeroOrMore>
1141
+ </choice>
1037
1142
  </element>
1038
1143
  </define>
1039
1144
  <define name="version">
@@ -53,9 +53,96 @@
53
53
  <optional>
54
54
  <attribute name="alt"/>
55
55
  </optional>
56
+ <optional>
57
+ <attribute name="case">
58
+ <choice>
59
+ <value>capital</value>
60
+ <value>lowercase</value>
61
+ </choice>
62
+ </attribute>
63
+ </optional>
56
64
  <text/>
57
65
  </element>
58
66
  </define>
67
+ <define name="ul">
68
+ <element name="ul">
69
+ <attribute name="id">
70
+ <data type="ID"/>
71
+ </attribute>
72
+ <optional>
73
+ <attribute name="keep-with-next">
74
+ <data type="boolean"/>
75
+ </attribute>
76
+ </optional>
77
+ <optional>
78
+ <attribute name="keep-lines-together">
79
+ <data type="boolean"/>
80
+ </attribute>
81
+ </optional>
82
+ <oneOrMore>
83
+ <ref name="li"/>
84
+ </oneOrMore>
85
+ <zeroOrMore>
86
+ <ref name="note"/>
87
+ </zeroOrMore>
88
+ </element>
89
+ </define>
90
+ <define name="ol">
91
+ <element name="ol">
92
+ <attribute name="id">
93
+ <data type="ID"/>
94
+ </attribute>
95
+ <optional>
96
+ <attribute name="keep-with-next">
97
+ <data type="boolean"/>
98
+ </attribute>
99
+ </optional>
100
+ <optional>
101
+ <attribute name="keep-lines-together">
102
+ <data type="boolean"/>
103
+ </attribute>
104
+ </optional>
105
+ <attribute name="type">
106
+ <choice>
107
+ <value>roman</value>
108
+ <value>alphabet</value>
109
+ <value>arabic</value>
110
+ <value>roman_upper</value>
111
+ <value>alphabet_upper</value>
112
+ </choice>
113
+ </attribute>
114
+ <oneOrMore>
115
+ <ref name="li"/>
116
+ </oneOrMore>
117
+ <zeroOrMore>
118
+ <ref name="note"/>
119
+ </zeroOrMore>
120
+ </element>
121
+ </define>
122
+ <define name="dl">
123
+ <element name="dl">
124
+ <attribute name="id">
125
+ <data type="ID"/>
126
+ </attribute>
127
+ <optional>
128
+ <attribute name="keep-with-next">
129
+ <data type="boolean"/>
130
+ </attribute>
131
+ </optional>
132
+ <optional>
133
+ <attribute name="keep-lines-together">
134
+ <data type="boolean"/>
135
+ </attribute>
136
+ </optional>
137
+ <oneOrMore>
138
+ <ref name="dt"/>
139
+ <ref name="dd"/>
140
+ </oneOrMore>
141
+ <zeroOrMore>
142
+ <ref name="note"/>
143
+ </zeroOrMore>
144
+ </element>
145
+ </define>
59
146
  <define name="example">
60
147
  <element name="example">
61
148
  <attribute name="id">
@@ -69,6 +156,19 @@
69
156
  <optional>
70
157
  <attribute name="subsequence"/>
71
158
  </optional>
159
+ <optional>
160
+ <attribute name="number"/>
161
+ </optional>
162
+ <optional>
163
+ <attribute name="keep-with-next">
164
+ <data type="boolean"/>
165
+ </attribute>
166
+ </optional>
167
+ <optional>
168
+ <attribute name="keep-lines-together">
169
+ <data type="boolean"/>
170
+ </attribute>
171
+ </optional>
72
172
  <optional>
73
173
  <ref name="tname"/>
74
174
  </optional>
@@ -89,6 +189,296 @@
89
189
  </zeroOrMore>
90
190
  </element>
91
191
  </define>
192
+ <define name="table">
193
+ <element name="table">
194
+ <attribute name="id">
195
+ <data type="ID"/>
196
+ </attribute>
197
+ <optional>
198
+ <attribute name="unnumbered">
199
+ <data type="boolean"/>
200
+ </attribute>
201
+ </optional>
202
+ <optional>
203
+ <attribute name="number"/>
204
+ </optional>
205
+ <optional>
206
+ <attribute name="subsequence"/>
207
+ </optional>
208
+ <optional>
209
+ <attribute name="alt"/>
210
+ </optional>
211
+ <optional>
212
+ <attribute name="summary"/>
213
+ </optional>
214
+ <optional>
215
+ <attribute name="uri">
216
+ <data type="anyURI"/>
217
+ </attribute>
218
+ </optional>
219
+ <optional>
220
+ <attribute name="keep-with-next">
221
+ <data type="boolean"/>
222
+ </attribute>
223
+ </optional>
224
+ <optional>
225
+ <attribute name="keep-lines-together">
226
+ <data type="boolean"/>
227
+ </attribute>
228
+ </optional>
229
+ <optional>
230
+ <ref name="tname"/>
231
+ </optional>
232
+ <optional>
233
+ <ref name="thead"/>
234
+ </optional>
235
+ <ref name="tbody"/>
236
+ <optional>
237
+ <ref name="tfoot"/>
238
+ </optional>
239
+ <zeroOrMore>
240
+ <ref name="table-note"/>
241
+ </zeroOrMore>
242
+ <optional>
243
+ <ref name="dl"/>
244
+ </optional>
245
+ </element>
246
+ </define>
247
+ <define name="figure">
248
+ <element name="figure">
249
+ <attribute name="id">
250
+ <data type="ID"/>
251
+ </attribute>
252
+ <optional>
253
+ <attribute name="unnumbered">
254
+ <data type="boolean"/>
255
+ </attribute>
256
+ </optional>
257
+ <optional>
258
+ <attribute name="number"/>
259
+ </optional>
260
+ <optional>
261
+ <attribute name="subsequence"/>
262
+ </optional>
263
+ <optional>
264
+ <attribute name="keep-with-next">
265
+ <data type="boolean"/>
266
+ </attribute>
267
+ </optional>
268
+ <optional>
269
+ <attribute name="keep-lines-together">
270
+ <data type="boolean"/>
271
+ </attribute>
272
+ </optional>
273
+ <optional>
274
+ <attribute name="class"/>
275
+ </optional>
276
+ <optional>
277
+ <ref name="source"/>
278
+ </optional>
279
+ <optional>
280
+ <ref name="tname"/>
281
+ </optional>
282
+ <choice>
283
+ <ref name="image"/>
284
+ <ref name="video"/>
285
+ <ref name="audio"/>
286
+ <ref name="pre"/>
287
+ <oneOrMore>
288
+ <ref name="paragraph-with-footnote"/>
289
+ </oneOrMore>
290
+ <zeroOrMore>
291
+ <ref name="figure"/>
292
+ </zeroOrMore>
293
+ </choice>
294
+ <zeroOrMore>
295
+ <ref name="fn"/>
296
+ </zeroOrMore>
297
+ <optional>
298
+ <ref name="dl"/>
299
+ </optional>
300
+ <zeroOrMore>
301
+ <ref name="note"/>
302
+ </zeroOrMore>
303
+ </element>
304
+ </define>
305
+ <define name="sourcecode">
306
+ <element name="sourcecode">
307
+ <attribute name="id">
308
+ <data type="ID"/>
309
+ </attribute>
310
+ <optional>
311
+ <attribute name="unnumbered">
312
+ <data type="boolean"/>
313
+ </attribute>
314
+ </optional>
315
+ <optional>
316
+ <attribute name="number"/>
317
+ </optional>
318
+ <optional>
319
+ <attribute name="subsequence"/>
320
+ </optional>
321
+ <optional>
322
+ <attribute name="keep-with-next">
323
+ <data type="boolean"/>
324
+ </attribute>
325
+ </optional>
326
+ <optional>
327
+ <attribute name="keep-lines-together">
328
+ <data type="boolean"/>
329
+ </attribute>
330
+ </optional>
331
+ <optional>
332
+ <attribute name="lang"/>
333
+ </optional>
334
+ <optional>
335
+ <ref name="tname"/>
336
+ </optional>
337
+ <oneOrMore>
338
+ <choice>
339
+ <text/>
340
+ <ref name="callout"/>
341
+ </choice>
342
+ </oneOrMore>
343
+ <zeroOrMore>
344
+ <ref name="annotation"/>
345
+ </zeroOrMore>
346
+ <zeroOrMore>
347
+ <ref name="note"/>
348
+ </zeroOrMore>
349
+ </element>
350
+ </define>
351
+ <define name="formula">
352
+ <element name="formula">
353
+ <attribute name="id">
354
+ <data type="ID"/>
355
+ </attribute>
356
+ <optional>
357
+ <attribute name="unnumbered">
358
+ <data type="boolean"/>
359
+ </attribute>
360
+ </optional>
361
+ <optional>
362
+ <attribute name="number"/>
363
+ </optional>
364
+ <optional>
365
+ <attribute name="subsequence"/>
366
+ </optional>
367
+ <optional>
368
+ <attribute name="keep-with-next">
369
+ <data type="boolean"/>
370
+ </attribute>
371
+ </optional>
372
+ <optional>
373
+ <attribute name="keep-lines-together">
374
+ <data type="boolean"/>
375
+ </attribute>
376
+ </optional>
377
+ <optional>
378
+ <attribute name="inequality">
379
+ <data type="boolean"/>
380
+ </attribute>
381
+ </optional>
382
+ <ref name="stem"/>
383
+ <optional>
384
+ <ref name="dl"/>
385
+ </optional>
386
+ <zeroOrMore>
387
+ <ref name="note"/>
388
+ </zeroOrMore>
389
+ </element>
390
+ </define>
391
+ <define name="ParagraphType">
392
+ <attribute name="id">
393
+ <data type="ID"/>
394
+ </attribute>
395
+ <optional>
396
+ <attribute name="align">
397
+ <ref name="Alignments"/>
398
+ </attribute>
399
+ </optional>
400
+ <optional>
401
+ <attribute name="keep-with-next">
402
+ <data type="boolean"/>
403
+ </attribute>
404
+ </optional>
405
+ <optional>
406
+ <attribute name="keep-lines-together">
407
+ <data type="boolean"/>
408
+ </attribute>
409
+ </optional>
410
+ <zeroOrMore>
411
+ <ref name="TextElement"/>
412
+ </zeroOrMore>
413
+ <zeroOrMore>
414
+ <ref name="note"/>
415
+ </zeroOrMore>
416
+ </define>
417
+ <define name="paragraph-with-footnote">
418
+ <element name="p">
419
+ <attribute name="id">
420
+ <data type="ID"/>
421
+ </attribute>
422
+ <optional>
423
+ <attribute name="align">
424
+ <ref name="Alignments"/>
425
+ </attribute>
426
+ </optional>
427
+ <optional>
428
+ <attribute name="keep-with-next">
429
+ <data type="boolean"/>
430
+ </attribute>
431
+ </optional>
432
+ <optional>
433
+ <attribute name="keep-lines-together">
434
+ <data type="boolean"/>
435
+ </attribute>
436
+ </optional>
437
+ <zeroOrMore>
438
+ <choice>
439
+ <ref name="TextElement"/>
440
+ <ref name="fn"/>
441
+ </choice>
442
+ </zeroOrMore>
443
+ <zeroOrMore>
444
+ <ref name="note"/>
445
+ </zeroOrMore>
446
+ </element>
447
+ </define>
448
+ <define name="quote">
449
+ <element name="quote">
450
+ <attribute name="id">
451
+ <data type="ID"/>
452
+ </attribute>
453
+ <optional>
454
+ <attribute name="alignment">
455
+ <ref name="Alignments"/>
456
+ </attribute>
457
+ </optional>
458
+ <optional>
459
+ <attribute name="keep-with-next">
460
+ <data type="boolean"/>
461
+ </attribute>
462
+ </optional>
463
+ <optional>
464
+ <attribute name="keep-lines-together">
465
+ <data type="boolean"/>
466
+ </attribute>
467
+ </optional>
468
+ <optional>
469
+ <ref name="quote-source"/>
470
+ </optional>
471
+ <optional>
472
+ <ref name="quote-author"/>
473
+ </optional>
474
+ <oneOrMore>
475
+ <ref name="paragraph-with-footnote"/>
476
+ </oneOrMore>
477
+ <zeroOrMore>
478
+ <ref name="note"/>
479
+ </zeroOrMore>
480
+ </element>
481
+ </define>
92
482
  <define name="BibDataExtensionType">
93
483
  <ref name="doctype"/>
94
484
  <optional>
@@ -129,6 +519,9 @@
129
519
  </choice>
130
520
  </attribute>
131
521
  </optional>
522
+ <attribute name="normative">
523
+ <data type="boolean"/>
524
+ </attribute>
132
525
  <optional>
133
526
  <ref name="section-title"/>
134
527
  </optional>
@@ -154,6 +547,30 @@
154
547
  <attribute name="id">
155
548
  <data type="ID"/>
156
549
  </attribute>
550
+ <optional>
551
+ <attribute name="unnumbered">
552
+ <data type="boolean"/>
553
+ </attribute>
554
+ </optional>
555
+ <optional>
556
+ <attribute name="number"/>
557
+ </optional>
558
+ <optional>
559
+ <attribute name="subsequence"/>
560
+ </optional>
561
+ <optional>
562
+ <attribute name="keep-with-next">
563
+ <data type="boolean"/>
564
+ </attribute>
565
+ </optional>
566
+ <optional>
567
+ <attribute name="keep-lines-together">
568
+ <data type="boolean"/>
569
+ </attribute>
570
+ </optional>
571
+ <optional>
572
+ <attribute name="type"/>
573
+ </optional>
157
574
  <oneOrMore>
158
575
  <choice>
159
576
  <ref name="paragraph"/>
@@ -305,6 +722,21 @@
305
722
  </define>
306
723
  </include>
307
724
  <!-- end overrides -->
725
+ <define name="TextElement" combine="choice">
726
+ <ref name="concept"/>
727
+ </define>
728
+ <define name="concept">
729
+ <element name="concept">
730
+ <optional>
731
+ <attribute name="term"/>
732
+ </optional>
733
+ <choice>
734
+ <ref name="eref"/>
735
+ <ref name="xref"/>
736
+ <ref name="termref"/>
737
+ </choice>
738
+ </element>
739
+ </define>
308
740
  <define name="BasicBlock" combine="choice">
309
741
  <choice>
310
742
  <ref name="requirement"/>
@@ -884,7 +1316,36 @@
884
1316
  <attribute name="id">
885
1317
  <data type="ID"/>
886
1318
  </attribute>
887
- <ref name="paragraph"/>
1319
+ <optional>
1320
+ <attribute name="unnumbered">
1321
+ <data type="boolean"/>
1322
+ </attribute>
1323
+ </optional>
1324
+ <optional>
1325
+ <attribute name="number"/>
1326
+ </optional>
1327
+ <optional>
1328
+ <attribute name="subsequence"/>
1329
+ </optional>
1330
+ <optional>
1331
+ <attribute name="keep-with-next">
1332
+ <data type="boolean"/>
1333
+ </attribute>
1334
+ </optional>
1335
+ <optional>
1336
+ <attribute name="keep-lines-together">
1337
+ <data type="boolean"/>
1338
+ </attribute>
1339
+ </optional>
1340
+ <oneOrMore>
1341
+ <choice>
1342
+ <ref name="paragraph"/>
1343
+ <ref name="ul"/>
1344
+ <ref name="ol"/>
1345
+ <ref name="dl"/>
1346
+ <ref name="formula"/>
1347
+ </choice>
1348
+ </oneOrMore>
888
1349
  </element>
889
1350
  </define>
890
1351
  <define name="termexample">
@@ -911,7 +1372,10 @@
911
1372
  </define>
912
1373
  <define name="origin">
913
1374
  <element name="origin">
914
- <ref name="erefType"/>
1375
+ <choice>
1376
+ <ref name="erefType"/>
1377
+ <ref name="termref"/>
1378
+ </choice>
915
1379
  </element>
916
1380
  </define>
917
1381
  <define name="modification">
@@ -919,6 +1383,15 @@
919
1383
  <ref name="paragraph"/>
920
1384
  </element>
921
1385
  </define>
1386
+ <define name="termref">
1387
+ <element name="termref">
1388
+ <attribute name="base"/>
1389
+ <attribute name="target"/>
1390
+ <optional>
1391
+ <text/>
1392
+ </optional>
1393
+ </element>
1394
+ </define>
922
1395
  <define name="structuredidentifier">
923
1396
  <element name="structuredidentifier">
924
1397
  <optional>
@@ -75,10 +75,6 @@
75
75
  <value>profile</value>
76
76
  <value>profile-with-extension</value>
77
77
  <value>general</value>
78
- <value>encoding</value>
79
- <value>extension</value>
80
- <value>profile</value>
81
- <value>profile-with-extension</value>
82
78
  </choice>
83
79
  </element>
84
80
  </define>
@@ -1,5 +1,5 @@
1
1
  module RelatonOgc
2
- class HashConverter < RelatonIsoBib::HashConverter
2
+ class HashConverter < RelatonBib::HashConverter
3
3
  class << self
4
4
  private
5
5
 
@@ -16,7 +16,11 @@ module RelatonOgc
16
16
  def initialize(ref, year = nil)
17
17
  super
18
18
  @array = from_json(ref).sort_by do |hit|
19
- hit.hit["date"] ? Date.parse(hit.hit["date"]) : Date.new
19
+ begin
20
+ hit.hit["date"] ? Date.parse(hit.hit["date"]) : Date.new
21
+ rescue ArgumentError
22
+ Date.parse "0000-01-01"
23
+ end
20
24
  end.reverse
21
25
  end
22
26
 
@@ -27,7 +31,9 @@ module RelatonOgc
27
31
  #
28
32
  # @param docid [String]
29
33
  def from_json(docid, **_opts)
30
- ref = docid.sub /^OGC\s/, ""
34
+ ref = docid.sub(/^OGC\s/, "").strip
35
+ return [] if ref.empty?
36
+
31
37
  data.select do |_k, doc|
32
38
  doc["type"] != "CC" && doc["identifier"].include?(ref)
33
39
  end.map { |_k, h| Hit.new(h, self) }
@@ -1,5 +1,5 @@
1
1
  module RelatonOgc
2
- class OgcBibliographicItem < RelatonIsoBib::IsoBibliographicItem
2
+ class OgcBibliographicItem < RelatonBib::BibliographicItem
3
3
  TYPES = %w[
4
4
  abstract-specification-topic best-practice
5
5
  change-request-supporting-document
@@ -20,11 +20,12 @@ module RelatonOgc
20
20
  # @param docsubtype [String]
21
21
  def initialize(**args)
22
22
  if args[:docsubtype] && !SUBTYPES.include?(args[:docsubtype])
23
- warn "[relaton-ogc] invalid document subtype: #{args[:docsubtype]}"
23
+ warn "[relaton-ogc] WARNING: invalid document subtype: #{args[:docsubtype]}"
24
24
  end
25
25
 
26
26
  @docsubtype = args.delete :docsubtype
27
27
  super
28
+ # @doctype = args[:doctype]
28
29
  end
29
30
 
30
31
  # @return [Hash]
@@ -33,5 +34,19 @@ module RelatonOgc
33
34
  hash["docsubtype"] = docsubtype if docsubtype
34
35
  hash
35
36
  end
37
+
38
+ # @param builder [Nokogiri::XML::Builder]
39
+ # @param opts [Hash]
40
+ # @option opts [Boolean] :bibdata
41
+ def to_xml(builder = nil, **opts)
42
+ super do |b|
43
+ b.ext do
44
+ b.doctype doctype if doctype
45
+ b.docsubtype docsubtype if docsubtype
46
+ editorialgroup&.to_xml b
47
+ ics.each { |i| i.to_xml b }
48
+ end
49
+ end
50
+ end
36
51
  end
37
52
  end
@@ -38,6 +38,7 @@ module RelatonOgc
38
38
  type = fetch_type(hit["type"])
39
39
  OgcBibliographicItem.new(
40
40
  fetched: Date.today.to_s,
41
+ type: "standard",
41
42
  title: fetch_title(hit["title"]),
42
43
  docid: fetch_docid(hit["identifier"]),
43
44
  link: fetch_link(hit["URL"]),
@@ -61,18 +62,9 @@ module RelatonOgc
61
62
  end
62
63
 
63
64
  # @param title [String]
64
- # @return [Array<RelatonIsoBib::TypedTitleString>]
65
+ # @return [Array<RelatonBib::TypedTitleString>]
65
66
  def fetch_title(title)
66
- [
67
- RelatonIsoBib::TypedTitleString.new(
68
- type: "title-main", content: title, language: "en", script: "Latn",
69
- format: "text/plain"
70
- ),
71
- RelatonIsoBib::TypedTitleString.new(
72
- type: "main", content: title, language: "en", script: "Latn",
73
- format: "text/plain"
74
- ),
75
- ]
67
+ RelatonBib::TypedTitleString.from_string title, "en", "Latn"
76
68
  end
77
69
 
78
70
  # @param identifier [String]
@@ -1,3 +1,3 @@
1
1
  module RelatonOgc
2
- VERSION = "0.7.2".freeze
2
+ VERSION = "1.2.0".freeze
3
3
  end
@@ -6,18 +6,25 @@ module RelatonOgc
6
6
  # Override RelatonIsoBib::XMLParser.form_xml method.
7
7
  # @param xml [String]
8
8
  # @return [RelatonOgc::OgcBibliographicItem]
9
- def from_xml(xml)
10
- doc = Nokogiri::XML(xml)
11
- item = doc.at "/bibitem|/bibdata"
12
- if item
13
- OgcBibliographicItem.new item_data(item)
14
- else
15
- warn "[relaton-ogc] can't find bibitem or bibdata element in the XML"
16
- end
17
- end
9
+ # def from_xml(xml)
10
+ # doc = Nokogiri::XML(xml)
11
+ # item = doc.at "/bibitem|/bibdata"
12
+ # if item
13
+ # OgcBibliographicItem.new item_data(item)
14
+ # else
15
+ # warn "[relaton-ogc] can't find bibitem or bibdata element in the XML"
16
+ # end
17
+ # end
18
18
 
19
19
  private
20
20
 
21
+ # override RelatonIsoBib::IsoBibliographicItem.bib_item method
22
+ # @param item_hash [Hash]
23
+ # @return [RelatonOgc::OgcBibliographicItem]
24
+ def bib_item(item_hash)
25
+ OgcBibliographicItem.new item_hash
26
+ end
27
+
21
28
  # Override RelatonIsoBib::XMLParser.item_data method.
22
29
  # @param item [Nokogiri::XML::Element]
23
30
  # @returtn [Hash]
@@ -10,8 +10,8 @@ Gem::Specification.new do |spec|
10
10
 
11
11
  spec.summary = "RelatonOgc: retrieve OGC Standards for bibliographic "\
12
12
  "use using the OgcBibliographicItem model"
13
- spec.description = "RelatonIso: retrieve ISO Standards for bibliographic "\
14
- "use using the IsoBibliographicItem model"
13
+ spec.description = "RelatonOgc: retrieve OGC Standards for bibliographic "\
14
+ "use using the OgcBibliographicItem model"
15
15
  spec.homepage = "https://github.com/relaton/relaton-ogc"
16
16
  spec.license = "BSD-2-Clause"
17
17
 
@@ -36,5 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "webmock"
37
37
 
38
38
  spec.add_dependency "faraday", "~> 1.0.0"
39
- spec.add_dependency "relaton-iso-bib", ">= 0.9.1"
39
+ spec.add_dependency "relaton-iso-bib", "~> 1.2.0"
40
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-ogc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 1.2.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: 2020-04-18 00:00:00.000000000 Z
11
+ date: 2020-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase
@@ -168,17 +168,17 @@ dependencies:
168
168
  name: relaton-iso-bib
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.9.1
173
+ version: 1.2.0
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.9.1
181
- description: 'RelatonIso: retrieve ISO Standards for bibliographic use using the IsoBibliographicItem
180
+ version: 1.2.0
181
+ description: 'RelatonOgc: retrieve OGC Standards for bibliographic use using the OgcBibliographicItem
182
182
  model'
183
183
  email:
184
184
  - open.source@ribose.com