relaton-iec 1.7.8 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +1 -11
  3. data/.rubocop.yml +3 -1
  4. data/README.adoc +23 -0
  5. data/grammars/basicdoc.rng +191 -27
  6. data/grammars/biblio.rng +12 -11
  7. data/grammars/iec.rng +144 -1
  8. data/grammars/isodoc.rng +1156 -112
  9. data/grammars/isostandard.rng +69 -115
  10. data/grammars/reqt.rng +65 -7
  11. data/lib/relaton_iec/basic_block/alignment.rb +30 -0
  12. data/lib/relaton_iec/basic_block/basic_block.rb +15 -0
  13. data/lib/relaton_iec/basic_block/citation_type.rb +32 -0
  14. data/lib/relaton_iec/basic_block/dl.rb +60 -0
  15. data/lib/relaton_iec/basic_block/eref.rb +10 -0
  16. data/lib/relaton_iec/basic_block/eref_type.rb +39 -0
  17. data/lib/relaton_iec/basic_block/formula.rb +34 -0
  18. data/lib/relaton_iec/basic_block/image.rb +41 -0
  19. data/lib/relaton_iec/basic_block/index.rb +27 -0
  20. data/lib/relaton_iec/basic_block/index_xref.rb +31 -0
  21. data/lib/relaton_iec/basic_block/note.rb +21 -0
  22. data/lib/relaton_iec/basic_block/paragraph.rb +27 -0
  23. data/lib/relaton_iec/basic_block/paragraph_with_footnote.rb +29 -0
  24. data/lib/relaton_iec/basic_block/reference_format.rb +38 -0
  25. data/lib/relaton_iec/basic_block/stem.rb +30 -0
  26. data/lib/relaton_iec/basic_block/table.rb +115 -0
  27. data/lib/relaton_iec/basic_block/text_element.rb +27 -0
  28. data/lib/relaton_iec/hit_collection.rb +1 -1
  29. data/lib/relaton_iec/iec_bibliographic_item.rb +86 -1
  30. data/lib/relaton_iec/scrapper.rb +18 -17
  31. data/lib/relaton_iec/tc_sc_officers_note.rb +24 -0
  32. data/lib/relaton_iec/version.rb +1 -1
  33. data/lib/relaton_iec/xml_parser.rb +20 -0
  34. data/relaton_iec.gemspec +2 -4
  35. metadata +23 -5
data/grammars/isodoc.rng CHANGED
@@ -17,7 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
20
+ <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
21
21
  <include href="reqt.rng"/>
22
22
  <!-- include "biblio.rnc" { } -->
23
23
  <include href="basicdoc.rng">
@@ -32,6 +32,68 @@
32
32
  <ref name="DocumentType"/>
33
33
  </element>
34
34
  </define>
35
+ <define name="index">
36
+ <element name="index">
37
+ <optional>
38
+ <attribute name="to">
39
+ <data type="IDREF"/>
40
+ </attribute>
41
+ </optional>
42
+ <element name="primary">
43
+ <oneOrMore>
44
+ <choice>
45
+ <ref name="PureTextElement"/>
46
+ <ref name="stem"/>
47
+ </choice>
48
+ </oneOrMore>
49
+ </element>
50
+ <optional>
51
+ <element name="secondary">
52
+ <oneOrMore>
53
+ <choice>
54
+ <ref name="PureTextElement"/>
55
+ <ref name="stem"/>
56
+ </choice>
57
+ </oneOrMore>
58
+ </element>
59
+ </optional>
60
+ <optional>
61
+ <element name="tertiary">
62
+ <oneOrMore>
63
+ <choice>
64
+ <ref name="PureTextElement"/>
65
+ <ref name="stem"/>
66
+ </choice>
67
+ </oneOrMore>
68
+ </element>
69
+ </optional>
70
+ </element>
71
+ </define>
72
+ <define name="bibitem">
73
+ <element name="bibitem">
74
+ <attribute name="id">
75
+ <data type="ID"/>
76
+ </attribute>
77
+ <optional>
78
+ <attribute name="hidden">
79
+ <data type="boolean"/>
80
+ </attribute>
81
+ </optional>
82
+ <ref name="BibliographicItem"/>
83
+ </element>
84
+ </define>
85
+ <define name="section-title">
86
+ <element name="title">
87
+ <zeroOrMore>
88
+ <ref name="TextElement"/>
89
+ </zeroOrMore>
90
+ </element>
91
+ <zeroOrMore>
92
+ <element name="variant-title">
93
+ <ref name="TypedTitleString"/>
94
+ </element>
95
+ </zeroOrMore>
96
+ </define>
35
97
  <define name="hyperlink">
36
98
  <element name="link">
37
99
  <attribute name="target">
@@ -45,7 +107,14 @@
45
107
  <optional>
46
108
  <attribute name="alt"/>
47
109
  </optional>
48
- <text/>
110
+ <optional>
111
+ <attribute name="update-type">
112
+ <data type="boolean"/>
113
+ </attribute>
114
+ </optional>
115
+ <oneOrMore>
116
+ <ref name="PureTextElement"/>
117
+ </oneOrMore>
49
118
  </element>
50
119
  </define>
51
120
  <define name="xref">
@@ -55,6 +124,13 @@
55
124
  <param name="pattern">\i\c*|\c+#\c+</param>
56
125
  </data>
57
126
  </attribute>
127
+ <optional>
128
+ <attribute name="to">
129
+ <data type="string">
130
+ <param name="pattern">\i\c*|\c+#\c+</param>
131
+ </data>
132
+ </attribute>
133
+ </optional>
58
134
  <optional>
59
135
  <attribute name="type">
60
136
  <ref name="ReferenceFormat"/>
@@ -76,9 +152,42 @@
76
152
  <data type="boolean"/>
77
153
  </attribute>
78
154
  </optional>
79
- <text/>
155
+ <oneOrMore>
156
+ <ref name="PureTextElement"/>
157
+ </oneOrMore>
80
158
  </element>
81
159
  </define>
160
+ <define name="erefType">
161
+ <optional>
162
+ <attribute name="normative">
163
+ <data type="boolean"/>
164
+ </attribute>
165
+ </optional>
166
+ <attribute name="citeas"/>
167
+ <attribute name="type">
168
+ <ref name="ReferenceFormat"/>
169
+ </attribute>
170
+ <optional>
171
+ <attribute name="alt"/>
172
+ </optional>
173
+ <optional>
174
+ <attribute name="case">
175
+ <choice>
176
+ <value>capital</value>
177
+ <value>lowercase</value>
178
+ </choice>
179
+ </attribute>
180
+ </optional>
181
+ <optional>
182
+ <attribute name="droploc">
183
+ <data type="boolean"/>
184
+ </attribute>
185
+ </optional>
186
+ <ref name="CitationType"/>
187
+ <oneOrMore>
188
+ <ref name="PureTextElement"/>
189
+ </oneOrMore>
190
+ </define>
82
191
  <define name="ul">
83
192
  <element name="ul">
84
193
  <attribute name="id">
@@ -94,8 +203,16 @@
94
203
  <data type="boolean"/>
95
204
  </attribute>
96
205
  </optional>
206
+ <optional>
207
+ <attribute name="tag"/>
208
+ </optional>
209
+ <optional>
210
+ <attribute name="multilingual-rendering">
211
+ <ref name="MultilingualRenderingType"/>
212
+ </attribute>
213
+ </optional>
97
214
  <oneOrMore>
98
- <ref name="li"/>
215
+ <ref name="ul_li"/>
99
216
  </oneOrMore>
100
217
  <zeroOrMore>
101
218
  <ref name="note"/>
@@ -117,15 +234,25 @@
117
234
  <data type="boolean"/>
118
235
  </attribute>
119
236
  </optional>
120
- <attribute name="type">
121
- <choice>
122
- <value>roman</value>
123
- <value>alphabet</value>
124
- <value>arabic</value>
125
- <value>roman_upper</value>
126
- <value>alphabet_upper</value>
127
- </choice>
128
- </attribute>
237
+ <optional>
238
+ <attribute name="tag"/>
239
+ </optional>
240
+ <optional>
241
+ <attribute name="multilingual-rendering">
242
+ <ref name="MultilingualRenderingType"/>
243
+ </attribute>
244
+ </optional>
245
+ <optional>
246
+ <attribute name="type">
247
+ <choice>
248
+ <value>roman</value>
249
+ <value>alphabet</value>
250
+ <value>arabic</value>
251
+ <value>roman_upper</value>
252
+ <value>alphabet_upper</value>
253
+ </choice>
254
+ </attribute>
255
+ </optional>
129
256
  <oneOrMore>
130
257
  <ref name="li"/>
131
258
  </oneOrMore>
@@ -154,6 +281,14 @@
154
281
  <data type="boolean"/>
155
282
  </attribute>
156
283
  </optional>
284
+ <optional>
285
+ <attribute name="tag"/>
286
+ </optional>
287
+ <optional>
288
+ <attribute name="multilingual-rendering">
289
+ <ref name="MultilingualRenderingType"/>
290
+ </attribute>
291
+ </optional>
157
292
  <oneOrMore>
158
293
  <ref name="dt"/>
159
294
  <ref name="dd"/>
@@ -163,6 +298,18 @@
163
298
  </zeroOrMore>
164
299
  </element>
165
300
  </define>
301
+ <define name="dt">
302
+ <element name="dt">
303
+ <optional>
304
+ <attribute name="id">
305
+ <data type="ID"/>
306
+ </attribute>
307
+ </optional>
308
+ <zeroOrMore>
309
+ <ref name="TextElement"/>
310
+ </zeroOrMore>
311
+ </element>
312
+ </define>
166
313
  <define name="example">
167
314
  <element name="example">
168
315
  <attribute name="id">
@@ -189,6 +336,14 @@
189
336
  <data type="boolean"/>
190
337
  </attribute>
191
338
  </optional>
339
+ <optional>
340
+ <attribute name="tag"/>
341
+ </optional>
342
+ <optional>
343
+ <attribute name="multilingual-rendering">
344
+ <ref name="MultilingualRenderingType"/>
345
+ </attribute>
346
+ </optional>
192
347
  <optional>
193
348
  <ref name="tname"/>
194
349
  </optional>
@@ -246,6 +401,20 @@
246
401
  <data type="boolean"/>
247
402
  </attribute>
248
403
  </optional>
404
+ <optional>
405
+ <attribute name="width"/>
406
+ </optional>
407
+ <optional>
408
+ <attribute name="tag"/>
409
+ </optional>
410
+ <optional>
411
+ <attribute name="multilingual-rendering">
412
+ <ref name="MultilingualRenderingType"/>
413
+ </attribute>
414
+ </optional>
415
+ <optional>
416
+ <ref name="colgroup"/>
417
+ </optional>
249
418
  <optional>
250
419
  <ref name="tname"/>
251
420
  </optional>
@@ -293,6 +462,14 @@
293
462
  <optional>
294
463
  <attribute name="class"/>
295
464
  </optional>
465
+ <optional>
466
+ <attribute name="tag"/>
467
+ </optional>
468
+ <optional>
469
+ <attribute name="multilingual-rendering">
470
+ <ref name="MultilingualRenderingType"/>
471
+ </attribute>
472
+ </optional>
296
473
  <optional>
297
474
  <ref name="source"/>
298
475
  </optional>
@@ -351,6 +528,14 @@
351
528
  <optional>
352
529
  <attribute name="lang"/>
353
530
  </optional>
531
+ <optional>
532
+ <attribute name="tag"/>
533
+ </optional>
534
+ <optional>
535
+ <attribute name="multilingual-rendering">
536
+ <ref name="MultilingualRenderingType"/>
537
+ </attribute>
538
+ </optional>
354
539
  <optional>
355
540
  <ref name="tname"/>
356
541
  </optional>
@@ -399,6 +584,14 @@
399
584
  <data type="boolean"/>
400
585
  </attribute>
401
586
  </optional>
587
+ <optional>
588
+ <attribute name="tag"/>
589
+ </optional>
590
+ <optional>
591
+ <attribute name="multilingual-rendering">
592
+ <ref name="MultilingualRenderingType"/>
593
+ </attribute>
594
+ </optional>
402
595
  <ref name="stem"/>
403
596
  <optional>
404
597
  <ref name="dl"/>
@@ -427,6 +620,14 @@
427
620
  <data type="boolean"/>
428
621
  </attribute>
429
622
  </optional>
623
+ <optional>
624
+ <attribute name="tag"/>
625
+ </optional>
626
+ <optional>
627
+ <attribute name="multilingual-rendering">
628
+ <ref name="MultilingualRenderingType"/>
629
+ </attribute>
630
+ </optional>
430
631
  <zeroOrMore>
431
632
  <ref name="TextElement"/>
432
633
  </zeroOrMore>
@@ -454,6 +655,14 @@
454
655
  <data type="boolean"/>
455
656
  </attribute>
456
657
  </optional>
658
+ <optional>
659
+ <attribute name="tag"/>
660
+ </optional>
661
+ <optional>
662
+ <attribute name="multilingual-rendering">
663
+ <ref name="MultilingualRenderingType"/>
664
+ </attribute>
665
+ </optional>
457
666
  <zeroOrMore>
458
667
  <choice>
459
668
  <ref name="TextElement"/>
@@ -485,6 +694,14 @@
485
694
  <data type="boolean"/>
486
695
  </attribute>
487
696
  </optional>
697
+ <optional>
698
+ <attribute name="tag"/>
699
+ </optional>
700
+ <optional>
701
+ <attribute name="multilingual-rendering">
702
+ <ref name="MultilingualRenderingType"/>
703
+ </attribute>
704
+ </optional>
488
705
  <optional>
489
706
  <ref name="quote-source"/>
490
707
  </optional>
@@ -501,6 +718,9 @@
501
718
  </define>
502
719
  <define name="BibDataExtensionType">
503
720
  <ref name="doctype"/>
721
+ <optional>
722
+ <ref name="docsubtype"/>
723
+ </optional>
504
724
  <optional>
505
725
  <ref name="editorialgroup"/>
506
726
  </optional>
@@ -520,6 +740,7 @@
520
740
  <ref name="terms"/>
521
741
  <ref name="term-clause"/>
522
742
  <ref name="definitions"/>
743
+ <ref name="floating-title"/>
523
744
  </choice>
524
745
  </oneOrMore>
525
746
  </element>
@@ -548,9 +769,6 @@
548
769
  <zeroOrMore>
549
770
  <ref name="BasicBlock"/>
550
771
  </zeroOrMore>
551
- <zeroOrMore>
552
- <ref name="note"/>
553
- </zeroOrMore>
554
772
  <zeroOrMore>
555
773
  <ref name="bibitem"/>
556
774
  <zeroOrMore>
@@ -591,6 +809,14 @@
591
809
  <optional>
592
810
  <attribute name="type"/>
593
811
  </optional>
812
+ <optional>
813
+ <attribute name="tag"/>
814
+ </optional>
815
+ <optional>
816
+ <attribute name="multilingual-rendering">
817
+ <ref name="MultilingualRenderingType"/>
818
+ </attribute>
819
+ </optional>
594
820
  <oneOrMore>
595
821
  <choice>
596
822
  <ref name="paragraph"/>
@@ -627,14 +853,9 @@
627
853
  <optional>
628
854
  <ref name="section-title"/>
629
855
  </optional>
630
- <group>
631
- <oneOrMore>
632
- <ref name="BasicBlock"/>
633
- </oneOrMore>
634
- <zeroOrMore>
635
- <ref name="note"/>
636
- </zeroOrMore>
637
- </group>
856
+ <oneOrMore>
857
+ <ref name="BasicBlock"/>
858
+ </oneOrMore>
638
859
  </define>
639
860
  <define name="li">
640
861
  <element name="li">
@@ -762,29 +983,428 @@
762
983
  <ref name="paragraph"/>
763
984
  </element>
764
985
  </define>
986
+ <define name="em">
987
+ <element name="em">
988
+ <zeroOrMore>
989
+ <choice>
990
+ <ref name="PureTextElement"/>
991
+ <ref name="stem"/>
992
+ <ref name="index"/>
993
+ <ref name="eref"/>
994
+ <ref name="xref"/>
995
+ <ref name="hyperlink"/>
996
+ </choice>
997
+ </zeroOrMore>
998
+ </element>
999
+ </define>
1000
+ <define name="strong">
1001
+ <element name="strong">
1002
+ <zeroOrMore>
1003
+ <choice>
1004
+ <ref name="PureTextElement"/>
1005
+ <ref name="stem"/>
1006
+ <ref name="index"/>
1007
+ <ref name="eref"/>
1008
+ <ref name="xref"/>
1009
+ <ref name="hyperlink"/>
1010
+ </choice>
1011
+ </zeroOrMore>
1012
+ </element>
1013
+ </define>
1014
+ <define name="tt">
1015
+ <element name="tt">
1016
+ <zeroOrMore>
1017
+ <choice>
1018
+ <ref name="PureTextElement"/>
1019
+ <ref name="index"/>
1020
+ <ref name="eref"/>
1021
+ <ref name="xref"/>
1022
+ <ref name="hyperlink"/>
1023
+ </choice>
1024
+ </zeroOrMore>
1025
+ </element>
1026
+ </define>
1027
+ <define name="keyword">
1028
+ <element name="keyword">
1029
+ <zeroOrMore>
1030
+ <choice>
1031
+ <ref name="PureTextElement"/>
1032
+ <ref name="index"/>
1033
+ </choice>
1034
+ </zeroOrMore>
1035
+ </element>
1036
+ </define>
1037
+ <define name="strike">
1038
+ <element name="strike">
1039
+ <zeroOrMore>
1040
+ <choice>
1041
+ <ref name="PureTextElement"/>
1042
+ <ref name="index"/>
1043
+ </choice>
1044
+ </zeroOrMore>
1045
+ </element>
1046
+ </define>
1047
+ <define name="underline">
1048
+ <element name="underline">
1049
+ <zeroOrMore>
1050
+ <choice>
1051
+ <ref name="PureTextElement"/>
1052
+ <ref name="index"/>
1053
+ </choice>
1054
+ </zeroOrMore>
1055
+ </element>
1056
+ </define>
1057
+ <define name="smallcap">
1058
+ <element name="smallcap">
1059
+ <zeroOrMore>
1060
+ <choice>
1061
+ <ref name="PureTextElement"/>
1062
+ <ref name="index"/>
1063
+ </choice>
1064
+ </zeroOrMore>
1065
+ </element>
1066
+ </define>
1067
+ <define name="sub">
1068
+ <element name="sub">
1069
+ <zeroOrMore>
1070
+ <choice>
1071
+ <ref name="PureTextElement"/>
1072
+ <ref name="stem"/>
1073
+ </choice>
1074
+ </zeroOrMore>
1075
+ </element>
1076
+ </define>
1077
+ <define name="sup">
1078
+ <element name="sup">
1079
+ <zeroOrMore>
1080
+ <choice>
1081
+ <ref name="PureTextElement"/>
1082
+ <ref name="stem"/>
1083
+ </choice>
1084
+ </zeroOrMore>
1085
+ </element>
1086
+ </define>
1087
+ <define name="pagebreak">
1088
+ <element name="pagebreak">
1089
+ <optional>
1090
+ <attribute name="orientation">
1091
+ <choice>
1092
+ <value>landscape</value>
1093
+ <value>portrait</value>
1094
+ </choice>
1095
+ </attribute>
1096
+ </optional>
1097
+ </element>
1098
+ </define>
765
1099
  </include>
766
1100
  <!-- end overrides -->
1101
+ <define name="MultilingualRenderingType">
1102
+ <choice>
1103
+ <value>common</value>
1104
+ <value>all-columns</value>
1105
+ <value>parallel</value>
1106
+ <value>tag</value>
1107
+ </choice>
1108
+ </define>
1109
+ <define name="docsubtype">
1110
+ <element name="subdoctype">
1111
+ <ref name="DocumentSubtype"/>
1112
+ </element>
1113
+ </define>
1114
+ <define name="DocumentSubtype">
1115
+ <text/>
1116
+ </define>
1117
+ <define name="colgroup">
1118
+ <element name="colgroup">
1119
+ <oneOrMore>
1120
+ <ref name="col"/>
1121
+ </oneOrMore>
1122
+ </element>
1123
+ </define>
1124
+ <define name="col">
1125
+ <element name="col">
1126
+ <attribute name="width"/>
1127
+ </element>
1128
+ </define>
1129
+ <define name="BibItemType" combine="choice">
1130
+ <value>internal</value>
1131
+ </define>
767
1132
  <define name="TextElement" combine="choice">
768
- <ref name="concept"/>
1133
+ <choice>
1134
+ <ref name="concept"/>
1135
+ <ref name="add"/>
1136
+ <ref name="del"/>
1137
+ </choice>
769
1138
  </define>
770
- <define name="concept">
771
- <element name="concept">
772
- <optional>
773
- <attribute name="term"/>
774
- </optional>
1139
+ <define name="add">
1140
+ <element name="add">
775
1141
  <choice>
1142
+ <ref name="PureTextElement"/>
776
1143
  <ref name="eref"/>
1144
+ <ref name="stem"/>
1145
+ <ref name="keyword"/>
777
1146
  <ref name="xref"/>
778
- <ref name="termref"/>
1147
+ <ref name="hyperlink"/>
779
1148
  </choice>
780
1149
  </element>
781
1150
  </define>
782
- <define name="BasicBlock" combine="choice">
783
- <choice>
784
- <ref name="requirement"/>
785
- <ref name="recommendation"/>
786
- <ref name="permission"/>
787
- </choice>
1151
+ <define name="del">
1152
+ <element name="del">
1153
+ <choice>
1154
+ <ref name="PureTextElement"/>
1155
+ <ref name="eref"/>
1156
+ <ref name="stem"/>
1157
+ <ref name="keyword"/>
1158
+ <ref name="xref"/>
1159
+ <ref name="hyperlink"/>
1160
+ </choice>
1161
+ </element>
1162
+ </define>
1163
+ <define name="concept">
1164
+ <element name="concept">
1165
+ <optional>
1166
+ <attribute name="ital">
1167
+ <data type="boolean"/>
1168
+ </attribute>
1169
+ </optional>
1170
+ <optional>
1171
+ <attribute name="ref">
1172
+ <data type="boolean"/>
1173
+ </attribute>
1174
+ </optional>
1175
+ <optional>
1176
+ <attribute name="linkmention">
1177
+ <data type="boolean"/>
1178
+ </attribute>
1179
+ </optional>
1180
+ <optional>
1181
+ <attribute name="linkref">
1182
+ <data type="boolean"/>
1183
+ </attribute>
1184
+ </optional>
1185
+ <optional>
1186
+ <element name="refterm">
1187
+ <zeroOrMore>
1188
+ <choice>
1189
+ <ref name="PureTextElement"/>
1190
+ <ref name="stem"/>
1191
+ </choice>
1192
+ </zeroOrMore>
1193
+ </element>
1194
+ </optional>
1195
+ <optional>
1196
+ <element name="renderterm">
1197
+ <zeroOrMore>
1198
+ <choice>
1199
+ <ref name="PureTextElement"/>
1200
+ <ref name="stem"/>
1201
+ </choice>
1202
+ </zeroOrMore>
1203
+ </element>
1204
+ </optional>
1205
+ <choice>
1206
+ <ref name="eref"/>
1207
+ <ref name="xref"/>
1208
+ <ref name="termref"/>
1209
+ </choice>
1210
+ </element>
1211
+ </define>
1212
+ <define name="BasicBlock" combine="choice">
1213
+ <choice>
1214
+ <ref name="requirement"/>
1215
+ <ref name="recommendation"/>
1216
+ <ref name="permission"/>
1217
+ <ref name="imagemap"/>
1218
+ <ref name="svgmap"/>
1219
+ <ref name="inputform"/>
1220
+ <ref name="toc"/>
1221
+ <ref name="passthrough"/>
1222
+ </choice>
1223
+ </define>
1224
+ <define name="toc">
1225
+ <element name="toc">
1226
+ <ref name="ul"/>
1227
+ </element>
1228
+ </define>
1229
+ <define name="passthrough">
1230
+ <element name="passthrough">
1231
+ <optional>
1232
+ <attribute name="formats"/>
1233
+ </optional>
1234
+ <text/>
1235
+ </element>
1236
+ </define>
1237
+ <define name="inputform">
1238
+ <element name="form">
1239
+ <attribute name="id">
1240
+ <data type="ID"/>
1241
+ </attribute>
1242
+ <attribute name="name"/>
1243
+ <attribute name="action"/>
1244
+ <optional>
1245
+ <attribute name="class"/>
1246
+ </optional>
1247
+ <optional>
1248
+ <attribute name="tag"/>
1249
+ </optional>
1250
+ <optional>
1251
+ <attribute name="multilingual-rendering">
1252
+ <ref name="MultilingualRenderingType"/>
1253
+ </attribute>
1254
+ </optional>
1255
+ <zeroOrMore>
1256
+ <choice>
1257
+ <ref name="TextElement"/>
1258
+ <ref name="FormInput"/>
1259
+ </choice>
1260
+ </zeroOrMore>
1261
+ </element>
1262
+ </define>
1263
+ <define name="FormInput">
1264
+ <choice>
1265
+ <ref name="input"/>
1266
+ <ref name="formlabel"/>
1267
+ <ref name="select"/>
1268
+ <ref name="textarea"/>
1269
+ </choice>
1270
+ </define>
1271
+ <define name="InputType">
1272
+ <choice>
1273
+ <value>button</value>
1274
+ <value>checkbox</value>
1275
+ <value>date</value>
1276
+ <value>file</value>
1277
+ <value>password</value>
1278
+ <value>radio</value>
1279
+ <value>submit</value>
1280
+ <value>text</value>
1281
+ </choice>
1282
+ </define>
1283
+ <define name="input">
1284
+ <element name="input">
1285
+ <attribute name="type">
1286
+ <ref name="InputType"/>
1287
+ </attribute>
1288
+ <optional>
1289
+ <attribute name="checked">
1290
+ <data type="boolean"/>
1291
+ </attribute>
1292
+ </optional>
1293
+ <optional>
1294
+ <attribute name="disabled">
1295
+ <data type="boolean"/>
1296
+ </attribute>
1297
+ </optional>
1298
+ <optional>
1299
+ <attribute name="readonly">
1300
+ <data type="boolean"/>
1301
+ </attribute>
1302
+ </optional>
1303
+ <optional>
1304
+ <attribute name="maxlength">
1305
+ <data type="int"/>
1306
+ </attribute>
1307
+ </optional>
1308
+ <optional>
1309
+ <attribute name="minlength">
1310
+ <data type="int"/>
1311
+ </attribute>
1312
+ </optional>
1313
+ <optional>
1314
+ <attribute name="name"/>
1315
+ </optional>
1316
+ <optional>
1317
+ <attribute name="value"/>
1318
+ </optional>
1319
+ <optional>
1320
+ <attribute name="id">
1321
+ <data type="ID"/>
1322
+ </attribute>
1323
+ </optional>
1324
+ </element>
1325
+ </define>
1326
+ <define name="formlabel">
1327
+ <element name="label">
1328
+ <attribute name="for">
1329
+ <data type="IDREF"/>
1330
+ </attribute>
1331
+ <zeroOrMore>
1332
+ <ref name="PureTextElement"/>
1333
+ </zeroOrMore>
1334
+ </element>
1335
+ </define>
1336
+ <define name="select">
1337
+ <element name="select">
1338
+ <optional>
1339
+ <attribute name="name"/>
1340
+ </optional>
1341
+ <optional>
1342
+ <attribute name="value"/>
1343
+ </optional>
1344
+ <optional>
1345
+ <attribute name="id">
1346
+ <data type="ID"/>
1347
+ </attribute>
1348
+ </optional>
1349
+ <optional>
1350
+ <attribute name="disabled">
1351
+ <data type="boolean"/>
1352
+ </attribute>
1353
+ </optional>
1354
+ <optional>
1355
+ <attribute name="multiple">
1356
+ <data type="boolean"/>
1357
+ </attribute>
1358
+ </optional>
1359
+ <optional>
1360
+ <attribute name="size">
1361
+ <data type="int"/>
1362
+ </attribute>
1363
+ </optional>
1364
+ <oneOrMore>
1365
+ <ref name="option"/>
1366
+ </oneOrMore>
1367
+ </element>
1368
+ </define>
1369
+ <define name="option">
1370
+ <element name="option">
1371
+ <optional>
1372
+ <attribute name="disabled">
1373
+ <data type="boolean"/>
1374
+ </attribute>
1375
+ </optional>
1376
+ <optional>
1377
+ <attribute name="value"/>
1378
+ </optional>
1379
+ <zeroOrMore>
1380
+ <ref name="PureTextElement"/>
1381
+ </zeroOrMore>
1382
+ </element>
1383
+ </define>
1384
+ <define name="textarea">
1385
+ <element name="textarea">
1386
+ <optional>
1387
+ <attribute name="name"/>
1388
+ </optional>
1389
+ <optional>
1390
+ <attribute name="value"/>
1391
+ </optional>
1392
+ <optional>
1393
+ <attribute name="id">
1394
+ <data type="ID"/>
1395
+ </attribute>
1396
+ </optional>
1397
+ <optional>
1398
+ <attribute name="rows">
1399
+ <data type="int"/>
1400
+ </attribute>
1401
+ </optional>
1402
+ <optional>
1403
+ <attribute name="cols">
1404
+ <data type="int"/>
1405
+ </attribute>
1406
+ </optional>
1407
+ </element>
788
1408
  </define>
789
1409
  <define name="bibliography">
790
1410
  <element name="bibliography">
@@ -814,6 +1434,9 @@
814
1434
  <data type="boolean"/>
815
1435
  </attribute>
816
1436
  </optional>
1437
+ <optional>
1438
+ <attribute name="number"/>
1439
+ </optional>
817
1440
  <optional>
818
1441
  <attribute name="obligation">
819
1442
  <choice>
@@ -828,9 +1451,6 @@
828
1451
  <zeroOrMore>
829
1452
  <ref name="BasicBlock"/>
830
1453
  </zeroOrMore>
831
- <zeroOrMore>
832
- <ref name="note"/>
833
- </zeroOrMore>
834
1454
  <choice>
835
1455
  <oneOrMore>
836
1456
  <ref name="reference-clause"/>
@@ -855,13 +1475,17 @@
855
1475
  </define>
856
1476
  <define name="IsoWorkgroup">
857
1477
  <optional>
858
- <attribute name="number">
859
- <data type="int"/>
860
- </attribute>
1478
+ <attribute name="number"/>
861
1479
  </optional>
862
1480
  <optional>
863
1481
  <attribute name="type"/>
864
1482
  </optional>
1483
+ <optional>
1484
+ <attribute name="identifier"/>
1485
+ </optional>
1486
+ <optional>
1487
+ <attribute name="prefix"/>
1488
+ </optional>
865
1489
  <text/>
866
1490
  </define>
867
1491
  <define name="ics">
@@ -869,9 +1493,11 @@
869
1493
  <element name="code">
870
1494
  <text/>
871
1495
  </element>
872
- <element name="text">
873
- <text/>
874
- </element>
1496
+ <optional>
1497
+ <element name="text">
1498
+ <text/>
1499
+ </element>
1500
+ </optional>
875
1501
  </element>
876
1502
  </define>
877
1503
  <define name="standard-document">
@@ -884,6 +1510,9 @@
884
1510
  </choice>
885
1511
  </attribute>
886
1512
  <ref name="bibdata"/>
1513
+ <optional>
1514
+ <ref name="misccontainer"/>
1515
+ </optional>
887
1516
  <optional>
888
1517
  <ref name="boilerplate"/>
889
1518
  </optional>
@@ -894,11 +1523,21 @@
894
1523
  <zeroOrMore>
895
1524
  <ref name="annex"/>
896
1525
  </zeroOrMore>
1526
+ <optional>
1527
+ <ref name="bibliography"/>
1528
+ </optional>
897
1529
  <zeroOrMore>
898
- <ref name="references"/>
1530
+ <ref name="indexsect"/>
899
1531
  </zeroOrMore>
900
1532
  </element>
901
1533
  </define>
1534
+ <define name="misccontainer">
1535
+ <element name="misc-container">
1536
+ <oneOrMore>
1537
+ <ref name="AnyElement"/>
1538
+ </oneOrMore>
1539
+ </element>
1540
+ </define>
902
1541
  <define name="preface">
903
1542
  <element name="preface">
904
1543
  <oneOrMore>
@@ -922,6 +1561,11 @@
922
1561
  <ref name="Content-Section"/>
923
1562
  </element>
924
1563
  </define>
1564
+ <define name="indexsect">
1565
+ <element name="indexsect">
1566
+ <ref name="Content-Section"/>
1567
+ </element>
1568
+ </define>
925
1569
  <define name="boilerplate">
926
1570
  <element name="boilerplate">
927
1571
  <optional>
@@ -989,9 +1633,6 @@
989
1633
  <zeroOrMore>
990
1634
  <ref name="BasicBlock"/>
991
1635
  </zeroOrMore>
992
- <zeroOrMore>
993
- <ref name="note"/>
994
- </zeroOrMore>
995
1636
  <ref name="dl"/>
996
1637
  </oneOrMore>
997
1638
  </element>
@@ -1041,6 +1682,9 @@
1041
1682
  </choice>
1042
1683
  </attribute>
1043
1684
  </optional>
1685
+ <optional>
1686
+ <attribute name="number"/>
1687
+ </optional>
1044
1688
  <optional>
1045
1689
  <attribute name="type"/>
1046
1690
  </optional>
@@ -1048,14 +1692,9 @@
1048
1692
  <ref name="section-title"/>
1049
1693
  </optional>
1050
1694
  <group>
1051
- <group>
1052
- <zeroOrMore>
1053
- <ref name="BasicBlock"/>
1054
- </zeroOrMore>
1055
- <zeroOrMore>
1056
- <ref name="note"/>
1057
- </zeroOrMore>
1058
- </group>
1695
+ <zeroOrMore>
1696
+ <ref name="BasicBlock"/>
1697
+ </zeroOrMore>
1059
1698
  <zeroOrMore>
1060
1699
  <ref name="content-subsection"/>
1061
1700
  </zeroOrMore>
@@ -1094,29 +1733,28 @@
1094
1733
  <optional>
1095
1734
  <attribute name="type"/>
1096
1735
  </optional>
1736
+ <optional>
1737
+ <attribute name="number"/>
1738
+ </optional>
1097
1739
  <optional>
1098
1740
  <ref name="section-title"/>
1099
1741
  </optional>
1100
- <group>
1742
+ <choice>
1101
1743
  <choice>
1102
- <group>
1103
- <zeroOrMore>
1104
- <ref name="BasicBlock"/>
1105
- </zeroOrMore>
1106
- <zeroOrMore>
1107
- <ref name="note"/>
1108
- </zeroOrMore>
1109
- </group>
1744
+ <oneOrMore>
1745
+ <ref name="BasicBlock"/>
1746
+ </oneOrMore>
1110
1747
  <ref name="amend"/>
1111
1748
  </choice>
1112
- <zeroOrMore>
1749
+ <oneOrMore>
1113
1750
  <choice>
1114
1751
  <ref name="clause-subsection"/>
1115
1752
  <ref name="terms"/>
1116
1753
  <ref name="definitions"/>
1754
+ <ref name="floating-title"/>
1117
1755
  </choice>
1118
- </zeroOrMore>
1119
- </group>
1756
+ </oneOrMore>
1757
+ </choice>
1120
1758
  </define>
1121
1759
  <define name="Annex-Section">
1122
1760
  <optional>
@@ -1147,20 +1785,16 @@
1147
1785
  <ref name="section-title"/>
1148
1786
  </optional>
1149
1787
  <group>
1150
- <group>
1151
- <zeroOrMore>
1152
- <ref name="BasicBlock"/>
1153
- </zeroOrMore>
1154
- <zeroOrMore>
1155
- <ref name="note"/>
1156
- </zeroOrMore>
1157
- </group>
1788
+ <zeroOrMore>
1789
+ <ref name="BasicBlock"/>
1790
+ </zeroOrMore>
1158
1791
  <zeroOrMore>
1159
1792
  <choice>
1160
1793
  <ref name="annex-subsection"/>
1161
1794
  <ref name="terms"/>
1162
1795
  <ref name="definitions"/>
1163
1796
  <ref name="references"/>
1797
+ <ref name="floating-title"/>
1164
1798
  </choice>
1165
1799
  </zeroOrMore>
1166
1800
  </group>
@@ -1196,6 +1830,9 @@
1196
1830
  <optional>
1197
1831
  <attribute name="type"/>
1198
1832
  </optional>
1833
+ <optional>
1834
+ <attribute name="number"/>
1835
+ </optional>
1199
1836
  <optional>
1200
1837
  <attribute name="obligation">
1201
1838
  <choice>
@@ -1210,9 +1847,6 @@
1210
1847
  <zeroOrMore>
1211
1848
  <ref name="BasicBlock"/>
1212
1849
  </zeroOrMore>
1213
- <zeroOrMore>
1214
- <ref name="note"/>
1215
- </zeroOrMore>
1216
1850
  <choice>
1217
1851
  <oneOrMore>
1218
1852
  <ref name="term"/>
@@ -1235,6 +1869,20 @@
1235
1869
  <data type="ID"/>
1236
1870
  </attribute>
1237
1871
  </optional>
1872
+ <optional>
1873
+ <attribute name="language"/>
1874
+ </optional>
1875
+ <optional>
1876
+ <attribute name="script"/>
1877
+ </optional>
1878
+ <optional>
1879
+ <attribute name="tag"/>
1880
+ </optional>
1881
+ <optional>
1882
+ <attribute name="multilingual-rendering">
1883
+ <ref name="MultilingualRenderingType"/>
1884
+ </attribute>
1885
+ </optional>
1238
1886
  <oneOrMore>
1239
1887
  <ref name="preferred"/>
1240
1888
  </oneOrMore>
@@ -1242,18 +1890,20 @@
1242
1890
  <ref name="admitted"/>
1243
1891
  </zeroOrMore>
1244
1892
  <zeroOrMore>
1245
- <ref name="related"/>
1893
+ <ref name="deprecates"/>
1246
1894
  </zeroOrMore>
1247
1895
  <zeroOrMore>
1248
- <ref name="deprecates"/>
1896
+ <ref name="related"/>
1249
1897
  </zeroOrMore>
1250
1898
  <optional>
1251
1899
  <ref name="termdomain"/>
1252
1900
  </optional>
1253
- <zeroOrMore>
1254
- <ref name="termgrammar"/>
1255
- </zeroOrMore>
1256
- <ref name="definition"/>
1901
+ <optional>
1902
+ <ref name="termsubject"/>
1903
+ </optional>
1904
+ <oneOrMore>
1905
+ <ref name="termdefinition"/>
1906
+ </oneOrMore>
1257
1907
  <zeroOrMore>
1258
1908
  <ref name="termnote"/>
1259
1909
  </zeroOrMore>
@@ -1267,41 +1917,236 @@
1267
1917
  </define>
1268
1918
  <define name="preferred">
1269
1919
  <element name="preferred">
1270
- <oneOrMore>
1271
- <ref name="TextElement"/>
1272
- </oneOrMore>
1920
+ <ref name="Designation"/>
1273
1921
  </element>
1274
1922
  </define>
1275
1923
  <define name="admitted">
1276
1924
  <element name="admitted">
1277
- <oneOrMore>
1278
- <ref name="TextElement"/>
1279
- </oneOrMore>
1925
+ <ref name="Designation"/>
1280
1926
  </element>
1281
1927
  </define>
1282
1928
  <define name="related">
1283
1929
  <element name="related">
1930
+ <attribute name="type">
1931
+ <ref name="RelatedTermType"/>
1932
+ </attribute>
1933
+ <element name="preferred">
1934
+ <ref name="Designation"/>
1935
+ </element>
1936
+ <choice>
1937
+ <ref name="eref"/>
1938
+ <ref name="xref"/>
1939
+ <ref name="termref"/>
1940
+ </choice>
1941
+ </element>
1942
+ </define>
1943
+ <define name="RelatedTermType">
1944
+ <choice>
1945
+ <value>deprecates</value>
1946
+ <value>supersedes</value>
1947
+ <value>narrower</value>
1948
+ <value>broader</value>
1949
+ <value>equivalent</value>
1950
+ <value>compare</value>
1951
+ <value>contrast</value>
1952
+ <value>see</value>
1953
+ </choice>
1954
+ </define>
1955
+ <define name="deprecates">
1956
+ <element name="deprecates">
1957
+ <ref name="Designation"/>
1958
+ </element>
1959
+ </define>
1960
+ <define name="Designation">
1961
+ <optional>
1962
+ <attribute name="absent">
1963
+ <data type="boolean"/>
1964
+ </attribute>
1965
+ </optional>
1966
+ <optional>
1967
+ <attribute name="geographic-area"/>
1968
+ </optional>
1969
+ <choice>
1970
+ <ref name="expression_designation"/>
1971
+ <ref name="letter_symbol_designation"/>
1972
+ <ref name="graphical_symbol_designation"/>
1973
+ </choice>
1974
+ <optional>
1975
+ <ref name="fieldofapplication"/>
1976
+ </optional>
1977
+ <optional>
1978
+ <ref name="usageinfo"/>
1979
+ </optional>
1980
+ <zeroOrMore>
1981
+ <ref name="termsource"/>
1982
+ </zeroOrMore>
1983
+ </define>
1984
+ <define name="fieldofapplication">
1985
+ <element name="field-of-application">
1986
+ <oneOrMore>
1987
+ <ref name="PureTextElement"/>
1988
+ </oneOrMore>
1989
+ </element>
1990
+ </define>
1991
+ <define name="usageinfo">
1992
+ <element name="usage-info">
1993
+ <oneOrMore>
1994
+ <ref name="PureTextElement"/>
1995
+ </oneOrMore>
1996
+ </element>
1997
+ </define>
1998
+ <define name="letter_symbol_designation">
1999
+ <element name="letter-symbol">
1284
2000
  <optional>
1285
- <attribute name="type">
2001
+ <attribute name="isInternational">
2002
+ <data type="boolean"/>
2003
+ </attribute>
2004
+ </optional>
2005
+ <element name="name">
2006
+ <oneOrMore>
1286
2007
  <choice>
1287
- <value>compare</value>
1288
- <value>contrast</value>
1289
- <value>see</value>
2008
+ <ref name="PureTextElement"/>
2009
+ <ref name="stem"/>
1290
2010
  </choice>
2011
+ </oneOrMore>
2012
+ </element>
2013
+ </element>
2014
+ </define>
2015
+ <define name="graphical_symbol_designation">
2016
+ <element name="graphical-symbol">
2017
+ <optional>
2018
+ <attribute name="isInternational">
2019
+ <data type="boolean"/>
1291
2020
  </attribute>
1292
2021
  </optional>
1293
- <oneOrMore>
1294
- <ref name="TextElement"/>
1295
- </oneOrMore>
2022
+ <ref name="figure"/>
1296
2023
  </element>
1297
2024
  </define>
1298
- <define name="deprecates">
1299
- <element name="deprecates">
1300
- <oneOrMore>
1301
- <ref name="TextElement"/>
1302
- </oneOrMore>
2025
+ <define name="expression_designation">
2026
+ <element name="expression">
2027
+ <optional>
2028
+ <attribute name="language">
2029
+ <a:documentation>ISO-639</a:documentation>
2030
+ </attribute>
2031
+ </optional>
2032
+ <optional>
2033
+ <attribute name="script">
2034
+ <a:documentation>ISO-15924</a:documentation>
2035
+ </attribute>
2036
+ </optional>
2037
+ <optional>
2038
+ <attribute name="type">
2039
+ <ref name="ExpressionDesignationType"/>
2040
+ </attribute>
2041
+ </optional>
2042
+ <optional>
2043
+ <attribute name="isInternational">
2044
+ <data type="boolean"/>
2045
+ </attribute>
2046
+ </optional>
2047
+ <element name="name">
2048
+ <zeroOrMore>
2049
+ <choice>
2050
+ <ref name="PureTextElement"/>
2051
+ <ref name="stem"/>
2052
+ <ref name="index"/>
2053
+ </choice>
2054
+ </zeroOrMore>
2055
+ </element>
2056
+ <optional>
2057
+ <element name="abbreviation-type">
2058
+ <ref name="AbbreviationType"/>
2059
+ </element>
2060
+ </optional>
2061
+ <optional>
2062
+ <element name="pronunciation">
2063
+ <ref name="LocalizedString"/>
2064
+ </element>
2065
+ </optional>
2066
+ <optional>
2067
+ <element name="grammar">
2068
+ <ref name="Grammar"/>
2069
+ </element>
2070
+ </optional>
1303
2071
  </element>
1304
2072
  </define>
2073
+ <define name="ExpressionDesignationType">
2074
+ <choice>
2075
+ <value>prefix</value>
2076
+ <value>suffix</value>
2077
+ <value>abbreviation</value>
2078
+ <value>full</value>
2079
+ </choice>
2080
+ </define>
2081
+ <define name="AbbreviationType">
2082
+ <choice>
2083
+ <value>truncation</value>
2084
+ <value>acronym</value>
2085
+ <value>initialism</value>
2086
+ </choice>
2087
+ </define>
2088
+ <define name="Grammar">
2089
+ <zeroOrMore>
2090
+ <element name="gender">
2091
+ <ref name="GrammarGender"/>
2092
+ </element>
2093
+ </zeroOrMore>
2094
+ <zeroOrMore>
2095
+ <element name="number">
2096
+ <ref name="GrammarNumber"/>
2097
+ </element>
2098
+ </zeroOrMore>
2099
+ <optional>
2100
+ <element name="isPreposition">
2101
+ <data type="boolean"/>
2102
+ </element>
2103
+ </optional>
2104
+ <optional>
2105
+ <element name="isParticiple">
2106
+ <data type="boolean"/>
2107
+ </element>
2108
+ </optional>
2109
+ <optional>
2110
+ <element name="isAdjective">
2111
+ <data type="boolean"/>
2112
+ </element>
2113
+ </optional>
2114
+ <optional>
2115
+ <element name="isVerb">
2116
+ <data type="boolean"/>
2117
+ </element>
2118
+ </optional>
2119
+ <optional>
2120
+ <element name="isAdverb">
2121
+ <data type="boolean"/>
2122
+ </element>
2123
+ </optional>
2124
+ <optional>
2125
+ <element name="isNoun">
2126
+ <data type="boolean"/>
2127
+ </element>
2128
+ </optional>
2129
+ <zeroOrMore>
2130
+ <element name="grammar-value">
2131
+ <text/>
2132
+ </element>
2133
+ </zeroOrMore>
2134
+ </define>
2135
+ <define name="GrammarGender">
2136
+ <choice>
2137
+ <value>masculine</value>
2138
+ <value>feminine</value>
2139
+ <value>neuter</value>
2140
+ <value>common</value>
2141
+ </choice>
2142
+ </define>
2143
+ <define name="GrammarNumber">
2144
+ <choice>
2145
+ <value>singular</value>
2146
+ <value>dual</value>
2147
+ <value>plural</value>
2148
+ </choice>
2149
+ </define>
1305
2150
  <define name="termdomain">
1306
2151
  <element name="domain">
1307
2152
  <oneOrMore>
@@ -1309,22 +2154,55 @@
1309
2154
  </oneOrMore>
1310
2155
  </element>
1311
2156
  </define>
1312
- <define name="termgrammar">
1313
- <element name="grammar">
2157
+ <define name="termsubject">
2158
+ <element name="subject">
1314
2159
  <oneOrMore>
1315
2160
  <ref name="TextElement"/>
1316
2161
  </oneOrMore>
1317
2162
  </element>
1318
2163
  </define>
1319
- <define name="definition">
2164
+ <define name="termdefinition">
1320
2165
  <element name="definition">
2166
+ <choice>
2167
+ <ref name="verbaldefinition"/>
2168
+ <ref name="nonverbalrep"/>
2169
+ <group>
2170
+ <ref name="verbaldefinition"/>
2171
+ <ref name="nonverbalrep"/>
2172
+ </group>
2173
+ </choice>
2174
+ </element>
2175
+ </define>
2176
+ <define name="verbaldefinition">
2177
+ <element name="verbal-definition">
1321
2178
  <oneOrMore>
1322
2179
  <choice>
1323
2180
  <ref name="paragraph"/>
2181
+ <ref name="dl"/>
2182
+ <ref name="ol"/>
2183
+ <ref name="ul"/>
2184
+ <ref name="table"/>
2185
+ <ref name="figure"/>
2186
+ <ref name="formula"/>
2187
+ </choice>
2188
+ </oneOrMore>
2189
+ <zeroOrMore>
2190
+ <ref name="termsource"/>
2191
+ </zeroOrMore>
2192
+ </element>
2193
+ </define>
2194
+ <define name="nonverbalrep">
2195
+ <element name="non-verbal-representation">
2196
+ <oneOrMore>
2197
+ <choice>
2198
+ <ref name="table"/>
1324
2199
  <ref name="figure"/>
1325
2200
  <ref name="formula"/>
1326
2201
  </choice>
1327
2202
  </oneOrMore>
2203
+ <zeroOrMore>
2204
+ <ref name="termsource"/>
2205
+ </zeroOrMore>
1328
2206
  </element>
1329
2207
  </define>
1330
2208
  <define name="termnote">
@@ -1353,6 +2231,14 @@
1353
2231
  <data type="boolean"/>
1354
2232
  </attribute>
1355
2233
  </optional>
2234
+ <optional>
2235
+ <attribute name="tag"/>
2236
+ </optional>
2237
+ <optional>
2238
+ <attribute name="multilingual-rendering">
2239
+ <ref name="MultilingualRenderingType"/>
2240
+ </attribute>
2241
+ </optional>
1356
2242
  <oneOrMore>
1357
2243
  <choice>
1358
2244
  <ref name="paragraph"/>
@@ -1369,7 +2255,36 @@
1369
2255
  <attribute name="id">
1370
2256
  <data type="ID"/>
1371
2257
  </attribute>
1372
- <ref name="paragraph"/>
2258
+ <optional>
2259
+ <attribute name="keep-with-next">
2260
+ <data type="boolean"/>
2261
+ </attribute>
2262
+ </optional>
2263
+ <optional>
2264
+ <attribute name="keep-lines-together">
2265
+ <data type="boolean"/>
2266
+ </attribute>
2267
+ </optional>
2268
+ <optional>
2269
+ <attribute name="tag"/>
2270
+ </optional>
2271
+ <optional>
2272
+ <attribute name="multilingual-rendering">
2273
+ <ref name="MultilingualRenderingType"/>
2274
+ </attribute>
2275
+ </optional>
2276
+ <oneOrMore>
2277
+ <choice>
2278
+ <ref name="formula"/>
2279
+ <ref name="ul"/>
2280
+ <ref name="ol"/>
2281
+ <ref name="dl"/>
2282
+ <ref name="quote"/>
2283
+ <ref name="sourcecode"/>
2284
+ <ref name="paragraph"/>
2285
+ <ref name="figure"/>
2286
+ </choice>
2287
+ </oneOrMore>
1373
2288
  </element>
1374
2289
  </define>
1375
2290
  <define name="termsource">
@@ -1380,6 +2295,12 @@
1380
2295
  <value>modified</value>
1381
2296
  </choice>
1382
2297
  </attribute>
2298
+ <attribute name="type">
2299
+ <choice>
2300
+ <value>authoritative</value>
2301
+ <value>lineage</value>
2302
+ </choice>
2303
+ </attribute>
1383
2304
  <ref name="origin"/>
1384
2305
  <optional>
1385
2306
  <ref name="modification"/>
@@ -1495,9 +2416,6 @@
1495
2416
  <zeroOrMore>
1496
2417
  <ref name="BasicBlock"/>
1497
2418
  </zeroOrMore>
1498
- <zeroOrMore>
1499
- <ref name="note"/>
1500
- </zeroOrMore>
1501
2419
  <zeroOrMore>
1502
2420
  <choice>
1503
2421
  <ref name="term-clause"/>
@@ -1524,6 +2442,7 @@
1524
2442
  <value>add</value>
1525
2443
  <value>modify</value>
1526
2444
  <value>delete</value>
2445
+ <value>replace</value>
1527
2446
  </choice>
1528
2447
  </attribute>
1529
2448
  <optional>
@@ -1535,6 +2454,14 @@
1535
2454
  <optional>
1536
2455
  <attribute name="title"/>
1537
2456
  </optional>
2457
+ <optional>
2458
+ <attribute name="tag"/>
2459
+ </optional>
2460
+ <optional>
2461
+ <attribute name="multilingual-rendering">
2462
+ <ref name="MultilingualRenderingType"/>
2463
+ </attribute>
2464
+ </optional>
1538
2465
  <optional>
1539
2466
  <element name="location">
1540
2467
  <zeroOrMore>
@@ -1554,6 +2481,11 @@
1554
2481
  </optional>
1555
2482
  <optional>
1556
2483
  <element name="newcontent">
2484
+ <optional>
2485
+ <attribute name="id">
2486
+ <data type="ID"/>
2487
+ </attribute>
2488
+ </optional>
1557
2489
  <zeroOrMore>
1558
2490
  <ref name="BasicBlock"/>
1559
2491
  </zeroOrMore>
@@ -1587,4 +2519,116 @@
1587
2519
  <text/>
1588
2520
  </element>
1589
2521
  </define>
2522
+ <define name="imagemap">
2523
+ <element name="imagemap">
2524
+ <optional>
2525
+ <attribute name="tag"/>
2526
+ </optional>
2527
+ <optional>
2528
+ <attribute name="multilingual-rendering">
2529
+ <ref name="MultilingualRenderingType"/>
2530
+ </attribute>
2531
+ </optional>
2532
+ <ref name="figure"/>
2533
+ <zeroOrMore>
2534
+ <element name="area">
2535
+ <attribute name="type">
2536
+ <choice>
2537
+ <value>rect</value>
2538
+ <value>circle</value>
2539
+ <value>ellipse</value>
2540
+ <value>poly</value>
2541
+ </choice>
2542
+ </attribute>
2543
+ <choice>
2544
+ <ref name="xref"/>
2545
+ <ref name="hyperlink"/>
2546
+ <ref name="eref"/>
2547
+ </choice>
2548
+ <oneOrMore>
2549
+ <element name="coords">
2550
+ <attribute name="x">
2551
+ <data type="float"/>
2552
+ </attribute>
2553
+ <attribute name="y">
2554
+ <data type="float"/>
2555
+ </attribute>
2556
+ </element>
2557
+ </oneOrMore>
2558
+ <optional>
2559
+ <element name="radius">
2560
+ <attribute name="x">
2561
+ <data type="float"/>
2562
+ </attribute>
2563
+ <optional>
2564
+ <attribute name="y">
2565
+ <data type="float"/>
2566
+ </attribute>
2567
+ </optional>
2568
+ </element>
2569
+ </optional>
2570
+ </element>
2571
+ </zeroOrMore>
2572
+ </element>
2573
+ </define>
2574
+ <define name="svgmap">
2575
+ <element name="svgmap">
2576
+ <optional>
2577
+ <attribute name="tag"/>
2578
+ </optional>
2579
+ <optional>
2580
+ <attribute name="multilingual-rendering">
2581
+ <ref name="MultilingualRenderingType"/>
2582
+ </attribute>
2583
+ </optional>
2584
+ <ref name="figure"/>
2585
+ <zeroOrMore>
2586
+ <element name="target">
2587
+ <attribute name="href">
2588
+ <data type="anyURI"/>
2589
+ </attribute>
2590
+ <choice>
2591
+ <ref name="xref"/>
2592
+ <ref name="hyperlink"/>
2593
+ <ref name="eref"/>
2594
+ </choice>
2595
+ </element>
2596
+ </zeroOrMore>
2597
+ </element>
2598
+ </define>
2599
+ <define name="ul_li">
2600
+ <element name="li">
2601
+ <optional>
2602
+ <attribute name="id">
2603
+ <data type="ID"/>
2604
+ </attribute>
2605
+ </optional>
2606
+ <optional>
2607
+ <attribute name="uncheckedcheckbox">
2608
+ <data type="boolean"/>
2609
+ </attribute>
2610
+ </optional>
2611
+ <optional>
2612
+ <attribute name="checkedcheckbox">
2613
+ <data type="boolean"/>
2614
+ </attribute>
2615
+ </optional>
2616
+ <oneOrMore>
2617
+ <ref name="BasicBlock"/>
2618
+ </oneOrMore>
2619
+ </element>
2620
+ </define>
2621
+ <define name="floating-title">
2622
+ <element name="floating-title">
2623
+ <attribute name="id">
2624
+ <data type="ID"/>
2625
+ </attribute>
2626
+ <attribute name="depth">
2627
+ <data type="int"/>
2628
+ </attribute>
2629
+ <zeroOrMore>
2630
+ <ref name="TextElement"/>
2631
+ </zeroOrMore>
2632
+ </element>
2633
+ </define>
1590
2634
  </grammar>