csd-html 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/csd.rng ADDED
@@ -0,0 +1,1355 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar ns="http://riboseinc.com/isoxml" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <start>
4
+ <ref name="iso-standard"/>
5
+ </start>
6
+ <define name="iso-standard">
7
+ <element name="iso-standard">
8
+ <oneOrMore>
9
+ <ref name="title"/>
10
+ </oneOrMore>
11
+ <ref name="documentstatus"/>
12
+ <ref name="creator"/>
13
+ <ref name="language"/>
14
+ <ref name="script"/>
15
+ <ref name="documenttype"/>
16
+ <ref name="id"/>
17
+ <optional>
18
+ <ref name="version"/>
19
+ </optional>
20
+ <ref name="copyright"/>
21
+ <ref name="sections"/>
22
+ </element>
23
+ </define>
24
+ <define name="language">
25
+ <element name="language">
26
+ <choice>
27
+ <value>en</value>
28
+ <value>fr</value>
29
+ </choice>
30
+ </element>
31
+ </define>
32
+ <define name="script">
33
+ <element name="script">
34
+ <value>latn</value>
35
+ </element>
36
+ </define>
37
+ <define name="version">
38
+ <element name="version">
39
+ <optional>
40
+ <ref name="edition"/>
41
+ </optional>
42
+ <optional>
43
+ <ref name="revdate"/>
44
+ </optional>
45
+ </element>
46
+ </define>
47
+ <define name="copyright">
48
+ <element name="copyright">
49
+ <ref name="from"/>
50
+ <ref name="owner"/>
51
+ </element>
52
+ </define>
53
+ <define name="from">
54
+ <element name="from">
55
+ <data type="gYear"/>
56
+ </element>
57
+ </define>
58
+ <define name="owner">
59
+ <element name="owner">
60
+ <ref name="owner-affiliation"/>
61
+ </element>
62
+ </define>
63
+ <define name="owner-affiliation">
64
+ <element name="affiliation">
65
+ <value>ISO</value>
66
+ </element>
67
+ </define>
68
+ <define name="id">
69
+ <element name="id">
70
+ <ref name="documentnumber"/>
71
+ <optional>
72
+ <ref name="tc-documentnumber"/>
73
+ </optional>
74
+ </element>
75
+ </define>
76
+ <define name="creator">
77
+ <element name="creator">
78
+ <attribute name="role"/>
79
+ <ref name="technical-committee"/>
80
+ <optional>
81
+ <ref name="subcommittee"/>
82
+ </optional>
83
+ <optional>
84
+ <ref name="workgroup"/>
85
+ </optional>
86
+ <optional>
87
+ <ref name="secretariat"/>
88
+ </optional>
89
+ </element>
90
+ </define>
91
+ <define name="documenttype">
92
+ <element name="type">
93
+ <choice>
94
+ <value>international-standard</value>
95
+ <value>technical-specification</value>
96
+ <value>technical-report</value>
97
+ <value>publicly-available-specification</value>
98
+ <value>international-workshop-agreement</value>
99
+ <value>guide</value>
100
+ </choice>
101
+ </element>
102
+ </define>
103
+ <define name="documentstatus">
104
+ <element name="status">
105
+ <ref name="stage"/>
106
+ <optional>
107
+ <ref name="substage"/>
108
+ </optional>
109
+ </element>
110
+ </define>
111
+ <define name="stage">
112
+ <element name="stage">
113
+ <choice>
114
+ <value>00</value>
115
+ <value>10</value>
116
+ <value>20</value>
117
+ <value>30</value>
118
+ <value>40</value>
119
+ <value>50</value>
120
+ <value>60</value>
121
+ <value>90</value>
122
+ <value>95</value>
123
+ </choice>
124
+ </element>
125
+ </define>
126
+ <define name="substage">
127
+ <element name="substage">
128
+ <choice>
129
+ <value>00</value>
130
+ <value>20</value>
131
+ <value>60</value>
132
+ <value>90</value>
133
+ <value>92</value>
134
+ <value>93</value>
135
+ <value>98</value>
136
+ <value>99</value>
137
+ </choice>
138
+ </element>
139
+ </define>
140
+ <define name="documentnumber">
141
+ <element name="projectnumber">
142
+ <optional>
143
+ <attribute name="part">
144
+ <data type="int"/>
145
+ </attribute>
146
+ </optional>
147
+ <data type="int"/>
148
+ </element>
149
+ </define>
150
+ <define name="tc-documentnumber">
151
+ <element name="tc-documentnumber">
152
+ <data type="int"/>
153
+ </element>
154
+ </define>
155
+ <define name="technical-committee">
156
+ <element name="technical-committee">
157
+ <optional>
158
+ <attribute name="number">
159
+ <data type="int"/>
160
+ </attribute>
161
+ </optional>
162
+ <text/>
163
+ </element>
164
+ </define>
165
+ <define name="subcommittee">
166
+ <element name="subcommittee">
167
+ <optional>
168
+ <attribute name="number">
169
+ <data type="int"/>
170
+ </attribute>
171
+ </optional>
172
+ <text/>
173
+ </element>
174
+ </define>
175
+ <define name="workgroup">
176
+ <element name="workgroup">
177
+ <optional>
178
+ <attribute name="number">
179
+ <data type="int"/>
180
+ </attribute>
181
+ </optional>
182
+ <text/>
183
+ </element>
184
+ </define>
185
+ <define name="secretariat">
186
+ <element name="secretariat">
187
+ <text/>
188
+ </element>
189
+ </define>
190
+ <define name="revdate">
191
+ <element name="revision-date">
192
+ <data type="date"/>
193
+ </element>
194
+ </define>
195
+ <define name="edition">
196
+ <element name="edition">
197
+ <data type="int"/>
198
+ </element>
199
+ </define>
200
+ <define name="title">
201
+ <element name="title">
202
+ <attribute name="language"/>
203
+ <optional>
204
+ <ref name="title-intro"/>
205
+ </optional>
206
+ <ref name="title-main"/>
207
+ <optional>
208
+ <ref name="title-part"/>
209
+ </optional>
210
+ </element>
211
+ </define>
212
+ <define name="title-intro">
213
+ <element name="title-intro">
214
+ <text/>
215
+ </element>
216
+ </define>
217
+ <define name="title-main">
218
+ <element name="title-main">
219
+ <text/>
220
+ </element>
221
+ </define>
222
+ <define name="title-part">
223
+ <element name="title-part">
224
+ <text/>
225
+ </element>
226
+ </define>
227
+ <define name="sections">
228
+ <element name="sections">
229
+ <ref name="content"/>
230
+ <optional>
231
+ <ref name="content"/>
232
+ </optional>
233
+ <ref name="clause"/>
234
+ <ref name="references"/>
235
+ <ref name="terms"/>
236
+ <oneOrMore>
237
+ <ref name="clause"/>
238
+ </oneOrMore>
239
+ <zeroOrMore>
240
+ <ref name="annex"/>
241
+ </zeroOrMore>
242
+ <optional>
243
+ <ref name="references"/>
244
+ </optional>
245
+ </element>
246
+ </define>
247
+ <define name="content">
248
+ <element name="content">
249
+ <ref name="Content-Section"/>
250
+ </element>
251
+ </define>
252
+ <define name="content-subsection">
253
+ <element name="subsection">
254
+ <ref name="Content-Section"/>
255
+ </element>
256
+ </define>
257
+ <define name="Content-Section">
258
+ <optional>
259
+ <attribute name="id">
260
+ <data type="ID"/>
261
+ </attribute>
262
+ </optional>
263
+ <optional>
264
+ <ref name="section-title"/>
265
+ </optional>
266
+ <choice>
267
+ <oneOrMore>
268
+ <ref name="BasicBlock"/>
269
+ </oneOrMore>
270
+ <oneOrMore>
271
+ <ref name="content-subsection"/>
272
+ </oneOrMore>
273
+ </choice>
274
+ </define>
275
+ <define name="clause">
276
+ <element name="clause">
277
+ <ref name="Clause-Section"/>
278
+ </element>
279
+ </define>
280
+ <define name="Clause-Section">
281
+ <optional>
282
+ <attribute name="id">
283
+ <data type="ID"/>
284
+ </attribute>
285
+ </optional>
286
+ <optional>
287
+ <ref name="section-title"/>
288
+ </optional>
289
+ <choice>
290
+ <oneOrMore>
291
+ <ref name="BasicBlock"/>
292
+ </oneOrMore>
293
+ <oneOrMore>
294
+ <ref name="clause-subsection"/>
295
+ </oneOrMore>
296
+ </choice>
297
+ </define>
298
+ <define name="clause-subsection">
299
+ <element name="subsection">
300
+ <ref name="Clause-Section"/>
301
+ </element>
302
+ </define>
303
+ <define name="references">
304
+ <element name="references">
305
+ <optional>
306
+ <attribute name="id">
307
+ <data type="ID"/>
308
+ </attribute>
309
+ </optional>
310
+ <optional>
311
+ <ref name="section-title"/>
312
+ </optional>
313
+ <zeroOrMore>
314
+ <ref name="bibitem"/>
315
+ </zeroOrMore>
316
+ <zeroOrMore>
317
+ <ref name="references"/>
318
+ </zeroOrMore>
319
+ </element>
320
+ </define>
321
+ <define name="terms">
322
+ <element name="terms">
323
+ <optional>
324
+ <attribute name="id">
325
+ <data type="ID"/>
326
+ </attribute>
327
+ </optional>
328
+ <optional>
329
+ <ref name="section-title"/>
330
+ </optional>
331
+ <zeroOrMore>
332
+ <!-- boilerplate -->
333
+ <ref name="para"/>
334
+ </zeroOrMore>
335
+ <optional>
336
+ <ref name="ul"/>
337
+ </optional>
338
+ <choice>
339
+ <oneOrMore>
340
+ <ref name="term"/>
341
+ </oneOrMore>
342
+ <optional>
343
+ <ref name="terms"/>
344
+ </optional>
345
+ </choice>
346
+ </element>
347
+ </define>
348
+ <define name="term">
349
+ <element name="term">
350
+ <optional>
351
+ <attribute name="id">
352
+ <data type="ID"/>
353
+ </attribute>
354
+ </optional>
355
+ <ref name="preferred"/>
356
+ <zeroOrMore>
357
+ <ref name="admitted"/>
358
+ </zeroOrMore>
359
+ <zeroOrMore>
360
+ <ref name="deprecates"/>
361
+ </zeroOrMore>
362
+ <optional>
363
+ <ref name="termdomain"/>
364
+ </optional>
365
+ <optional>
366
+ <ref name="definition"/>
367
+ </optional>
368
+ <zeroOrMore>
369
+ <ref name="termnote"/>
370
+ </zeroOrMore>
371
+ <zeroOrMore>
372
+ <ref name="termexample"/>
373
+ </zeroOrMore>
374
+ <zeroOrMore>
375
+ <ref name="termsource"/>
376
+ </zeroOrMore>
377
+ </element>
378
+ </define>
379
+ <define name="preferred">
380
+ <element name="preferred">
381
+ <oneOrMore>
382
+ <ref name="TextElement"/>
383
+ </oneOrMore>
384
+ </element>
385
+ </define>
386
+ <define name="admitted">
387
+ <element name="admitted">
388
+ <oneOrMore>
389
+ <ref name="TextElement"/>
390
+ </oneOrMore>
391
+ </element>
392
+ </define>
393
+ <define name="deprecates">
394
+ <element name="deprecates">
395
+ <oneOrMore>
396
+ <ref name="TextElement"/>
397
+ </oneOrMore>
398
+ </element>
399
+ </define>
400
+ <define name="termdomain">
401
+ <element name="domain">
402
+ <oneOrMore>
403
+ <ref name="TextElement"/>
404
+ </oneOrMore>
405
+ </element>
406
+ </define>
407
+ <define name="definition">
408
+ <element name="definition">
409
+ <oneOrMore>
410
+ <choice>
411
+ <ref name="para-no-fn"/>
412
+ <ref name="figure"/>
413
+ <ref name="formula"/>
414
+ </choice>
415
+ </oneOrMore>
416
+ </element>
417
+ </define>
418
+ <define name="termnote">
419
+ <element name="termnote">
420
+ <attribute name="id">
421
+ <data type="ID"/>
422
+ </attribute>
423
+ <zeroOrMore>
424
+ <choice>
425
+ <text/>
426
+ <ref name="xref"/>
427
+ <ref name="eref"/>
428
+ <ref name="link"/>
429
+ </choice>
430
+ </zeroOrMore>
431
+ </element>
432
+ </define>
433
+ <define name="termexample">
434
+ <element name="termexample">
435
+ <attribute name="id">
436
+ <data type="ID"/>
437
+ </attribute>
438
+ <ref name="BasicBlock"/>
439
+ </element>
440
+ </define>
441
+ <define name="termsource">
442
+ <element name="termsource">
443
+ <attribute name="status">
444
+ <choice>
445
+ <value>identical</value>
446
+ <value>modified</value>
447
+ </choice>
448
+ </attribute>
449
+ <ref name="origin"/>
450
+ <optional>
451
+ <ref name="modification"/>
452
+ </optional>
453
+ </element>
454
+ </define>
455
+ <define name="origin">
456
+ <element name="origin">
457
+ <attribute name="citeas"/>
458
+ <ref name="CitationType"/>
459
+ </element>
460
+ </define>
461
+ <define name="modification">
462
+ <element name="modification">
463
+ <ref name="para-no-fn"/>
464
+ </element>
465
+ </define>
466
+ <define name="BasicBlock">
467
+ <choice>
468
+ <ref name="para"/>
469
+ <ref name="table"/>
470
+ <ref name="note"/>
471
+ <ref name="formula"/>
472
+ <ref name="admonition"/>
473
+ <ref name="ol"/>
474
+ <ref name="ul"/>
475
+ <ref name="dl"/>
476
+ <ref name="figure"/>
477
+ <ref name="quote"/>
478
+ <ref name="sourcecode"/>
479
+ <ref name="example"/>
480
+ </choice>
481
+ </define>
482
+ <define name="clause-hanging-para">
483
+ <element name="subsection">
484
+ <optional>
485
+ <attribute name="id">
486
+ <data type="ID"/>
487
+ </attribute>
488
+ </optional>
489
+ <optional>
490
+ <ref name="section-title"/>
491
+ </optional>
492
+ <zeroOrMore>
493
+ <!-- allow hanging paragraphs in annexes: they introduce lists -->
494
+ <ref name="BasicBlock"/>
495
+ </zeroOrMore>
496
+ <zeroOrMore>
497
+ <ref name="clause-hanging-para"/>
498
+ </zeroOrMore>
499
+ </element>
500
+ </define>
501
+ <define name="quote">
502
+ <element name="quote">
503
+ <attribute name="id">
504
+ <data type="ID"/>
505
+ </attribute>
506
+ <optional>
507
+ <attribute name="align">
508
+ <ref name="Alignments"/>
509
+ </attribute>
510
+ </optional>
511
+ <optional>
512
+ <ref name="quote-source"/>
513
+ </optional>
514
+ <optional>
515
+ <ref name="quote-author"/>
516
+ </optional>
517
+ <zeroOrMore>
518
+ <ref name="BasicBlock"/>
519
+ </zeroOrMore>
520
+ </element>
521
+ </define>
522
+ <define name="quote-source">
523
+ <element name="source">
524
+ <ref name="CitationType"/>
525
+ </element>
526
+ </define>
527
+ <define name="quote-author">
528
+ <element name="author">
529
+ <ref name="CreatorInfo"/>
530
+ </element>
531
+ </define>
532
+ <define name="annex">
533
+ <element name="annex">
534
+ <optional>
535
+ <attribute name="id">
536
+ <data type="ID"/>
537
+ </attribute>
538
+ </optional>
539
+ <optional>
540
+ <attribute name="subtype">
541
+ <choice>
542
+ <value>normative</value>
543
+ <value>informative</value>
544
+ </choice>
545
+ </attribute>
546
+ </optional>
547
+ <optional>
548
+ <ref name="section-title"/>
549
+ </optional>
550
+ <zeroOrMore>
551
+ <!--
552
+ allow hanging paragraphs in annexes: they introduce lists
553
+ ( para | table | note | formula | admonition | ol | ul | dl | figure | quote | sourcecode | review | example )*,
554
+ -->
555
+ <ref name="BasicBlock"/>
556
+ </zeroOrMore>
557
+ <zeroOrMore>
558
+ <ref name="clause-hanging-para"/>
559
+ </zeroOrMore>
560
+ </element>
561
+ </define>
562
+ <define name="TextElement">
563
+ <choice>
564
+ <text/>
565
+ <ref name="em"/>
566
+ <ref name="eref"/>
567
+ <ref name="link"/>
568
+ <ref name="strong"/>
569
+ <ref name="stem"/>
570
+ <ref name="sub"/>
571
+ <ref name="sup"/>
572
+ <ref name="tt"/>
573
+ <ref name="strike"/>
574
+ <ref name="smallcap"/>
575
+ <ref name="xref"/>
576
+ <ref name="br"/>
577
+ <ref name="hr"/>
578
+ <ref name="pagebreak"/>
579
+ </choice>
580
+ </define>
581
+ <define name="Alignments">
582
+ <choice>
583
+ <value>left</value>
584
+ <value>center</value>
585
+ <value>right</value>
586
+ <value>justified</value>
587
+ </choice>
588
+ </define>
589
+ <define name="para">
590
+ <element name="p">
591
+ <attribute name="id">
592
+ <data type="ID"/>
593
+ </attribute>
594
+ <optional>
595
+ <attribute name="align">
596
+ <ref name="Alignments"/>
597
+ </attribute>
598
+ </optional>
599
+ <zeroOrMore>
600
+ <choice>
601
+ <ref name="TextElement"/>
602
+ <ref name="fn"/>
603
+ </choice>
604
+ </zeroOrMore>
605
+ <zeroOrMore>
606
+ <ref name="review"/>
607
+ </zeroOrMore>
608
+ </element>
609
+ </define>
610
+ <define name="para-no-fn">
611
+ <element name="p">
612
+ <attribute name="id">
613
+ <data type="ID"/>
614
+ </attribute>
615
+ <optional>
616
+ <attribute name="align">
617
+ <ref name="Alignments"/>
618
+ </attribute>
619
+ </optional>
620
+ <zeroOrMore>
621
+ <ref name="TextElement"/>
622
+ </zeroOrMore>
623
+ <zeroOrMore>
624
+ <ref name="review"/>
625
+ </zeroOrMore>
626
+ </element>
627
+ </define>
628
+ <define name="figure">
629
+ <element name="figure">
630
+ <attribute name="id">
631
+ <data type="ID"/>
632
+ </attribute>
633
+ <optional>
634
+ <ref name="tname"/>
635
+ </optional>
636
+ <choice>
637
+ <ref name="image"/>
638
+ <oneOrMore>
639
+ <ref name="figure"/>
640
+ </oneOrMore>
641
+ </choice>
642
+ <zeroOrMore>
643
+ <ref name="fn"/>
644
+ </zeroOrMore>
645
+ <optional>
646
+ <ref name="dl"/>
647
+ </optional>
648
+ <zeroOrMore>
649
+ <ref name="note"/>
650
+ </zeroOrMore>
651
+ </element>
652
+ </define>
653
+ <define name="image">
654
+ <element name="image">
655
+ <optional>
656
+ <attribute name="src"/>
657
+ </optional>
658
+ <attribute name="id">
659
+ <data type="ID"/>
660
+ </attribute>
661
+ <attribute name="imagetype"/>
662
+ <optional>
663
+ <attribute name="width">
664
+ <data type="int"/>
665
+ </attribute>
666
+ </optional>
667
+ <optional>
668
+ <attribute name="height">
669
+ <data type="int"/>
670
+ </attribute>
671
+ </optional>
672
+ </element>
673
+ </define>
674
+ <define name="sourcecode">
675
+ <element name="sourcecode">
676
+ <attribute name="id">
677
+ <data type="ID"/>
678
+ </attribute>
679
+ <optional>
680
+ <ref name="tname"/>
681
+ </optional>
682
+ <zeroOrMore>
683
+ <choice>
684
+ <text/>
685
+ <ref name="callout"/>
686
+ </choice>
687
+ </zeroOrMore>
688
+ <zeroOrMore>
689
+ <ref name="annotation"/>
690
+ </zeroOrMore>
691
+ </element>
692
+ </define>
693
+ <define name="review">
694
+ <element name="review">
695
+ <attribute name="reviewer"/>
696
+ <attribute name="date"/>
697
+ <text/>
698
+ </element>
699
+ </define>
700
+ <define name="callout">
701
+ <element name="callout">
702
+ <attribute name="target">
703
+ <data type="IDREF"/>
704
+ </attribute>
705
+ <text/>
706
+ </element>
707
+ </define>
708
+ <define name="annotation">
709
+ <element name="annotation">
710
+ <attribute name="id">
711
+ <data type="ID"/>
712
+ </attribute>
713
+ <text/>
714
+ </element>
715
+ </define>
716
+ <define name="fn">
717
+ <element name="fn">
718
+ <attribute name="reference"/>
719
+ <oneOrMore>
720
+ <ref name="para-no-fn"/>
721
+ </oneOrMore>
722
+ </element>
723
+ </define>
724
+ <define name="ol">
725
+ <element name="ol">
726
+ <attribute name="id">
727
+ <data type="ID"/>
728
+ </attribute>
729
+ <attribute name="type">
730
+ <choice>
731
+ <value>roman</value>
732
+ <value>alphabet</value>
733
+ <value>arabic</value>
734
+ <value>roman_upper</value>
735
+ <value>alphabet_upper</value>
736
+ </choice>
737
+ </attribute>
738
+ <oneOrMore>
739
+ <ref name="li"/>
740
+ </oneOrMore>
741
+ </element>
742
+ </define>
743
+ <define name="ul">
744
+ <element name="ul">
745
+ <attribute name="id">
746
+ <data type="ID"/>
747
+ </attribute>
748
+ <oneOrMore>
749
+ <ref name="li"/>
750
+ </oneOrMore>
751
+ </element>
752
+ </define>
753
+ <define name="li">
754
+ <element name="li">
755
+ <oneOrMore>
756
+ <!-- ( para | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )+ -->
757
+ <ref name="BasicBlock"/>
758
+ </oneOrMore>
759
+ <!-- exclude figures? -->
760
+ </element>
761
+ </define>
762
+ <define name="dl">
763
+ <element name="dl">
764
+ <attribute name="id">
765
+ <data type="ID"/>
766
+ </attribute>
767
+ <oneOrMore>
768
+ <ref name="dt"/>
769
+ <ref name="dd"/>
770
+ </oneOrMore>
771
+ </element>
772
+ </define>
773
+ <define name="dt">
774
+ <element name="dt">
775
+ <ref name="TextElement"/>
776
+ </element>
777
+ </define>
778
+ <define name="dd">
779
+ <element name="dd">
780
+ <oneOrMore>
781
+ <!--
782
+ ( para | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )*
783
+ exclude figures?
784
+ -->
785
+ <ref name="BasicBlock"/>
786
+ </oneOrMore>
787
+ </element>
788
+ </define>
789
+ <define name="note">
790
+ <element name="note">
791
+ <attribute name="id">
792
+ <data type="ID"/>
793
+ </attribute>
794
+ <oneOrMore>
795
+ <ref name="para"/>
796
+ </oneOrMore>
797
+ </element>
798
+ </define>
799
+ <define name="admonition">
800
+ <element name="admonition">
801
+ <attribute name="id">
802
+ <data type="ID"/>
803
+ </attribute>
804
+ <attribute name="type">
805
+ <choice>
806
+ <value>danger</value>
807
+ <value>caution</value>
808
+ <value>warning</value>
809
+ <value>important</value>
810
+ <value>safety precautions</value>
811
+ </choice>
812
+ </attribute>
813
+ <oneOrMore>
814
+ <ref name="para"/>
815
+ </oneOrMore>
816
+ </element>
817
+ </define>
818
+ <define name="formula">
819
+ <element name="formula">
820
+ <attribute name="id">
821
+ <data type="ID"/>
822
+ </attribute>
823
+ <ref name="stem"/>
824
+ <optional>
825
+ <ref name="dl"/>
826
+ </optional>
827
+ </element>
828
+ </define>
829
+ <define name="example">
830
+ <element name="example">
831
+ <attribute name="id">
832
+ <data type="ID"/>
833
+ </attribute>
834
+ <oneOrMore>
835
+ <choice>
836
+ <ref name="para"/>
837
+ <ref name="formula"/>
838
+ <ref name="ol"/>
839
+ <ref name="ul"/>
840
+ <ref name="dl"/>
841
+ <ref name="quote"/>
842
+ <ref name="sourcecode"/>
843
+ <ref name="review"/>
844
+ </choice>
845
+ </oneOrMore>
846
+ </element>
847
+ </define>
848
+ <define name="xref">
849
+ <element name="xref">
850
+ <attribute name="target">
851
+ <data type="IDREF"/>
852
+ </attribute>
853
+ <text/>
854
+ </element>
855
+ </define>
856
+ <define name="link">
857
+ <element name="link">
858
+ <attribute name="target">
859
+ <data type="anyURI"/>
860
+ </attribute>
861
+ <text/>
862
+ </element>
863
+ </define>
864
+ <define name="ReferenceFormat">
865
+ <choice>
866
+ <value>external</value>
867
+ <value>inline</value>
868
+ <value>footnote</value>
869
+ <value>callout</value>
870
+ </choice>
871
+ </define>
872
+ <define name="eref">
873
+ <element name="eref">
874
+ <optional>
875
+ <attribute name="type">
876
+ <ref name="ReferenceFormat"/>
877
+ </attribute>
878
+ </optional>
879
+ <optional>
880
+ <attribute name="normative">
881
+ <data type="boolean"/>
882
+ </attribute>
883
+ </optional>
884
+ <attribute name="citeas"/>
885
+ <ref name="CitationType"/>
886
+ <text/>
887
+ </element>
888
+ </define>
889
+ <define name="br">
890
+ <element name="br">
891
+ <empty/>
892
+ </element>
893
+ </define>
894
+ <define name="hr">
895
+ <element name="hr">
896
+ <empty/>
897
+ </element>
898
+ </define>
899
+ <define name="pagebreak">
900
+ <element name="pagebreak">
901
+ <empty/>
902
+ </element>
903
+ </define>
904
+ <define name="em">
905
+ <element name="em">
906
+ <text/>
907
+ </element>
908
+ </define>
909
+ <define name="strong">
910
+ <element name="strong">
911
+ <text/>
912
+ </element>
913
+ </define>
914
+ <define name="stem">
915
+ <element name="stem">
916
+ <attribute name="type">
917
+ <value>MathML</value>
918
+ </attribute>
919
+ <text/>
920
+ </element>
921
+ </define>
922
+ <define name="sub">
923
+ <element name="sub">
924
+ <text/>
925
+ </element>
926
+ </define>
927
+ <define name="sup">
928
+ <element name="sup">
929
+ <text/>
930
+ </element>
931
+ </define>
932
+ <define name="tt">
933
+ <element name="tt">
934
+ <text/>
935
+ </element>
936
+ </define>
937
+ <define name="strike">
938
+ <element name="strike">
939
+ <text/>
940
+ </element>
941
+ </define>
942
+ <define name="smallcap">
943
+ <element name="smallcap">
944
+ <text/>
945
+ </element>
946
+ </define>
947
+ <define name="table">
948
+ <element name="table">
949
+ <attribute name="id">
950
+ <data type="ID"/>
951
+ </attribute>
952
+ <optional>
953
+ <ref name="tname"/>
954
+ </optional>
955
+ <optional>
956
+ <ref name="thead"/>
957
+ </optional>
958
+ <ref name="tbody"/>
959
+ <optional>
960
+ <ref name="tfoot"/>
961
+ </optional>
962
+ <optional>
963
+ <ref name="dl"/>
964
+ </optional>
965
+ <zeroOrMore>
966
+ <ref name="note"/>
967
+ </zeroOrMore>
968
+ </element>
969
+ </define>
970
+ <define name="tname">
971
+ <element name="name">
972
+ <text/>
973
+ </element>
974
+ </define>
975
+ <define name="section-title">
976
+ <element name="title">
977
+ <text/>
978
+ </element>
979
+ </define>
980
+ <define name="thead">
981
+ <element name="thead">
982
+ <oneOrMore>
983
+ <ref name="tr"/>
984
+ </oneOrMore>
985
+ </element>
986
+ </define>
987
+ <define name="tbody">
988
+ <element name="tbody">
989
+ <oneOrMore>
990
+ <ref name="tr"/>
991
+ </oneOrMore>
992
+ </element>
993
+ </define>
994
+ <define name="tfoot">
995
+ <element name="tfoot">
996
+ <oneOrMore>
997
+ <ref name="tr"/>
998
+ </oneOrMore>
999
+ </element>
1000
+ </define>
1001
+ <define name="tr">
1002
+ <element name="tr">
1003
+ <oneOrMore>
1004
+ <choice>
1005
+ <ref name="td"/>
1006
+ <ref name="th"/>
1007
+ </choice>
1008
+ </oneOrMore>
1009
+ </element>
1010
+ </define>
1011
+ <define name="th">
1012
+ <element name="th">
1013
+ <optional>
1014
+ <attribute name="colspan"/>
1015
+ </optional>
1016
+ <optional>
1017
+ <attribute name="rowspan"/>
1018
+ </optional>
1019
+ <optional>
1020
+ <attribute name="align"/>
1021
+ </optional>
1022
+ <zeroOrMore>
1023
+ <choice>
1024
+ <ref name="TextElement"/>
1025
+ <ref name="fn"/>
1026
+ <ref name="para"/>
1027
+ </choice>
1028
+ </zeroOrMore>
1029
+ </element>
1030
+ </define>
1031
+ <define name="td">
1032
+ <element name="td">
1033
+ <optional>
1034
+ <attribute name="colspan"/>
1035
+ </optional>
1036
+ <optional>
1037
+ <attribute name="rowspan"/>
1038
+ </optional>
1039
+ <optional>
1040
+ <attribute name="align"/>
1041
+ </optional>
1042
+ <zeroOrMore>
1043
+ <choice>
1044
+ <ref name="TextElement"/>
1045
+ <ref name="fn"/>
1046
+ <ref name="para"/>
1047
+ </choice>
1048
+ </zeroOrMore>
1049
+ </element>
1050
+ </define>
1051
+ <define name="CreatorInfo">
1052
+ <attribute name="role"/>
1053
+ <optional>
1054
+ <ref name="fullname"/>
1055
+ </optional>
1056
+ <optional>
1057
+ <ref name="affiliation"/>
1058
+ </optional>
1059
+ <zeroOrMore>
1060
+ <ref name="person-identifier"/>
1061
+ </zeroOrMore>
1062
+ </define>
1063
+ <define name="publisher">
1064
+ <element name="publisher">
1065
+ <ref name="CreatorInfo"/>
1066
+ </element>
1067
+ </define>
1068
+ <!-- a publisher has a subset of the roles of a creator -->
1069
+ <define name="fullname">
1070
+ <element name="fullname">
1071
+ <zeroOrMore>
1072
+ <ref name="prefix"/>
1073
+ </zeroOrMore>
1074
+ <zeroOrMore>
1075
+ <ref name="forename"/>
1076
+ </zeroOrMore>
1077
+ <zeroOrMore>
1078
+ <ref name="initial"/>
1079
+ </zeroOrMore>
1080
+ <ref name="surname"/>
1081
+ <zeroOrMore>
1082
+ <ref name="addition"/>
1083
+ </zeroOrMore>
1084
+ </element>
1085
+ </define>
1086
+ <define name="prefix">
1087
+ <element name="prefix">
1088
+ <text/>
1089
+ </element>
1090
+ </define>
1091
+ <define name="initial">
1092
+ <element name="initial">
1093
+ <text/>
1094
+ </element>
1095
+ </define>
1096
+ <define name="addition">
1097
+ <element name="addition">
1098
+ <text/>
1099
+ </element>
1100
+ </define>
1101
+ <define name="surname">
1102
+ <element name="surname">
1103
+ <text/>
1104
+ </element>
1105
+ </define>
1106
+ <define name="forename">
1107
+ <element name="forename">
1108
+ <text/>
1109
+ </element>
1110
+ </define>
1111
+ <define name="affiliation">
1112
+ <element name="affiliation">
1113
+ <ref name="Organization"/>
1114
+ </element>
1115
+ </define>
1116
+ <define name="Organization">
1117
+ <ref name="orgname"/>
1118
+ <optional>
1119
+ <ref name="uri"/>
1120
+ </optional>
1121
+ <optional>
1122
+ <ref name="address"/>
1123
+ </optional>
1124
+ <zeroOrMore>
1125
+ <ref name="org-identifier"/>
1126
+ </zeroOrMore>
1127
+ </define>
1128
+ <define name="orgname">
1129
+ <element name="name">
1130
+ <text/>
1131
+ </element>
1132
+ </define>
1133
+ <define name="uri">
1134
+ <element name="uri">
1135
+ <text/>
1136
+ </element>
1137
+ </define>
1138
+ <define name="address">
1139
+ <element name="address">
1140
+ <oneOrMore>
1141
+ <!-- iso191606 TODO -->
1142
+ <ref name="street"/>
1143
+ </oneOrMore>
1144
+ <ref name="city"/>
1145
+ <optional>
1146
+ <ref name="state"/>
1147
+ </optional>
1148
+ <ref name="country"/>
1149
+ <optional>
1150
+ <ref name="postcode"/>
1151
+ </optional>
1152
+ </element>
1153
+ </define>
1154
+ <define name="street">
1155
+ <element name="street">
1156
+ <text/>
1157
+ </element>
1158
+ </define>
1159
+ <define name="city">
1160
+ <element name="city">
1161
+ <text/>
1162
+ </element>
1163
+ </define>
1164
+ <define name="state">
1165
+ <element name="state">
1166
+ <text/>
1167
+ </element>
1168
+ </define>
1169
+ <define name="country">
1170
+ <element name="country">
1171
+ <text/>
1172
+ </element>
1173
+ </define>
1174
+ <define name="postcode">
1175
+ <element name="postcode">
1176
+ <text/>
1177
+ </element>
1178
+ </define>
1179
+ <define name="person-identifier">
1180
+ <element name="identifier">
1181
+ <attribute name="type">
1182
+ <choice>
1183
+ <value>isni</value>
1184
+ <value>uri</value>
1185
+ </choice>
1186
+ </attribute>
1187
+ <text/>
1188
+ </element>
1189
+ </define>
1190
+ <define name="org-identifier">
1191
+ <element name="identifier">
1192
+ <attribute name="type">
1193
+ <choice>
1194
+ <value>orcid</value>
1195
+ <value>uri</value>
1196
+ </choice>
1197
+ </attribute>
1198
+ <text/>
1199
+ </element>
1200
+ </define>
1201
+ <define name="CitationType">
1202
+ <attribute name="bibitemid">
1203
+ <data type="IDREF"/>
1204
+ </attribute>
1205
+ <zeroOrMore>
1206
+ <ref name="locality"/>
1207
+ </zeroOrMore>
1208
+ <optional>
1209
+ <ref name="date"/>
1210
+ </optional>
1211
+ </define>
1212
+ <define name="date">
1213
+ <element name="date">
1214
+ <data type="string" datatypeLibrary=""/>
1215
+ </element>
1216
+ </define>
1217
+ <define name="locality">
1218
+ <element name="locality">
1219
+ <attribute name="type">
1220
+ <choice>
1221
+ <value>section</value>
1222
+ <value>clause</value>
1223
+ <value>part</value>
1224
+ <value>paragraph</value>
1225
+ <value>chapter</value>
1226
+ <value>page</value>
1227
+ <value>whole</value>
1228
+ </choice>
1229
+ </attribute>
1230
+ <text/>
1231
+ </element>
1232
+ </define>
1233
+ <define name="bibitem">
1234
+ <element name="bibitem">
1235
+ <ref name="BibItemType"/>
1236
+ </element>
1237
+ </define>
1238
+ <define name="BibItemType">
1239
+ <attribute name="id">
1240
+ <data type="ID"/>
1241
+ </attribute>
1242
+ <optional>
1243
+ <attribute name="type">
1244
+ <choice>
1245
+ <value>article</value>
1246
+ <value>book</value>
1247
+ <value>booklet</value>
1248
+ <value>conference</value>
1249
+ <value>manual</value>
1250
+ <value>proceedings</value>
1251
+ <value>presentation</value>
1252
+ <value>thesis</value>
1253
+ <value>techreport</value>
1254
+ <value>standard</value>
1255
+ <value>unpublished</value>
1256
+ </choice>
1257
+ </attribute>
1258
+ </optional>
1259
+ <choice>
1260
+ <ref name="bname"/>
1261
+ <ref name="formatted"/>
1262
+ </choice>
1263
+ <optional>
1264
+ <ref name="source"/>
1265
+ </optional>
1266
+ <optional>
1267
+ <ref name="publishdate"/>
1268
+ </optional>
1269
+ <zeroOrMore>
1270
+ <ref name="docidentifier"/>
1271
+ </zeroOrMore>
1272
+ <optional>
1273
+ <ref name="accesseddate"/>
1274
+ </optional>
1275
+ <zeroOrMore>
1276
+ <ref name="creator"/>
1277
+ </zeroOrMore>
1278
+ <zeroOrMore>
1279
+ <ref name="publisher"/>
1280
+ </zeroOrMore>
1281
+ <optional>
1282
+ <ref name="edition"/>
1283
+ </optional>
1284
+ <zeroOrMore>
1285
+ <ref name="biblioNote"/>
1286
+ </zeroOrMore>
1287
+ <zeroOrMore>
1288
+ <ref name="partOf"/>
1289
+ </zeroOrMore>
1290
+ <optional>
1291
+ <ref name="creationdate"/>
1292
+ </optional>
1293
+ <zeroOrMore>
1294
+ <ref name="language"/>
1295
+ </zeroOrMore>
1296
+ <zeroOrMore>
1297
+ <ref name="script"/>
1298
+ </zeroOrMore>
1299
+ <optional>
1300
+ <ref name="abstract"/>
1301
+ </optional>
1302
+ </define>
1303
+ <define name="bname">
1304
+ <element name="name">
1305
+ <text/>
1306
+ </element>
1307
+ </define>
1308
+ <define name="formatted">
1309
+ <element name="formatted">
1310
+ <oneOrMore>
1311
+ <ref name="TextElement"/>
1312
+ </oneOrMore>
1313
+ </element>
1314
+ </define>
1315
+ <define name="source">
1316
+ <element name="source">
1317
+ <data type="anyURI"/>
1318
+ </element>
1319
+ </define>
1320
+ <define name="publishdate">
1321
+ <element name="publishdate">
1322
+ <text/>
1323
+ </element>
1324
+ </define>
1325
+ <define name="docidentifier">
1326
+ <element name="docidentifier">
1327
+ <text/>
1328
+ </element>
1329
+ </define>
1330
+ <define name="accesseddate">
1331
+ <element name="accesseddate">
1332
+ <text/>
1333
+ </element>
1334
+ </define>
1335
+ <define name="creationdate">
1336
+ <element name="creationdate">
1337
+ <text/>
1338
+ </element>
1339
+ </define>
1340
+ <define name="abstract">
1341
+ <element name="abstract">
1342
+ <text/>
1343
+ </element>
1344
+ </define>
1345
+ <define name="biblioNote">
1346
+ <element name="note">
1347
+ <text/>
1348
+ </element>
1349
+ </define>
1350
+ <define name="partOf">
1351
+ <element name="partOf">
1352
+ <ref name="BibItemType"/>
1353
+ </element>
1354
+ </define>
1355
+ </grammar>