relaton-gb 0.6.8 → 0.7.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: 567a0c09aaaab6be75c92682840044bd6c3091d93ad9cc48aa27db867142d871
4
- data.tar.gz: c7a6bd6185488f4ac5c53a381ae1ef3ce95dabab102eefff8a8bd992b97e786f
3
+ metadata.gz: f3c4ae2335c8473c00e9b043c938f57268387ff52c164206bb522a637cd59f3e
4
+ data.tar.gz: 8397d34b08dddf874df1bd3eae2065ddf4afce5c29372f6154245a0d359109df
5
5
  SHA512:
6
- metadata.gz: 453ed30c355b6d029aea4cf7d4c2a705452aca6501d27e82d9a6ab0c641c7df6c5348f4116fd61046086a0c436a5c83d257318d995115c583624ce8580fed2b8
7
- data.tar.gz: 0da37b8b18d374244c24a81bf8fa48e872a0546b0a61c0d850a72d8526924030dd25424c7c53d4d84fb48fc523fa9768c028e5a14d67f1a76fad1aafca3cdd1b
6
+ metadata.gz: b3850a40ddb69d2f3fab00aff6d00e4f36be33e0416b8d012f847b35e15d26f662b22be6928a96556895dc500486cb0fad1f59d19b74950913109db5d886b23d
7
+ data.tar.gz: b3adb21aad38c4d07c76e5e657d59be34028c26c543267d21312333ac27ae945007f2e036c6b3b2a51923c3e8c2ab940e2b2663cf602ef966b8a1836d23c74b1
@@ -13,8 +13,6 @@ jobs:
13
13
  ruby: [ '2.6', '2.5', '2.4' ]
14
14
  steps:
15
15
  - uses: actions/checkout@master
16
- with:
17
- submodules: recursive
18
16
  - name: Use Ruby
19
17
  uses: actions/setup-ruby@v1
20
18
  with:
@@ -13,8 +13,6 @@ jobs:
13
13
  ruby: [ '2.6', '2.5', '2.4' ]
14
14
  steps:
15
15
  - uses: actions/checkout@master
16
- with:
17
- submodules: recursive
18
16
  - name: Use Ruby
19
17
  uses: actions/setup-ruby@v1
20
18
  with:
@@ -13,8 +13,6 @@ jobs:
13
13
  ruby: [ '2.6', '2.5', '2.4' ]
14
14
  steps:
15
15
  - uses: actions/checkout@master
16
- with:
17
- submodules: recursive
18
16
  - name: Use Ruby
19
17
  uses: actions/setup-ruby@v1
20
18
  with:
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- relaton-gb (0.6.8)
4
+ relaton-gb (0.7.0)
5
5
  cnccs (~> 0.1.1)
6
6
  gb-agencies (~> 0.0.1)
7
- relaton-iso-bib (~> 0.3.0)
7
+ relaton-iso-bib (~> 0.4.0)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
@@ -29,8 +29,9 @@ GEM
29
29
  json (2.2.0)
30
30
  method_source (0.9.2)
31
31
  mini_portile2 (2.4.0)
32
- nokogiri (1.10.4)
32
+ nokogiri (1.10.7)
33
33
  mini_portile2 (~> 2.4.0)
34
+ optout (0.0.2)
34
35
  pry (0.12.2)
35
36
  coderay (~> 1.1.0)
36
37
  method_source (~> 0.9.0)
@@ -39,12 +40,12 @@ GEM
39
40
  pry (~> 0.10)
40
41
  public_suffix (4.0.1)
41
42
  rake (10.5.0)
42
- relaton-bib (0.3.12)
43
+ relaton-bib (0.4.0)
43
44
  addressable
44
45
  nokogiri
45
- relaton-iso-bib (0.3.12)
46
+ relaton-iso-bib (0.4.0)
46
47
  isoics (~> 0.1.6)
47
- relaton-bib (~> 0.3.0)
48
+ relaton-bib (~> 0.4.0)
48
49
  ruby_deep_clone (~> 0.8.0)
49
50
  rspec (3.8.0)
50
51
  rspec-core (~> 3.8.0)
@@ -61,6 +62,8 @@ GEM
61
62
  rspec-support (3.8.2)
62
63
  ruby-debug-ide (0.7.0)
63
64
  rake (>= 0.8.1)
65
+ ruby-jing (0.0.1)
66
+ optout (>= 0.0.2)
64
67
  ruby_deep_clone (0.8.0)
65
68
  safe_yaml (1.0.5)
66
69
  simplecov (0.16.1)
@@ -86,6 +89,7 @@ DEPENDENCIES
86
89
  relaton-gb!
87
90
  rspec (~> 3.0)
88
91
  ruby-debug-ide
92
+ ruby-jing
89
93
  simplecov
90
94
  vcr
91
95
  webmock
@@ -0,0 +1,1029 @@
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
+ <start>
4
+ <ref name="document"/>
5
+ </start>
6
+ <include href="biblio.rng" />
7
+ <define name="document">
8
+ <element name="document">
9
+ <optional>
10
+ <attribute name="identifier"/>
11
+ </optional>
12
+ <ref name="bibdata"/>
13
+ <ref name="sections"/>
14
+ <zeroOrMore>
15
+ <ref name="references"/>
16
+ </zeroOrMore>
17
+ </element>
18
+ </define>
19
+ <define name="bibdata">
20
+ <element name="bibdata">
21
+ <ref name="BibData"/>
22
+ </element>
23
+ </define>
24
+ <define name="sections">
25
+ <element name="sections">
26
+ <oneOrMore>
27
+ <ref name="section"/>
28
+ </oneOrMore>
29
+ </element>
30
+ </define>
31
+ <define name="section">
32
+ <element name="section">
33
+ <ref name="Basic-Section"/>
34
+ <zeroOrMore>
35
+ <ref name="section"/>
36
+ </zeroOrMore>
37
+ </element>
38
+ </define>
39
+ <define name="Basic-Section">
40
+ <optional>
41
+ <attribute name="id">
42
+ <data type="ID"/>
43
+ </attribute>
44
+ </optional>
45
+ <optional>
46
+ <attribute name="language"/>
47
+ </optional>
48
+ <optional>
49
+ <attribute name="script"/>
50
+ </optional>
51
+ <optional>
52
+ <ref name="section-title"/>
53
+ </optional>
54
+ <optional>
55
+ <ref name="BasicBlock"/>
56
+ </optional>
57
+ <zeroOrMore>
58
+ <ref name="note"/>
59
+ </zeroOrMore>
60
+ </define>
61
+ <define name="references">
62
+ <element name="references">
63
+ <optional>
64
+ <attribute name="id">
65
+ <data type="ID"/>
66
+ </attribute>
67
+ </optional>
68
+ <optional>
69
+ <ref name="section-title"/>
70
+ </optional>
71
+ <zeroOrMore>
72
+ <ref name="BasicBlock"/>
73
+ </zeroOrMore>
74
+ <zeroOrMore>
75
+ <ref name="bibitem"/>
76
+ </zeroOrMore>
77
+ </element>
78
+ </define>
79
+ <define name="section-title">
80
+ <element name="title">
81
+ <zeroOrMore>
82
+ <ref name="TextElement"/>
83
+ </zeroOrMore>
84
+ </element>
85
+ </define>
86
+ <define name="BasicBlock">
87
+ <choice>
88
+ <ref name="paragraph-with-footnote"/>
89
+ <ref name="table"/>
90
+ <ref name="formula"/>
91
+ <ref name="admonition"/>
92
+ <ref name="ol"/>
93
+ <ref name="ul"/>
94
+ <ref name="dl"/>
95
+ <ref name="figure"/>
96
+ <ref name="quote"/>
97
+ <ref name="sourcecode"/>
98
+ <ref name="example"/>
99
+ <ref name="review"/>
100
+ <ref name="pre"/>
101
+ </choice>
102
+ </define>
103
+ <define name="paragraph">
104
+ <element name="p">
105
+ <ref name="ParagraphType"/>
106
+ </element>
107
+ </define>
108
+ <define name="Alignments">
109
+ <choice>
110
+ <value>left</value>
111
+ <value>right</value>
112
+ <value>center</value>
113
+ <value>justified</value>
114
+ </choice>
115
+ </define>
116
+ <define name="ParagraphType">
117
+ <attribute name="id">
118
+ <data type="ID"/>
119
+ </attribute>
120
+ <optional>
121
+ <attribute name="align">
122
+ <ref name="Alignments"/>
123
+ </attribute>
124
+ </optional>
125
+ <zeroOrMore>
126
+ <ref name="TextElement"/>
127
+ </zeroOrMore>
128
+ <zeroOrMore>
129
+ <ref name="note"/>
130
+ </zeroOrMore>
131
+ </define>
132
+ <define name="paragraph-with-footnote">
133
+ <element name="p">
134
+ <attribute name="id">
135
+ <data type="ID"/>
136
+ </attribute>
137
+ <optional>
138
+ <attribute name="align">
139
+ <ref name="Alignments"/>
140
+ </attribute>
141
+ </optional>
142
+ <zeroOrMore>
143
+ <choice>
144
+ <ref name="TextElement"/>
145
+ <ref name="fn"/>
146
+ </choice>
147
+ </zeroOrMore>
148
+ <zeroOrMore>
149
+ <ref name="note"/>
150
+ </zeroOrMore>
151
+ </element>
152
+ </define>
153
+ <define name="note">
154
+ <element name="note">
155
+ <attribute name="id">
156
+ <data type="ID"/>
157
+ </attribute>
158
+ <oneOrMore>
159
+ <ref name="paragraph"/>
160
+ </oneOrMore>
161
+ </element>
162
+ </define>
163
+ <define name="review">
164
+ <element name="review">
165
+ <attribute name="id">
166
+ <data type="ID"/>
167
+ </attribute>
168
+ <attribute name="reviewer"/>
169
+ <optional>
170
+ <attribute name="date">
171
+ <data type="dateTime"/>
172
+ </attribute>
173
+ </optional>
174
+ <attribute name="from">
175
+ <data type="IDREF"/>
176
+ </attribute>
177
+ <optional>
178
+ <attribute name="to">
179
+ <data type="IDREF"/>
180
+ </attribute>
181
+ </optional>
182
+ <oneOrMore>
183
+ <ref name="paragraph"/>
184
+ </oneOrMore>
185
+ </element>
186
+ </define>
187
+ <define name="formula">
188
+ <element name="formula">
189
+ <attribute name="id">
190
+ <data type="ID"/>
191
+ </attribute>
192
+ <optional>
193
+ <attribute name="unnumbered">
194
+ <data type="boolean"/>
195
+ </attribute>
196
+ </optional>
197
+ <optional>
198
+ <attribute name="subsequence"/>
199
+ </optional>
200
+ <optional>
201
+ <attribute name="inequality">
202
+ <data type="boolean"/>
203
+ </attribute>
204
+ </optional>
205
+ <ref name="stem"/>
206
+ <optional>
207
+ <ref name="dl"/>
208
+ </optional>
209
+ <zeroOrMore>
210
+ <ref name="note"/>
211
+ </zeroOrMore>
212
+ </element>
213
+ </define>
214
+ <define name="quote">
215
+ <element name="quote">
216
+ <attribute name="id">
217
+ <data type="ID"/>
218
+ </attribute>
219
+ <optional>
220
+ <attribute name="alignment">
221
+ <ref name="Alignments"/>
222
+ </attribute>
223
+ </optional>
224
+ <optional>
225
+ <ref name="quote-source"/>
226
+ </optional>
227
+ <optional>
228
+ <ref name="quote-author"/>
229
+ </optional>
230
+ <oneOrMore>
231
+ <ref name="paragraph-with-footnote"/>
232
+ </oneOrMore>
233
+ <zeroOrMore>
234
+ <ref name="note"/>
235
+ </zeroOrMore>
236
+ </element>
237
+ </define>
238
+ <define name="quote-source">
239
+ <element name="source">
240
+ <ref name="erefType"/>
241
+ </element>
242
+ </define>
243
+ <define name="quote-author">
244
+ <element name="author">
245
+ <text/>
246
+ </element>
247
+ </define>
248
+ <define name="sourcecode">
249
+ <element name="sourcecode">
250
+ <attribute name="id">
251
+ <data type="ID"/>
252
+ </attribute>
253
+ <optional>
254
+ <attribute name="unnumbered">
255
+ <data type="boolean"/>
256
+ </attribute>
257
+ </optional>
258
+ <optional>
259
+ <attribute name="subsequence"/>
260
+ </optional>
261
+ <optional>
262
+ <attribute name="lang"/>
263
+ </optional>
264
+ <optional>
265
+ <ref name="tname"/>
266
+ </optional>
267
+ <oneOrMore>
268
+ <choice>
269
+ <text/>
270
+ <ref name="callout"/>
271
+ </choice>
272
+ </oneOrMore>
273
+ <zeroOrMore>
274
+ <ref name="annotation"/>
275
+ </zeroOrMore>
276
+ <zeroOrMore>
277
+ <ref name="note"/>
278
+ </zeroOrMore>
279
+ </element>
280
+ </define>
281
+ <define name="pre">
282
+ <element name="pre">
283
+ <attribute name="id">
284
+ <data type="ID"/>
285
+ </attribute>
286
+ <optional>
287
+ <ref name="tname"/>
288
+ </optional>
289
+ <text/>
290
+ <zeroOrMore>
291
+ <ref name="note"/>
292
+ </zeroOrMore>
293
+ </element>
294
+ </define>
295
+ <define name="table">
296
+ <element name="table">
297
+ <attribute name="id">
298
+ <data type="ID"/>
299
+ </attribute>
300
+ <optional>
301
+ <attribute name="unnumbered">
302
+ <data type="boolean"/>
303
+ </attribute>
304
+ </optional>
305
+ <optional>
306
+ <attribute name="subsequence"/>
307
+ </optional>
308
+ <optional>
309
+ <attribute name="alt"/>
310
+ </optional>
311
+ <optional>
312
+ <attribute name="summary"/>
313
+ </optional>
314
+ <optional>
315
+ <attribute name="uri">
316
+ <data type="anyURI"/>
317
+ </attribute>
318
+ </optional>
319
+ <optional>
320
+ <ref name="tname"/>
321
+ </optional>
322
+ <optional>
323
+ <ref name="thead"/>
324
+ </optional>
325
+ <ref name="tbody"/>
326
+ <optional>
327
+ <ref name="tfoot"/>
328
+ </optional>
329
+ <zeroOrMore>
330
+ <ref name="table-note"/>
331
+ </zeroOrMore>
332
+ <optional>
333
+ <ref name="dl"/>
334
+ </optional>
335
+ </element>
336
+ </define>
337
+ <define name="tname">
338
+ <element name="name">
339
+ <oneOrMore>
340
+ <ref name="PureTextElement"/>
341
+ </oneOrMore>
342
+ </element>
343
+ </define>
344
+ <define name="thead">
345
+ <element name="thead">
346
+ <ref name="tr"/>
347
+ </element>
348
+ </define>
349
+ <define name="tfoot">
350
+ <element name="tfoot">
351
+ <ref name="tr"/>
352
+ </element>
353
+ </define>
354
+ <define name="tbody">
355
+ <element name="tbody">
356
+ <oneOrMore>
357
+ <ref name="tr"/>
358
+ </oneOrMore>
359
+ </element>
360
+ </define>
361
+ <define name="table-note">
362
+ <element name="note">
363
+ <ref name="paragraph"/>
364
+ </element>
365
+ </define>
366
+ <define name="tr">
367
+ <element name="tr">
368
+ <oneOrMore>
369
+ <choice>
370
+ <ref name="td"/>
371
+ <ref name="th"/>
372
+ </choice>
373
+ </oneOrMore>
374
+ </element>
375
+ </define>
376
+ <define name="td">
377
+ <element name="td">
378
+ <optional>
379
+ <attribute name="colspan"/>
380
+ </optional>
381
+ <optional>
382
+ <attribute name="rowspan"/>
383
+ </optional>
384
+ <optional>
385
+ <attribute name="align">
386
+ <choice>
387
+ <value>left</value>
388
+ <value>right</value>
389
+ <value>center</value>
390
+ </choice>
391
+ </attribute>
392
+ </optional>
393
+ <choice>
394
+ <zeroOrMore>
395
+ <ref name="TextElement"/>
396
+ </zeroOrMore>
397
+ <oneOrMore>
398
+ <ref name="paragraph-with-footnote"/>
399
+ </oneOrMore>
400
+ </choice>
401
+ </element>
402
+ </define>
403
+ <define name="th">
404
+ <element name="th">
405
+ <optional>
406
+ <attribute name="colspan"/>
407
+ </optional>
408
+ <optional>
409
+ <attribute name="rowspan"/>
410
+ </optional>
411
+ <optional>
412
+ <attribute name="align">
413
+ <choice>
414
+ <value>left</value>
415
+ <value>right</value>
416
+ <value>center</value>
417
+ </choice>
418
+ </attribute>
419
+ </optional>
420
+ <choice>
421
+ <zeroOrMore>
422
+ <ref name="TextElement"/>
423
+ </zeroOrMore>
424
+ <oneOrMore>
425
+ <ref name="paragraph-with-footnote"/>
426
+ </oneOrMore>
427
+ </choice>
428
+ </element>
429
+ </define>
430
+ <define name="example">
431
+ <element name="example">
432
+ <attribute name="id">
433
+ <data type="ID"/>
434
+ </attribute>
435
+ <optional>
436
+ <attribute name="unnumbered">
437
+ <data type="boolean"/>
438
+ </attribute>
439
+ </optional>
440
+ <optional>
441
+ <attribute name="subsequence"/>
442
+ </optional>
443
+ <optional>
444
+ <ref name="tname"/>
445
+ </optional>
446
+ <oneOrMore>
447
+ <choice>
448
+ <ref name="formula"/>
449
+ <ref name="ul"/>
450
+ <ref name="ol"/>
451
+ <ref name="dl"/>
452
+ <ref name="quote"/>
453
+ <ref name="sourcecode"/>
454
+ <ref name="paragraph-with-footnote"/>
455
+ </choice>
456
+ </oneOrMore>
457
+ <zeroOrMore>
458
+ <ref name="note"/>
459
+ </zeroOrMore>
460
+ </element>
461
+ </define>
462
+ <define name="admonition">
463
+ <element name="admonition">
464
+ <attribute name="type">
465
+ <ref name="AdmonitionType"/>
466
+ </attribute>
467
+ <optional>
468
+ <attribute name="class"/>
469
+ </optional>
470
+ <attribute name="id">
471
+ <data type="ID"/>
472
+ </attribute>
473
+ <optional>
474
+ <attribute name="uri">
475
+ <data type="anyURI"/>
476
+ </attribute>
477
+ </optional>
478
+ <optional>
479
+ <ref name="tname"/>
480
+ </optional>
481
+ <zeroOrMore>
482
+ <ref name="paragraph-with-footnote"/>
483
+ </zeroOrMore>
484
+ <zeroOrMore>
485
+ <ref name="note"/>
486
+ </zeroOrMore>
487
+ </element>
488
+ </define>
489
+ <define name="AdmonitionType">
490
+ <choice>
491
+ <value>warning</value>
492
+ <value>note</value>
493
+ <value>tip</value>
494
+ <value>important</value>
495
+ <value>caution</value>
496
+ <value>statement</value>
497
+ </choice>
498
+ </define>
499
+ <define name="figure">
500
+ <element name="figure">
501
+ <attribute name="id">
502
+ <data type="ID"/>
503
+ </attribute>
504
+ <optional>
505
+ <attribute name="unnumbered">
506
+ <data type="boolean"/>
507
+ </attribute>
508
+ </optional>
509
+ <optional>
510
+ <attribute name="subsequence"/>
511
+ </optional>
512
+ <optional>
513
+ <attribute name="class"/>
514
+ </optional>
515
+ <optional>
516
+ <ref name="source"/>
517
+ </optional>
518
+ <optional>
519
+ <ref name="tname"/>
520
+ </optional>
521
+ <choice>
522
+ <ref name="image"/>
523
+ <ref name="video"/>
524
+ <ref name="audio"/>
525
+ <ref name="pre"/>
526
+ <oneOrMore>
527
+ <ref name="paragraph-with-footnote"/>
528
+ </oneOrMore>
529
+ <zeroOrMore>
530
+ <ref name="figure"/>
531
+ </zeroOrMore>
532
+ </choice>
533
+ <zeroOrMore>
534
+ <ref name="fn"/>
535
+ </zeroOrMore>
536
+ <optional>
537
+ <ref name="dl"/>
538
+ </optional>
539
+ <zeroOrMore>
540
+ <ref name="note"/>
541
+ </zeroOrMore>
542
+ </element>
543
+ </define>
544
+ <define name="TextElement">
545
+ <choice>
546
+ <text/>
547
+ <ref name="em"/>
548
+ <ref name="eref"/>
549
+ <ref name="strong"/>
550
+ <ref name="stem"/>
551
+ <ref name="sub"/>
552
+ <ref name="sup"/>
553
+ <ref name="tt"/>
554
+ <ref name="underline"/>
555
+ <ref name="keyword"/>
556
+ <ref name="ruby"/>
557
+ <ref name="strike"/>
558
+ <ref name="smallcap"/>
559
+ <ref name="xref"/>
560
+ <ref name="br"/>
561
+ <ref name="hyperlink"/>
562
+ <ref name="hr"/>
563
+ <ref name="pagebreak"/>
564
+ <ref name="bookmark"/>
565
+ <ref name="image"/>
566
+ </choice>
567
+ </define>
568
+ <define name="PureTextElement">
569
+ <choice>
570
+ <text/>
571
+ <ref name="em"/>
572
+ <ref name="strong"/>
573
+ <ref name="sub"/>
574
+ <ref name="sup"/>
575
+ <ref name="tt"/>
576
+ <ref name="underline"/>
577
+ <ref name="strike"/>
578
+ <ref name="smallcap"/>
579
+ <ref name="br"/>
580
+ </choice>
581
+ </define>
582
+ <define name="source">
583
+ <element name="source">
584
+ <ref name="TypedUri"/>
585
+ </element>
586
+ </define>
587
+ <define name="em">
588
+ <element name="em">
589
+ <zeroOrMore>
590
+ <ref name="PureTextElement"/>
591
+ </zeroOrMore>
592
+ </element>
593
+ </define>
594
+ <define name="strong">
595
+ <element name="strong">
596
+ <zeroOrMore>
597
+ <ref name="PureTextElement"/>
598
+ </zeroOrMore>
599
+ </element>
600
+ </define>
601
+ <define name="tt">
602
+ <element name="tt">
603
+ <zeroOrMore>
604
+ <ref name="PureTextElement"/>
605
+ </zeroOrMore>
606
+ </element>
607
+ </define>
608
+ <define name="keyword">
609
+ <element name="keyword">
610
+ <zeroOrMore>
611
+ <ref name="PureTextElement"/>
612
+ </zeroOrMore>
613
+ </element>
614
+ </define>
615
+ <define name="sub">
616
+ <element name="sub">
617
+ <zeroOrMore>
618
+ <ref name="PureTextElement"/>
619
+ </zeroOrMore>
620
+ </element>
621
+ </define>
622
+ <define name="sup">
623
+ <element name="sup">
624
+ <zeroOrMore>
625
+ <ref name="PureTextElement"/>
626
+ </zeroOrMore>
627
+ </element>
628
+ </define>
629
+ <define name="strike">
630
+ <element name="strike">
631
+ <zeroOrMore>
632
+ <ref name="PureTextElement"/>
633
+ </zeroOrMore>
634
+ </element>
635
+ </define>
636
+ <define name="underline">
637
+ <element name="underline">
638
+ <zeroOrMore>
639
+ <ref name="PureTextElement"/>
640
+ </zeroOrMore>
641
+ </element>
642
+ </define>
643
+ <define name="smallcap">
644
+ <element name="smallcap">
645
+ <zeroOrMore>
646
+ <ref name="PureTextElement"/>
647
+ </zeroOrMore>
648
+ </element>
649
+ </define>
650
+ <define name="ruby">
651
+ <element name="ruby">
652
+ <zeroOrMore>
653
+ <choice>
654
+ <ref name="PureTextElement"/>
655
+ <ref name="rp"/>
656
+ <ref name="rt"/>
657
+ </choice>
658
+ </zeroOrMore>
659
+ </element>
660
+ </define>
661
+ <define name="rp">
662
+ <element name="rp">
663
+ <zeroOrMore>
664
+ <ref name="PureTextElement"/>
665
+ </zeroOrMore>
666
+ </element>
667
+ </define>
668
+ <define name="rt">
669
+ <element name="rt">
670
+ <zeroOrMore>
671
+ <ref name="PureTextElement"/>
672
+ </zeroOrMore>
673
+ </element>
674
+ </define>
675
+ <define name="br">
676
+ <element name="br">
677
+ <empty/>
678
+ </element>
679
+ </define>
680
+ <define name="hr">
681
+ <element name="hr">
682
+ <empty/>
683
+ </element>
684
+ </define>
685
+ <define name="pagebreak">
686
+ <element name="pagebreak">
687
+ <empty/>
688
+ </element>
689
+ </define>
690
+ <!-- bare ID element, used for referencing arbitrary spans of text -->
691
+ <define name="bookmark">
692
+ <element name="bookmark">
693
+ <attribute name="id">
694
+ <data type="ID"/>
695
+ </attribute>
696
+ <empty/>
697
+ </element>
698
+ </define>
699
+ <define name="ReferenceFormat">
700
+ <choice>
701
+ <value>external</value>
702
+ <value>inline</value>
703
+ <value>footnote</value>
704
+ <value>callout</value>
705
+ </choice>
706
+ </define>
707
+ <define name="eref">
708
+ <element name="eref">
709
+ <ref name="erefType"/>
710
+ </element>
711
+ </define>
712
+ <define name="erefType">
713
+ <optional>
714
+ <attribute name="normative">
715
+ <data type="boolean"/>
716
+ </attribute>
717
+ </optional>
718
+ <attribute name="citeas"/>
719
+ <attribute name="type">
720
+ <ref name="ReferenceFormat"/>
721
+ </attribute>
722
+ <optional>
723
+ <attribute name="alt"/>
724
+ </optional>
725
+ <ref name="CitationType"/>
726
+ <text/>
727
+ </define>
728
+ <define name="hyperlink">
729
+ <element name="link">
730
+ <attribute name="target">
731
+ <data type="anyURI"/>
732
+ </attribute>
733
+ <attribute name="type">
734
+ <ref name="ReferenceFormat"/>
735
+ </attribute>
736
+ <optional>
737
+ <attribute name="alt"/>
738
+ </optional>
739
+ <text/>
740
+ </element>
741
+ </define>
742
+ <define name="xref">
743
+ <element name="xref">
744
+ <attribute name="target">
745
+ <data type="IDREF"/>
746
+ </attribute>
747
+ <attribute name="type">
748
+ <ref name="ReferenceFormat"/>
749
+ </attribute>
750
+ <optional>
751
+ <attribute name="alt"/>
752
+ </optional>
753
+ <text/>
754
+ </element>
755
+ </define>
756
+ <define name="fn">
757
+ <element name="fn">
758
+ <attribute name="reference"/>
759
+ <oneOrMore>
760
+ <ref name="paragraph"/>
761
+ </oneOrMore>
762
+ </element>
763
+ </define>
764
+ <!--
765
+ This is xref with fixed @type="footnote", and @target built in as paragraph+
766
+ @reference replaces ReferenceElement/text
767
+ so <fn reference="2"><p>This is a footnote</p></fn>
768
+ corresponds to
769
+ <eref type="footnote" target="fn2">2</xref> <p id="fn2">This is a footnote</p>
770
+ -->
771
+ <define name="callout">
772
+ <element name="callout">
773
+ <attribute name="target">
774
+ <data type="IDREF"/>
775
+ </attribute>
776
+ <text/>
777
+ </element>
778
+ </define>
779
+ <!--
780
+ This is xref with fixed @type="callout"; the target by convention is in an annotation in the same source code snippet
781
+ so <callout target="xyz">1</callout>
782
+ corresponds to <xref type="callout" target="xyz">1</xref>
783
+ -->
784
+ <define name="image">
785
+ <element name="image">
786
+ <attribute name="id">
787
+ <data type="ID"/>
788
+ </attribute>
789
+ <attribute name="src">
790
+ <data type="anyURI"/>
791
+ </attribute>
792
+ <attribute name="mimetype"/>
793
+ <optional>
794
+ <attribute name="filename"/>
795
+ </optional>
796
+ <optional>
797
+ <attribute name="width">
798
+ <choice>
799
+ <data type="int"/>
800
+ <value>auto</value>
801
+ </choice>
802
+ </attribute>
803
+ </optional>
804
+ <optional>
805
+ <attribute name="height">
806
+ <choice>
807
+ <data type="int"/>
808
+ <value>auto</value>
809
+ </choice>
810
+ </attribute>
811
+ </optional>
812
+ <optional>
813
+ <attribute name="alt"/>
814
+ </optional>
815
+ <optional>
816
+ <attribute name="title"/>
817
+ </optional>
818
+ <optional>
819
+ <attribute name="longdesc">
820
+ <data type="anyURI"/>
821
+ </attribute>
822
+ </optional>
823
+ </element>
824
+ </define>
825
+ <define name="video">
826
+ <element name="video">
827
+ <attribute name="id">
828
+ <data type="ID"/>
829
+ </attribute>
830
+ <attribute name="src">
831
+ <data type="anyURI"/>
832
+ </attribute>
833
+ <attribute name="mimetype"/>
834
+ <optional>
835
+ <attribute name="filename"/>
836
+ </optional>
837
+ <optional>
838
+ <attribute name="width">
839
+ <choice>
840
+ <data type="int"/>
841
+ <value>auto</value>
842
+ </choice>
843
+ </attribute>
844
+ </optional>
845
+ <optional>
846
+ <attribute name="height">
847
+ <choice>
848
+ <data type="int"/>
849
+ <value>auto</value>
850
+ </choice>
851
+ </attribute>
852
+ </optional>
853
+ <optional>
854
+ <attribute name="alt"/>
855
+ </optional>
856
+ <optional>
857
+ <attribute name="title"/>
858
+ </optional>
859
+ <optional>
860
+ <attribute name="longdesc">
861
+ <data type="anyURI"/>
862
+ </attribute>
863
+ </optional>
864
+ <zeroOrMore>
865
+ <ref name="altsource"/>
866
+ </zeroOrMore>
867
+ </element>
868
+ </define>
869
+ <define name="audio">
870
+ <element name="audio">
871
+ <attribute name="id">
872
+ <data type="ID"/>
873
+ </attribute>
874
+ <attribute name="src">
875
+ <data type="anyURI"/>
876
+ </attribute>
877
+ <attribute name="mimetype"/>
878
+ <optional>
879
+ <attribute name="filename"/>
880
+ </optional>
881
+ <optional>
882
+ <attribute name="alt"/>
883
+ </optional>
884
+ <optional>
885
+ <attribute name="title"/>
886
+ </optional>
887
+ <optional>
888
+ <attribute name="longdesc">
889
+ <data type="anyURI"/>
890
+ </attribute>
891
+ </optional>
892
+ <zeroOrMore>
893
+ <ref name="altsource"/>
894
+ </zeroOrMore>
895
+ </element>
896
+ </define>
897
+ <define name="altsource">
898
+ <element name="altsource">
899
+ <attribute name="src">
900
+ <data type="anyURI"/>
901
+ </attribute>
902
+ <attribute name="mimetype"/>
903
+ <optional>
904
+ <attribute name="filename"/>
905
+ </optional>
906
+ </element>
907
+ </define>
908
+ <define name="stem">
909
+ <element name="stem">
910
+ <attribute name="type">
911
+ <choice>
912
+ <value>MathML</value>
913
+ <value>AsciiMath</value>
914
+ </choice>
915
+ </attribute>
916
+ <oneOrMore>
917
+ <choice>
918
+ <text/>
919
+ <ref name="AnyElement"/>
920
+ </choice>
921
+ </oneOrMore>
922
+ </element>
923
+ </define>
924
+ <define name="annotation">
925
+ <element name="annotation">
926
+ <attribute name="id">
927
+ <data type="ID"/>
928
+ </attribute>
929
+ <ref name="paragraph"/>
930
+ </element>
931
+ </define>
932
+ <define name="ul">
933
+ <element name="ul">
934
+ <attribute name="id">
935
+ <data type="ID"/>
936
+ </attribute>
937
+ <oneOrMore>
938
+ <ref name="li"/>
939
+ </oneOrMore>
940
+ <zeroOrMore>
941
+ <ref name="note"/>
942
+ </zeroOrMore>
943
+ </element>
944
+ </define>
945
+ <define name="li">
946
+ <element name="li">
947
+ <optional>
948
+ <attribute name="id">
949
+ <data type="ID"/>
950
+ </attribute>
951
+ </optional>
952
+ <oneOrMore>
953
+ <ref name="paragraph-with-footnote"/>
954
+ </oneOrMore>
955
+ </element>
956
+ </define>
957
+ <define name="ol">
958
+ <element name="ol">
959
+ <attribute name="id">
960
+ <data type="ID"/>
961
+ </attribute>
962
+ <attribute name="type">
963
+ <choice>
964
+ <value>roman</value>
965
+ <value>alphabet</value>
966
+ <value>arabic</value>
967
+ <value>roman_upper</value>
968
+ <value>alphabet_upper</value>
969
+ </choice>
970
+ </attribute>
971
+ <oneOrMore>
972
+ <ref name="li"/>
973
+ </oneOrMore>
974
+ <zeroOrMore>
975
+ <ref name="note"/>
976
+ </zeroOrMore>
977
+ </element>
978
+ </define>
979
+ <define name="dl">
980
+ <element name="dl">
981
+ <attribute name="id">
982
+ <data type="ID"/>
983
+ </attribute>
984
+ <oneOrMore>
985
+ <ref name="dt"/>
986
+ <ref name="dd"/>
987
+ </oneOrMore>
988
+ <zeroOrMore>
989
+ <ref name="note"/>
990
+ </zeroOrMore>
991
+ </element>
992
+ </define>
993
+ <define name="dt">
994
+ <element name="dt">
995
+ <zeroOrMore>
996
+ <ref name="TextElement"/>
997
+ </zeroOrMore>
998
+ </element>
999
+ </define>
1000
+ <define name="dd">
1001
+ <element name="dd">
1002
+ <zeroOrMore>
1003
+ <ref name="paragraph-with-footnote"/>
1004
+ </zeroOrMore>
1005
+ </element>
1006
+ </define>
1007
+ <define name="ext">
1008
+ <element name="ext">
1009
+ <ref name="BibDataExtensionType"/>
1010
+ </element>
1011
+ </define>
1012
+ <define name="BibDataExtensionType">
1013
+ <ref name="doctype"/>
1014
+ </define>
1015
+ <define name="doctype">
1016
+ <element name="doctype">
1017
+ <ref name="DocumentType"/>
1018
+ </element>
1019
+ </define>
1020
+ <define name="DocumentType">
1021
+ <value>document</value>
1022
+ </define>
1023
+ <define name="BibData">
1024
+ <ref name="BibliographicItem"/>
1025
+ <optional>
1026
+ <ref name="ext"/>
1027
+ </optional>
1028
+ </define>
1029
+ </grammar>