relaton-calconnect 0.6.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- require "relaton_iso_bib"
1
+ require "relaton_bib"
2
2
  require "relaton_calconnect/version"
3
3
  require "relaton_calconnect/cc_bibliography"
4
4
  require "relaton_calconnect/hit_collection"
@@ -1,5 +1,5 @@
1
1
  module RelatonCalconnect
2
- class CcBibliographicItem < RelatonIsoBib::IsoBibliographicItem
2
+ class CcBibliographicItem < RelatonBib::BibliographicItem
3
3
  TYPES = %w[
4
4
  directive guide specification standard report administrative amendment
5
5
  technical\ corrigendum advisory
@@ -1,5 +1,4 @@
1
1
  module RelatonCalconnect
2
- class HashConverter < RelatonIsoBib::HashConverter
3
-
2
+ class HashConverter < RelatonBib::HashConverter
4
3
  end
5
4
  end
@@ -1,3 +1,3 @@
1
1
  module RelatonCalconnect
2
- VERSION = "0.6.1"
2
+ VERSION = "1.2.0".freeze
3
3
  end
@@ -1,15 +1,11 @@
1
1
  module RelatonCalconnect
2
- class XMLParser < RelatonIsoBib::XMLParser
2
+ class XMLParser < RelatonBib::XMLParser
3
3
  class << self
4
- def from_xml(xml)
5
- doc = Nokogiri::XML xml
6
- doc.remove_namespaces!
7
- cctitem = doc.at("/bibitem|/bibdata")
8
- if cctitem
9
- CcBibliographicItem.new(item_data(cctitem))
10
- else
11
- warn "[relato-calconnect] can't find bibitem or bibdata element in the XML"
12
- end
4
+ # override RelatonBib::BibliographicItem.bib_item method
5
+ # @param item_hash [Hash]
6
+ # @return [RelatonIsoBib::IsoBibliographicItem]
7
+ def bib_item(item_hash)
8
+ CcBibliographicItem.new item_hash
13
9
  end
14
10
  end
15
11
  end
@@ -37,5 +37,5 @@ Gem::Specification.new do |spec|
37
37
  spec.add_development_dependency "webmock"
38
38
 
39
39
  spec.add_dependency "faraday"
40
- spec.add_dependency "relaton-iso-bib", "~> 0.8.0"
40
+ spec.add_dependency "relaton-bib", "~> 1.2.0"
41
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-calconnect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
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-02-26 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
@@ -151,19 +151,19 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: relaton-iso-bib
154
+ name: relaton-bib
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 0.8.0
159
+ version: 1.2.0
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 0.8.0
166
+ version: 1.2.0
167
167
  description: 'RelatonIso: retrieve CC Standards for bibliographic use using the IsoBibliographicItem
168
168
  model'
169
169
  email:
@@ -189,7 +189,6 @@ files:
189
189
  - grammars/biblio.rng
190
190
  - grammars/csd.rng
191
191
  - grammars/isodoc.rng
192
- - grammars/isostandard.rng
193
192
  - grammars/reqt.rng
194
193
  - lib/relaton_calconnect.rb
195
194
  - lib/relaton_calconnect/cc_bibliographic_item.rb
@@ -1,857 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <include href="isodoc.rng">
4
- <start>
5
- <ref name="iso-standard"/>
6
- </start>
7
- <define name="organization">
8
- <element name="organization">
9
- <oneOrMore>
10
- <ref name="orgname"/>
11
- </oneOrMore>
12
- <optional>
13
- <ref name="abbreviation"/>
14
- </optional>
15
- <optional>
16
- <ref name="uri"/>
17
- </optional>
18
- <zeroOrMore>
19
- <ref name="org-identifier"/>
20
- </zeroOrMore>
21
- <zeroOrMore>
22
- <ref name="contact"/>
23
- </zeroOrMore>
24
- <optional>
25
- <ref name="technical-committee"/>
26
- </optional>
27
- <optional>
28
- <ref name="subcommittee"/>
29
- </optional>
30
- <optional>
31
- <ref name="workgroup"/>
32
- </optional>
33
- <optional>
34
- <ref name="secretariat"/>
35
- </optional>
36
- </element>
37
- </define>
38
- <define name="BibDataExtensionType">
39
- <optional>
40
- <ref name="doctype"/>
41
- </optional>
42
- <ref name="editorialgroup"/>
43
- <zeroOrMore>
44
- <ref name="ics"/>
45
- </zeroOrMore>
46
- <ref name="structuredidentifier"/>
47
- </define>
48
- <define name="bdate">
49
- <element name="date">
50
- <attribute name="type">
51
- <choice>
52
- <ref name="BibliographicDateType"/>
53
- <text/>
54
- </choice>
55
- </attribute>
56
- <choice>
57
- <group>
58
- <element name="from">
59
- <ref name="ISO8601Date"/>
60
- </element>
61
- <optional>
62
- <element name="to">
63
- <ref name="ISO8601Date"/>
64
- </element>
65
- </optional>
66
- </group>
67
- <element name="on">
68
- <choice>
69
- <ref name="ISO8601Date"/>
70
- <value>--</value>
71
- </choice>
72
- </element>
73
- </choice>
74
- </element>
75
- </define>
76
- <define name="sections">
77
- <element name="sections">
78
- <ref name="clause"/>
79
- <choice>
80
- <ref name="term-clause"/>
81
- <ref name="terms"/>
82
- </choice>
83
- <optional>
84
- <ref name="definitions"/>
85
- </optional>
86
- <oneOrMore>
87
- <ref name="clause"/>
88
- </oneOrMore>
89
- </element>
90
- </define>
91
- <define name="Basic-Section">
92
- <optional>
93
- <attribute name="id">
94
- <data type="ID"/>
95
- </attribute>
96
- </optional>
97
- <optional>
98
- <attribute name="language"/>
99
- </optional>
100
- <optional>
101
- <attribute name="script"/>
102
- </optional>
103
- <optional>
104
- <attribute name="obligation">
105
- <choice>
106
- <value>normative</value>
107
- <value>informative</value>
108
- </choice>
109
- </attribute>
110
- </optional>
111
- <optional>
112
- <ref name="section-title"/>
113
- </optional>
114
- <group>
115
- <oneOrMore>
116
- <ref name="BasicBlock"/>
117
- </oneOrMore>
118
- <zeroOrMore>
119
- <ref name="note"/>
120
- </zeroOrMore>
121
- </group>
122
- </define>
123
- <define name="Content-Section">
124
- <optional>
125
- <attribute name="id">
126
- <data type="ID"/>
127
- </attribute>
128
- </optional>
129
- <optional>
130
- <attribute name="language"/>
131
- </optional>
132
- <optional>
133
- <attribute name="script"/>
134
- </optional>
135
- <optional>
136
- <attribute name="obligation">
137
- <choice>
138
- <value>normative</value>
139
- <value>informative</value>
140
- </choice>
141
- </attribute>
142
- </optional>
143
- <optional>
144
- <ref name="section-title"/>
145
- </optional>
146
- <choice>
147
- <group>
148
- <oneOrMore>
149
- <ref name="BasicBlock"/>
150
- </oneOrMore>
151
- <zeroOrMore>
152
- <ref name="note"/>
153
- </zeroOrMore>
154
- </group>
155
- <oneOrMore>
156
- <ref name="content-subsection"/>
157
- </oneOrMore>
158
- </choice>
159
- </define>
160
- <define name="Clause-Section">
161
- <optional>
162
- <attribute name="id">
163
- <data type="ID"/>
164
- </attribute>
165
- </optional>
166
- <optional>
167
- <attribute name="language"/>
168
- </optional>
169
- <optional>
170
- <attribute name="script"/>
171
- </optional>
172
- <optional>
173
- <attribute name="inline-header">
174
- <data type="boolean"/>
175
- </attribute>
176
- </optional>
177
- <optional>
178
- <attribute name="obligation">
179
- <choice>
180
- <value>normative</value>
181
- <value>informative</value>
182
- </choice>
183
- </attribute>
184
- </optional>
185
- <optional>
186
- <ref name="section-title"/>
187
- </optional>
188
- <choice>
189
- <group>
190
- <oneOrMore>
191
- <ref name="BasicBlock"/>
192
- </oneOrMore>
193
- <zeroOrMore>
194
- <ref name="note"/>
195
- </zeroOrMore>
196
- </group>
197
- <oneOrMore>
198
- <ref name="clause-subsection"/>
199
- </oneOrMore>
200
- </choice>
201
- </define>
202
- <define name="references">
203
- <element name="references">
204
- <optional>
205
- <attribute name="id">
206
- <data type="ID"/>
207
- </attribute>
208
- </optional>
209
- <optional>
210
- <attribute name="obligation">
211
- <choice>
212
- <value>normative</value>
213
- <value>informative</value>
214
- </choice>
215
- </attribute>
216
- </optional>
217
- <optional>
218
- <ref name="section-title"/>
219
- </optional>
220
- <zeroOrMore>
221
- <ref name="BasicBlock"/>
222
- </zeroOrMore>
223
- <zeroOrMore>
224
- <ref name="bibitem"/>
225
- <zeroOrMore>
226
- <ref name="note"/>
227
- </zeroOrMore>
228
- </zeroOrMore>
229
- <zeroOrMore>
230
- <ref name="references"/>
231
- </zeroOrMore>
232
- </element>
233
- </define>
234
- <define name="definitions">
235
- <element name="definitions">
236
- <optional>
237
- <attribute name="id">
238
- <data type="ID"/>
239
- </attribute>
240
- </optional>
241
- <optional>
242
- <attribute name="language"/>
243
- </optional>
244
- <optional>
245
- <attribute name="script"/>
246
- </optional>
247
- <optional>
248
- <attribute name="obligation">
249
- <choice>
250
- <value>normative</value>
251
- <value>informative</value>
252
- </choice>
253
- </attribute>
254
- </optional>
255
- <zeroOrMore>
256
- <ref name="BasicBlock"/>
257
- </zeroOrMore>
258
- <ref name="dl"/>
259
- </element>
260
- </define>
261
- <define name="terms">
262
- <element name="terms">
263
- <optional>
264
- <attribute name="id">
265
- <data type="ID"/>
266
- </attribute>
267
- </optional>
268
- <optional>
269
- <attribute name="language"/>
270
- </optional>
271
- <optional>
272
- <attribute name="script"/>
273
- </optional>
274
- <optional>
275
- <attribute name="obligation">
276
- <choice>
277
- <value>normative</value>
278
- <value>informative</value>
279
- </choice>
280
- </attribute>
281
- </optional>
282
- <optional>
283
- <ref name="section-title"/>
284
- </optional>
285
- <zeroOrMore>
286
- <ref name="BasicBlock"/>
287
- </zeroOrMore>
288
- <choice>
289
- <oneOrMore>
290
- <ref name="term"/>
291
- </oneOrMore>
292
- <group>
293
- <zeroOrMore>
294
- <ref name="terms"/>
295
- </zeroOrMore>
296
- <optional>
297
- <ref name="definitions"/>
298
- </optional>
299
- </group>
300
- </choice>
301
- </element>
302
- </define>
303
- <define name="term">
304
- <element name="term">
305
- <optional>
306
- <attribute name="id">
307
- <data type="ID"/>
308
- </attribute>
309
- </optional>
310
- <ref name="preferred"/>
311
- <zeroOrMore>
312
- <ref name="admitted"/>
313
- </zeroOrMore>
314
- <zeroOrMore>
315
- <ref name="deprecates"/>
316
- </zeroOrMore>
317
- <optional>
318
- <ref name="termdomain"/>
319
- </optional>
320
- <ref name="definition"/>
321
- <zeroOrMore>
322
- <ref name="termnote"/>
323
- </zeroOrMore>
324
- <zeroOrMore>
325
- <ref name="termexample"/>
326
- </zeroOrMore>
327
- <zeroOrMore>
328
- <ref name="termsource"/>
329
- </zeroOrMore>
330
- </element>
331
- </define>
332
- <define name="definition">
333
- <element name="definition">
334
- <oneOrMore>
335
- <choice>
336
- <ref name="paragraph"/>
337
- <ref name="figure"/>
338
- <ref name="formula"/>
339
- </choice>
340
- </oneOrMore>
341
- </element>
342
- </define>
343
- <define name="annex">
344
- <element name="annex">
345
- <optional>
346
- <attribute name="id">
347
- <data type="ID"/>
348
- </attribute>
349
- </optional>
350
- <optional>
351
- <attribute name="language"/>
352
- </optional>
353
- <optional>
354
- <attribute name="script"/>
355
- </optional>
356
- <optional>
357
- <attribute name="inline-header">
358
- <data type="boolean"/>
359
- </attribute>
360
- </optional>
361
- <optional>
362
- <attribute name="obligation">
363
- <choice>
364
- <value>normative</value>
365
- <value>informative</value>
366
- </choice>
367
- </attribute>
368
- </optional>
369
- <optional>
370
- <ref name="section-title"/>
371
- </optional>
372
- <zeroOrMore>
373
- <!--
374
- allow hanging paragraps in annexes: they introduce lists
375
- ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | figure | quote | sourcecode | review | example )*,
376
- -->
377
- <ref name="BasicBlock"/>
378
- </zeroOrMore>
379
- <zeroOrMore>
380
- <ref name="note"/>
381
- </zeroOrMore>
382
- <zeroOrMore>
383
- <ref name="clause-hanging-paragraph-with-footnote"/>
384
- </zeroOrMore>
385
- <zeroOrMore>
386
- <ref name="annex-appendix"/>
387
- </zeroOrMore>
388
- </element>
389
- </define>
390
- <define name="figure">
391
- <element name="figure">
392
- <attribute name="id">
393
- <data type="ID"/>
394
- </attribute>
395
- <optional>
396
- <ref name="tname"/>
397
- </optional>
398
- <choice>
399
- <ref name="image"/>
400
- <oneOrMore>
401
- <ref name="subfigure"/>
402
- </oneOrMore>
403
- </choice>
404
- <zeroOrMore>
405
- <ref name="fn"/>
406
- </zeroOrMore>
407
- <optional>
408
- <ref name="dl"/>
409
- </optional>
410
- <zeroOrMore>
411
- <ref name="note"/>
412
- </zeroOrMore>
413
- </element>
414
- </define>
415
- <define name="li">
416
- <element name="li">
417
- <group>
418
- <optional>
419
- <!-- ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )+ -->
420
- <attribute name="id">
421
- <data type="ID"/>
422
- </attribute>
423
- </optional>
424
- <oneOrMore>
425
- <ref name="BasicBlock"/>
426
- </oneOrMore>
427
- </group>
428
- <!-- exclude figures? -->
429
- </element>
430
- </define>
431
- <define name="dd">
432
- <element name="dd">
433
- <zeroOrMore>
434
- <!--
435
- ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )*
436
- exclude figures?
437
- -->
438
- <ref name="BasicBlock"/>
439
- </zeroOrMore>
440
- </element>
441
- </define>
442
- <define name="admonition">
443
- <element name="admonition">
444
- <attribute name="id">
445
- <data type="ID"/>
446
- </attribute>
447
- <attribute name="type">
448
- <choice>
449
- <value>danger</value>
450
- <value>caution</value>
451
- <value>warning</value>
452
- <value>important</value>
453
- <value>safety precautions</value>
454
- </choice>
455
- </attribute>
456
- <oneOrMore>
457
- <ref name="paragraph-with-footnote"/>
458
- </oneOrMore>
459
- <zeroOrMore>
460
- <ref name="note"/>
461
- </zeroOrMore>
462
- </element>
463
- </define>
464
- <define name="xref">
465
- <element name="xref">
466
- <attribute name="target">
467
- <data type="IDREF"/>
468
- </attribute>
469
- <text/>
470
- </element>
471
- </define>
472
- <define name="hyperlink">
473
- <element name="link">
474
- <attribute name="target">
475
- <data type="anyURI"/>
476
- </attribute>
477
- <text/>
478
- </element>
479
- </define>
480
- <define name="thead">
481
- <element name="thead">
482
- <oneOrMore>
483
- <ref name="tr"/>
484
- </oneOrMore>
485
- </element>
486
- </define>
487
- <define name="td">
488
- <element name="td">
489
- <optional>
490
- <attribute name="colspan"/>
491
- </optional>
492
- <optional>
493
- <attribute name="rowspan"/>
494
- </optional>
495
- <optional>
496
- <attribute name="align">
497
- <choice>
498
- <value>left</value>
499
- <value>right</value>
500
- <value>center</value>
501
- </choice>
502
- </attribute>
503
- </optional>
504
- <choice>
505
- <zeroOrMore>
506
- <choice>
507
- <ref name="TextElement"/>
508
- <ref name="fn"/>
509
- </choice>
510
- </zeroOrMore>
511
- <oneOrMore>
512
- <ref name="paragraph-with-footnote"/>
513
- </oneOrMore>
514
- </choice>
515
- </element>
516
- </define>
517
- <define name="th">
518
- <element name="th">
519
- <optional>
520
- <attribute name="colspan"/>
521
- </optional>
522
- <optional>
523
- <attribute name="rowspan"/>
524
- </optional>
525
- <optional>
526
- <attribute name="align">
527
- <choice>
528
- <value>left</value>
529
- <value>right</value>
530
- <value>center</value>
531
- </choice>
532
- </attribute>
533
- </optional>
534
- <choice>
535
- <zeroOrMore>
536
- <choice>
537
- <ref name="TextElement"/>
538
- <ref name="fn"/>
539
- </choice>
540
- </zeroOrMore>
541
- <oneOrMore>
542
- <ref name="paragraph-with-footnote"/>
543
- </oneOrMore>
544
- </choice>
545
- </element>
546
- </define>
547
- <define name="table-note">
548
- <element name="note">
549
- <optional>
550
- <attribute name="id">
551
- <data type="ID"/>
552
- </attribute>
553
- </optional>
554
- <ref name="paragraph"/>
555
- </element>
556
- </define>
557
- <define name="preface">
558
- <element name="preface">
559
- <optional>
560
- <ref name="preface_abstract"/>
561
- </optional>
562
- <ref name="foreword"/>
563
- <optional>
564
- <ref name="introduction"/>
565
- </optional>
566
- </element>
567
- </define>
568
- <define name="DocumentType">
569
- <choice>
570
- <value>international-standard</value>
571
- <value>technical-specification</value>
572
- <value>technical-report</value>
573
- <value>publicly-available-specification</value>
574
- <value>international-workshop-agreement</value>
575
- <value>guide</value>
576
- </choice>
577
- </define>
578
- <define name="structuredidentifier">
579
- <element name="structuredidentifier">
580
- <optional>
581
- <attribute name="type"/>
582
- </optional>
583
- <group>
584
- <ref name="documentnumber"/>
585
- <optional>
586
- <ref name="tc-documentnumber"/>
587
- </optional>
588
- </group>
589
- </element>
590
- </define>
591
- <define name="foreword">
592
- <element name="foreword">
593
- <ref name="Basic-Section"/>
594
- </element>
595
- </define>
596
- <define name="introduction">
597
- <element name="introduction">
598
- <ref name="Content-Section"/>
599
- </element>
600
- </define>
601
- </include>
602
- <!-- end overrides -->
603
- <!--
604
- We display the Normative References between scope and terms; but to keep the
605
- grammar simple, we keep the references together
606
- -->
607
- <define name="iso-standard">
608
- <element name="iso-standard">
609
- <ref name="bibdata"/>
610
- <zeroOrMore>
611
- <ref name="termdocsource"/>
612
- </zeroOrMore>
613
- <optional>
614
- <ref name="boilerplate"/>
615
- </optional>
616
- <ref name="preface"/>
617
- <oneOrMore>
618
- <ref name="sections"/>
619
- </oneOrMore>
620
- <zeroOrMore>
621
- <ref name="annex"/>
622
- </zeroOrMore>
623
- <ref name="bibliography"/>
624
- </element>
625
- </define>
626
- <define name="bibliography">
627
- <element name="bibliography">
628
- <oneOrMore>
629
- <choice>
630
- <ref name="references"/>
631
- <ref name="reference-clause"/>
632
- </choice>
633
- </oneOrMore>
634
- </element>
635
- </define>
636
- <define name="editorialgroup">
637
- <element name="editorialgroup">
638
- <oneOrMore>
639
- <ref name="technical-committee"/>
640
- </oneOrMore>
641
- <zeroOrMore>
642
- <ref name="subcommittee"/>
643
- </zeroOrMore>
644
- <zeroOrMore>
645
- <ref name="workgroup"/>
646
- </zeroOrMore>
647
- <optional>
648
- <ref name="secretariat"/>
649
- </optional>
650
- </element>
651
- </define>
652
- <define name="preface_abstract">
653
- <element name="abstract">
654
- <ref name="Basic-Section"/>
655
- </element>
656
- </define>
657
- <define name="documentnumber">
658
- <element name="project-number">
659
- <optional>
660
- <attribute name="part">
661
- <data type="int"/>
662
- </attribute>
663
- </optional>
664
- <optional>
665
- <attribute name="subpart">
666
- <data type="int"/>
667
- </attribute>
668
- </optional>
669
- <text/>
670
- </element>
671
- </define>
672
- <define name="tc-documentnumber">
673
- <element name="tc-document-number">
674
- <data type="int"/>
675
- </element>
676
- </define>
677
- <define name="technical-committee">
678
- <element name="technical-committee">
679
- <ref name="IsoWorkgroup"/>
680
- </element>
681
- </define>
682
- <define name="subcommittee">
683
- <element name="subcommittee">
684
- <ref name="IsoWorkgroup"/>
685
- </element>
686
- </define>
687
- <define name="workgroup">
688
- <element name="workgroup">
689
- <ref name="IsoWorkgroup"/>
690
- </element>
691
- </define>
692
- <define name="IsoWorkgroup">
693
- <optional>
694
- <attribute name="number">
695
- <data type="int"/>
696
- </attribute>
697
- </optional>
698
- <optional>
699
- <attribute name="type"/>
700
- </optional>
701
- <text/>
702
- </define>
703
- <define name="secretariat">
704
- <element name="secretariat">
705
- <text/>
706
- </element>
707
- </define>
708
- <define name="clause-hanging-paragraph-with-footnote">
709
- <element name="clause">
710
- <optional>
711
- <attribute name="id">
712
- <data type="ID"/>
713
- </attribute>
714
- </optional>
715
- <optional>
716
- <attribute name="language"/>
717
- </optional>
718
- <optional>
719
- <attribute name="script"/>
720
- </optional>
721
- <optional>
722
- <attribute name="inline-header">
723
- <data type="boolean"/>
724
- </attribute>
725
- </optional>
726
- <optional>
727
- <attribute name="obligation">
728
- <choice>
729
- <value>normative</value>
730
- <value>informative</value>
731
- </choice>
732
- </attribute>
733
- </optional>
734
- <optional>
735
- <ref name="section-title"/>
736
- </optional>
737
- <zeroOrMore>
738
- <!-- allow hanging paragraphs in annexes: they introduce lists -->
739
- <ref name="BasicBlock"/>
740
- </zeroOrMore>
741
- <zeroOrMore>
742
- <ref name="note"/>
743
- </zeroOrMore>
744
- <zeroOrMore>
745
- <ref name="clause-hanging-paragraph-with-footnote"/>
746
- </zeroOrMore>
747
- </element>
748
- </define>
749
- <define name="subfigure">
750
- <element name="figure">
751
- <attribute name="id">
752
- <data type="ID"/>
753
- </attribute>
754
- <optional>
755
- <ref name="tname"/>
756
- </optional>
757
- <ref name="image"/>
758
- </element>
759
- </define>
760
- <define name="termdocsource">
761
- <element name="termdocsource">
762
- <ref name="CitationType"/>
763
- </element>
764
- </define>
765
- <define name="ics">
766
- <element name="ics">
767
- <element name="code">
768
- <text/>
769
- </element>
770
- <element name="text">
771
- <text/>
772
- </element>
773
- </element>
774
- </define>
775
- <define name="term-clause">
776
- <element name="clause">
777
- <optional>
778
- <attribute name="id">
779
- <data type="ID"/>
780
- </attribute>
781
- </optional>
782
- <optional>
783
- <attribute name="language"/>
784
- </optional>
785
- <optional>
786
- <attribute name="script"/>
787
- </optional>
788
- <optional>
789
- <attribute name="inline-header">
790
- <data type="boolean"/>
791
- </attribute>
792
- </optional>
793
- <optional>
794
- <attribute name="obligation">
795
- <choice>
796
- <value>normative</value>
797
- <value>informative</value>
798
- </choice>
799
- </attribute>
800
- </optional>
801
- <optional>
802
- <ref name="section-title"/>
803
- </optional>
804
- <zeroOrMore>
805
- <choice>
806
- <ref name="term-clause"/>
807
- <ref name="terms"/>
808
- <ref name="definitions"/>
809
- </choice>
810
- </zeroOrMore>
811
- </element>
812
- </define>
813
- <define name="reference-clause">
814
- <element name="clause">
815
- <optional>
816
- <attribute name="id">
817
- <data type="ID"/>
818
- </attribute>
819
- </optional>
820
- <optional>
821
- <attribute name="language"/>
822
- </optional>
823
- <optional>
824
- <attribute name="script"/>
825
- </optional>
826
- <optional>
827
- <attribute name="inline-header">
828
- <data type="boolean"/>
829
- </attribute>
830
- </optional>
831
- <optional>
832
- <attribute name="obligation">
833
- <choice>
834
- <value>normative</value>
835
- <value>informative</value>
836
- </choice>
837
- </attribute>
838
- </optional>
839
- <optional>
840
- <ref name="section-title"/>
841
- </optional>
842
- <choice>
843
- <oneOrMore>
844
- <ref name="reference-clause"/>
845
- </oneOrMore>
846
- <zeroOrMore>
847
- <ref name="references"/>
848
- </zeroOrMore>
849
- </choice>
850
- </element>
851
- </define>
852
- <define name="annex-appendix">
853
- <element name="appendix">
854
- <ref name="Clause-Section"/>
855
- </element>
856
- </define>
857
- </grammar>