tbx 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +1 -1
  3. data/.github/workflows/release.yml +2 -2
  4. data/.rubocop_todo.yml +1 -1
  5. data/CHANGELOG.md +38 -0
  6. data/CLAUDE.md +23 -4
  7. data/Gemfile +1 -1
  8. data/README.adoc +365 -19
  9. data/lib/tbx/admin.rb +25 -12
  10. data/lib/tbx/admin_grp.rb +6 -1
  11. data/lib/tbx/admin_note.rb +15 -7
  12. data/lib/tbx/back.rb +6 -1
  13. data/lib/tbx/body.rb +4 -1
  14. data/lib/tbx/change.rb +7 -1
  15. data/lib/tbx/concept_entry.rb +11 -1
  16. data/lib/tbx/data_element.rb +50 -0
  17. data/lib/tbx/date.rb +7 -1
  18. data/lib/tbx/descrip.rb +24 -12
  19. data/lib/tbx/descrip_grp.rb +8 -1
  20. data/lib/tbx/descrip_note.rb +7 -7
  21. data/lib/tbx/document.rb +13 -1
  22. data/lib/tbx/ec.rb +17 -1
  23. data/lib/tbx/encoding_desc.rb +4 -1
  24. data/lib/tbx/file_desc.rb +7 -1
  25. data/lib/tbx/foreign.rb +7 -1
  26. data/lib/tbx/hi.rb +19 -1
  27. data/lib/tbx/item.rb +7 -1
  28. data/lib/tbx/item_grp.rb +7 -1
  29. data/lib/tbx/item_set.rb +7 -1
  30. data/lib/tbx/lang_sec.rb +7 -1
  31. data/lib/tbx/modules/basic.rb +92 -0
  32. data/lib/tbx/modules/core_types.rb +23 -0
  33. data/lib/tbx/modules/linguist.rb +46 -0
  34. data/lib/tbx/modules/min.rb +46 -0
  35. data/lib/tbx/namespace.rb +12 -0
  36. data/lib/tbx/note.rb +10 -1
  37. data/lib/tbx/p.rb +10 -1
  38. data/lib/tbx/ph.rb +7 -1
  39. data/lib/tbx/publication_stmt.rb +4 -1
  40. data/lib/tbx/ref.rb +18 -7
  41. data/lib/tbx/ref_object.rb +7 -1
  42. data/lib/tbx/ref_object_sec.rb +7 -1
  43. data/lib/tbx/revision_desc.rb +4 -1
  44. data/lib/tbx/sc.rb +10 -7
  45. data/lib/tbx/source_desc.rb +4 -1
  46. data/lib/tbx/tbx_header.rb +8 -1
  47. data/lib/tbx/term.rb +7 -1
  48. data/lib/tbx/term_comp.rb +26 -0
  49. data/lib/tbx/term_comp_grp.rb +24 -0
  50. data/lib/tbx/term_comp_sec.rb +45 -0
  51. data/lib/tbx/term_note.rb +45 -12
  52. data/lib/tbx/term_note_grp.rb +8 -1
  53. data/lib/tbx/term_sec.rb +9 -1
  54. data/lib/tbx/text_element.rb +6 -1
  55. data/lib/tbx/title.rb +7 -1
  56. data/lib/tbx/title_stmt.rb +4 -1
  57. data/lib/tbx/transac.rb +18 -7
  58. data/lib/tbx/transac_grp.rb +7 -1
  59. data/lib/tbx/transac_note.rb +18 -7
  60. data/lib/tbx/version.rb +1 -1
  61. data/lib/tbx/xref.rb +17 -1
  62. data/lib/tbx.rb +14 -1
  63. data/reference-docs/README.adoc +109 -0
  64. data/reference-docs/schemas/Basic_Module_Definition.pdf +0 -0
  65. data/reference-docs/schemas/Min_Module_Definition.pdf +0 -0
  66. data/reference-docs/schemas/TBX-Basic_ImplementationGuide/TBX-Basic_ImplementationGuide.pdf +0 -0
  67. data/reference-docs/schemas/TBX-Core_dialect/Schemas/Example_Astronomy_DCA_VALID.tbx +710 -0
  68. data/reference-docs/schemas/TBX-Core_dialect/Schemas/TBX-Core.sch +47 -0
  69. data/reference-docs/schemas/TBX-Core_dialect/Schemas/TBXcoreStructV03_TBX-Core_integrated.rng +1171 -0
  70. data/reference-docs/schemas/TBX-Core_dialect/TBX-Core Definition.pdf +0 -0
  71. data/reference-docs/schemas/TBX-Linguist_dialect/DCA/Example_Astronomy_DCA_VALID.tbx +4028 -0
  72. data/reference-docs/schemas/TBX-Linguist_dialect/DCA/TBX-Linguist_DCA.sch +146 -0
  73. data/reference-docs/schemas/TBX-Linguist_dialect/DCA/TBXcoreStructV03_TBX-Linguist_integrated.rng +1198 -0
  74. data/reference-docs/schemas/TBX-Linguist_dialect/DCT/Example_Astronomy_DCT_VALID.tbx +4019 -0
  75. data/reference-docs/schemas/TBX-Linguist_dialect/DCT/TBX-Linguist.nvdl +41 -0
  76. data/reference-docs/schemas/TBX-Linguist_dialect/DCT/TBX-Linguist_DCT.sch +48 -0
  77. data/reference-docs/schemas/TBX-Linguist_dialect/TBX-Linguist Definition.pdf +0 -0
  78. data/reference-docs/schemas/TBX-Min_dialect/DCA/TBX-Min_DCA.sch +82 -0
  79. data/reference-docs/schemas/TBX-Min_dialect/DCT/TBX-Min.nvdl +25 -0
  80. data/reference-docs/schemas/TBX-Min_dialect/DCT/TBX-Min_DCT.sch +48 -0
  81. data/reference-docs/schemas/TBX-Min_dialect/TBX-Min Definition.pdf +0 -0
  82. data/reference-docs/schemas/TBX_linguist_module/Linguist Module Definition.pdf +0 -0
  83. data/reference-docs/schemas/TBX_linguist_module/Linguist.rng +93 -0
  84. data/reference-docs/schemas/TBX_linguist_module/Linguist.sch +33 -0
  85. data/reference-docs/schemas/TBX_linguist_module/Linguist.tbxmd +47 -0
  86. data/reference-docs/schemas/TBX_module_description_xml/TBX Module Description.pdf +0 -0
  87. data/reference-docs/schemas/TBX_module_description_xml/tbxmd.rng +192 -0
  88. data/reference-docs/schemas/TBX_termComp_module/TermComp-namespace.rng +156 -0
  89. metadata +41 -4
  90. data/lib/tbx/namespaces.rb +0 -9
@@ -0,0 +1,1171 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0"
3
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="urn:iso:std:iso:30042:ed-2">
4
+ <define name="entity.basicText">
5
+ <zeroOrMore>
6
+ <choice>
7
+ <text/>
8
+ <ref name="hi"/>
9
+ </choice>
10
+ </zeroOrMore>
11
+ </define>
12
+ <define name="entity.noteText">
13
+ <zeroOrMore>
14
+ <choice>
15
+ <text/>
16
+ <ref name="hi"/>
17
+ <ref name="foreign"/>
18
+ <ref name="sc"/>
19
+ <ref name="ec"/>
20
+ <ref name="ph"/>
21
+ </choice>
22
+ </zeroOrMore>
23
+ </define>
24
+ <define name="entity.auxInfo">
25
+ <choice>
26
+ <zeroOrMore>
27
+ <choice>
28
+ <ref name="descrip"/>
29
+ <ref name="descripGrp"/>
30
+ <ref name="admin"/>
31
+ <ref name="adminGrp"/>
32
+ <ref name="transacGrp"/>
33
+ <ref name="note"/>
34
+ <ref name="ref"/>
35
+ <ref name="xref"/>
36
+ </choice>
37
+ </zeroOrMore>
38
+ <zeroOrMore>
39
+ <choice>
40
+ <ref name="note"/>
41
+ <ref name="adminGrp"/>
42
+ <ref name="descripGrp"/>
43
+ <ref name="transacGrp"/>
44
+ <ref name="DCTnamespaceElements"/>
45
+ </choice>
46
+ </zeroOrMore>
47
+ </choice>
48
+ </define>
49
+ <define name="entity.noteLinkInfo">
50
+ <choice>
51
+ <zeroOrMore>
52
+ <choice>
53
+ <ref name="admin"/>
54
+ <ref name="adminGrp"/>
55
+ <ref name="transacGrp"/>
56
+ <ref name="note"/>
57
+ <ref name="ref"/>
58
+ <ref name="xref"/>
59
+ </choice>
60
+ </zeroOrMore>
61
+ <zeroOrMore>
62
+ <choice>
63
+ <ref name="adminGrp"/>
64
+ <ref name="transacGrp"/>
65
+ <ref name="note"/>
66
+ <ref name="DCTnamespaceElements"/>
67
+ </choice>
68
+ </zeroOrMore>
69
+ </choice>
70
+ </define>
71
+ <define name="idlang.attributes">
72
+ <ref name="id.attributes"/>
73
+ <ref name="lang.attributes"/>
74
+ </define>
75
+ <define name="idtype.attributes">
76
+ <ref name="id.attributes"/>
77
+ <ref name="idtype.attribute.type"/>
78
+ </define>
79
+ <define name="idtype.attribute.type">
80
+ <optional>
81
+ <attribute name="type">
82
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
83
+ the type of the meta data-category.</a:documentation>
84
+ <text/>
85
+ </attribute>
86
+ </optional>
87
+ </define>
88
+ <define name="id.attributes">
89
+ <optional>
90
+ <ref name="id.attribute.id"/>
91
+ </optional>
92
+ </define>
93
+ <define name="id.attribute.id">
94
+ <attribute name="id">
95
+ <data type="ID"/>
96
+ </attribute>
97
+ </define>
98
+ <define name="target-IDREF.attributes">
99
+ <ref name="target-IDREF.attribute.target"/>
100
+ </define>
101
+ <define name="target-IDREF.attribute.target">
102
+ <optional>
103
+ <attribute name="target">
104
+
105
+ <data type="IDREF"/>
106
+ </attribute>
107
+ </optional>
108
+ </define>
109
+ <define name="lang.attributes">
110
+ <ref name="lang.attribute.xmllang"/>
111
+ </define>
112
+ <define name="lang.attribute.xmllang">
113
+ <optional>
114
+ <attribute name="xml:lang">
115
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
116
+ the language of the element content. The allowed values are found in IETF RFC 4646 or
117
+ its successor. This attribute is optional for elements that use this attribute class.
118
+ For a description, see the information at the tbx element.</a:documentation>
119
+ <data type="language"/>
120
+ </attribute>
121
+ </optional>
122
+ </define>
123
+ <define name="IDLangTgtDtyp.attributes">
124
+ <ref name="lang.attributes"/>
125
+ <ref name="id.attributes"/>
126
+ <ref name="target-IDREF.attributes"/>
127
+ <ref name="IDLangTgtDtyp.attribute.datatype"/>
128
+ </define>
129
+ <define name="IDLangTgtDtyp.attribute.datatype">
130
+ <optional>
131
+ <attribute name="datatype">
132
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The data
133
+ type of plainText, or what is known as PCDATA.</a:documentation>
134
+ <text/>
135
+ </attribute>
136
+ </optional>
137
+ </define>
138
+ <define name="dispEquivSubType.attributes">
139
+ <optional>
140
+ <attribute name="disp">
141
+ <text/>
142
+ </attribute>
143
+ <attribute name="equiv">
144
+ <text/>
145
+ </attribute>
146
+ <choice>
147
+ <group>
148
+ <attribute name="subType">
149
+ <data type="string">
150
+ <param name="pattern">[^\s:]+:[^\s:]+</param>
151
+ </data>
152
+ </attribute>
153
+ <ref name="XLIFFinlineType.attribute"/>
154
+ </group>
155
+ <ref name="XLIFFinlineType.attribute"/>
156
+ </choice>
157
+ </optional>
158
+ </define>
159
+ <define name="XLIFFisolated.attribute">
160
+ <optional>
161
+ <attribute name="isolated">
162
+ <choice>
163
+ <value>yes</value>
164
+ <value>no</value>
165
+ </choice>
166
+ </attribute>
167
+ </optional>
168
+ </define>
169
+ <define name="XLIFFinlineType.attribute">
170
+ <attribute name="type">
171
+ <choice>
172
+ <value>fmt</value>
173
+ <value>ui</value>
174
+ <value>quote</value>
175
+ <value>link</value>
176
+ <value>image</value>
177
+ <value>other</value>
178
+ </choice>
179
+ </attribute>
180
+ </define>
181
+ <define name="hi">
182
+ <element name="hi">
183
+
184
+ <ref name="hi.content"/>
185
+ <ref name="hi.localattributes"/>
186
+ </element>
187
+ </define>
188
+ <define name="hi.content">
189
+ <text/>
190
+ </define>
191
+ <define name="hi.localattributes">
192
+ <ref name="target-IDREF.attributes"/>
193
+ <ref name="lang.attributes"/>
194
+ <optional>
195
+ <attribute name="type">
196
+
197
+ <choice>
198
+ <value>entailedTerm</value>
199
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
200
+ (entailedTerm) A term, found in the content of a text element such as , that is
201
+ defined in another terminological entry in the same terminological
202
+ collection.</a:documentation>
203
+ <value>hotkey</value>
204
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
205
+ (hotkey) A key or a combination of keys on a computer keyboard that, when pressed
206
+ at one time, performs a task (such as starting an application) as an alternative
207
+ to using a mouse or other input device. Hotkeys are supported by many operating
208
+ systems and applications (the hotkey is indicated by an ampersand in the term and
209
+ by an underscore in the visual display). This type of hi element allows a hotkey
210
+ to be identified as such in a text field such as a context sentence. To identify a
211
+ hotkey for the head term of an entry, use the lionHotkey value of the type
212
+ attribute on a termNote.</a:documentation>
213
+ <value>italics</value>
214
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
215
+ (italics) Indicates that the content enclosed in the hi element must be rendered
216
+ in italics. </a:documentation>
217
+ <value>bold</value>
218
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
219
+ (bold) Indicates that the content enclosed in the hi element must be rendered in
220
+ boldface. </a:documentation>
221
+ <value>superscript</value>
222
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
223
+ (superscript) Indicates that the content enclosed in the hi element must be
224
+ rendered in superscript. </a:documentation>
225
+ <value>subscript</value>
226
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
227
+ (subscript) Indicates that the content enclosed in the hi element must be rendered
228
+ in subscript.</a:documentation>
229
+ <value>math</value>
230
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
231
+ (math) Indicates that the content enclosed in the hi element is mathematical in
232
+ nature.</a:documentation>
233
+ </choice>
234
+ </attribute>
235
+ </optional>
236
+ </define>
237
+ <define name="foreign">
238
+ <element name="foreign">
239
+
240
+ <ref name="foreign.content"/>
241
+ <ref name="foreign.localattributes"/>
242
+ </element>
243
+ </define>
244
+ <define name="foreign.content">
245
+ <ref name="entity.noteText"/>
246
+ </define>
247
+ <define name="foreign.localattributes">
248
+ <ref name="idlang.attributes"/>
249
+ </define>
250
+ <define name="sc">
251
+ <element name="sc">
252
+
253
+ <ref name="sc.content"/>
254
+ <ref name="sc.localattributes"/>
255
+ </element>
256
+ </define>
257
+ <define name="sc.content">
258
+ <empty/>
259
+ </define>
260
+ <define name="sc.localattributes">
261
+ <attribute name="id">
262
+ <data type="ID"/>
263
+ </attribute>
264
+ <optional>
265
+ <ref name="dispEquivSubType.attributes"/>
266
+ <ref name="target-IDREF.attributes"/>
267
+ <ref name="XLIFFisolated.attribute"/>
268
+ </optional>
269
+ </define>
270
+ <define name="ec">
271
+ <element name="ec">
272
+
273
+ <ref name="ec.content"/>
274
+ <ref name="ec.localattributes"/>
275
+ </element>
276
+ </define>
277
+ <define name="ec.content">
278
+ <empty/>
279
+ </define>
280
+ <define name="ec.localattributes">
281
+ <optional>
282
+ <attribute name="id">
283
+ <data type="ID"/>
284
+ </attribute>
285
+ <attribute name="startRef">
286
+ <data type="IDREF"/>
287
+ </attribute>
288
+ <ref name="dispEquivSubType.attributes"/>
289
+ <ref name="XLIFFisolated.attribute"/>
290
+ <ref name="target-IDREF.attributes"/>
291
+ </optional>
292
+ </define>
293
+ <define name="ph">
294
+ <element name="ph">
295
+
296
+ <ref name="ph.content"/>
297
+ <ref name="ph.localattributes"/>
298
+ </element>
299
+ </define>
300
+ <define name="ph.content">
301
+ <empty/>
302
+ </define>
303
+ <define name="ph.localattributes">
304
+ <optional>
305
+ <attribute name="id">
306
+ <data type="ID"/>
307
+ </attribute>
308
+ <ref name="dispEquivSubType.attributes"/>
309
+ </optional>
310
+ </define>
311
+ <define name="admin">
312
+ <element name="admin">
313
+
314
+ <ref name="admin.content"/>
315
+ <ref name="admin.localattributes"/>
316
+ </element>
317
+ </define>
318
+ <define name="admin.content">
319
+ <ref name="entity.noteText"/>
320
+ </define>
321
+ <define name="admin.localattributes">
322
+ <ref name="IDLangTgtDtyp.attributes"/>
323
+ <attribute name="type">
324
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
325
+ the data-category type of the admin element, such as originatingDatabase or
326
+ entrySource.</a:documentation>
327
+
328
+ <ref name="admin.types"/>
329
+
330
+ </attribute>
331
+ <ref name="dca.attributes"/>
332
+ </define>
333
+ <define name="adminGrp">
334
+ <element name="adminGrp">
335
+
336
+ <ref name="adminGrp.content"/>
337
+ <ref name="adminGrp.localattributes"/>
338
+ </element>
339
+ </define>
340
+ <define name="adminGrp.content">
341
+ <choice>
342
+ <group>
343
+ <ref name="admin"/>
344
+ <zeroOrMore>
345
+ <choice>
346
+ <ref name="adminNote"/>
347
+ <ref name="note"/>
348
+ <ref name="ref"/>
349
+ <ref name="xref"/>
350
+ </choice>
351
+ </zeroOrMore>
352
+ </group>
353
+ <group>
354
+ <ref name="DCTnamespaceElements"/>
355
+ <zeroOrMore>
356
+ <choice>
357
+ <ref name="note"/>
358
+ <ref name="DCTnamespaceElements"/>
359
+ </choice>
360
+ </zeroOrMore>
361
+ </group>
362
+ </choice>
363
+ </define>
364
+ <define name="adminGrp.localattributes">
365
+ <ref name="id.attributes"/>
366
+ </define>
367
+ <define name="adminNote">
368
+ <element name="adminNote">
369
+
370
+ <ref name="adminNote.content"/>
371
+ <ref name="adminNote.localattributes"/>
372
+ </element>
373
+ </define>
374
+ <define name="adminNote.content">
375
+ <text/>
376
+ </define>
377
+ <define name="adminNote.localattributes">
378
+ <ref name="IDLangTgtDtyp.attributes"/>
379
+ <attribute name="type">
380
+
381
+
382
+ <ref name="adminNote.types"/>
383
+
384
+ </attribute>
385
+ <ref name="dca.attributes"/>
386
+ </define>
387
+ <define name="date">
388
+ <element name="date">
389
+
390
+ <ref name="date.content"/>
391
+ <ref name="date.localattributes"/>
392
+ </element>
393
+ </define>
394
+ <define name="date.content">
395
+ <data type="date"/>
396
+ </define>
397
+ <define name="date.localattributes">
398
+ <ref name="id.attributes"/>
399
+ </define>
400
+ <define name="descrip">
401
+ <element name="descrip">
402
+
403
+ <ref name="descrip.content"/>
404
+ <ref name="descrip.localattributes"/>
405
+ </element>
406
+ </define>
407
+ <define name="descrip.content">
408
+ <ref name="entity.noteText"/>
409
+ </define>
410
+ <define name="descrip.localattributes">
411
+ <ref name="IDLangTgtDtyp.attributes"/>
412
+ <attribute name="type">
413
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
414
+ the data-category type of the descrip element, such as definition or
415
+ associated-concept.</a:documentation>
416
+
417
+ <ref name="descrip.types"/>
418
+
419
+ </attribute>
420
+ <ref name="dca.attributes"/>
421
+ </define>
422
+ <define name="descripGrp">
423
+ <element name="descripGrp">
424
+
425
+ <ref name="descripGrp.content"/>
426
+ <ref name="descripGrp.localattributes"/>
427
+ </element>
428
+ </define>
429
+ <define name="descripGrp.content">
430
+ <choice>
431
+ <group>
432
+ <ref name="descrip"/>
433
+ <zeroOrMore>
434
+ <choice>
435
+ <ref name="descripNote"/>
436
+ <ref name="admin"/>
437
+ <ref name="adminGrp"/>
438
+ <ref name="transacGrp"/>
439
+ <ref name="note"/>
440
+ <ref name="ref"/>
441
+ <ref name="xref"/>
442
+ </choice>
443
+ </zeroOrMore>
444
+ </group>
445
+ <group>
446
+ <ref name="DCTnamespaceElements"/>
447
+ <zeroOrMore>
448
+ <choice>
449
+ <ref name="note"/>
450
+ <ref name="adminGrp"/>
451
+ <ref name="transacGrp"/>
452
+ <ref name="DCTnamespaceElements"/>
453
+ </choice>
454
+ </zeroOrMore>
455
+ </group>
456
+ </choice>
457
+ </define>
458
+ <define name="descripGrp.localattributes">
459
+ <ref name="id.attributes"/>
460
+ </define>
461
+ <define name="descripNote">
462
+ <element name="descripNote">
463
+
464
+ <ref name="descripNote.content"/>
465
+ <ref name="descripNote.localattributes"/>
466
+ </element>
467
+ </define>
468
+ <define name="descripNote.content">
469
+ <text/>
470
+ </define>
471
+ <define name="descripNote.localattributes">
472
+ <ref name="IDLangTgtDtyp.attributes"/>
473
+ <attribute name="type">
474
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
475
+ the data-category type of the descripNote element, such as
476
+ contextType.</a:documentation>
477
+
478
+ <ref name="descripNote.types"/>
479
+
480
+ </attribute>
481
+ <ref name="dca.attributes"/>
482
+ </define>
483
+ <define name="langSec">
484
+ <element name="langSec">
485
+
486
+ <ref name="langSec.content"/>
487
+ <ref name="langSec.localattributes"/>
488
+ </element>
489
+ </define>
490
+ <define name="langSec.content">
491
+ <ref name="entity.auxInfo"/>
492
+ <oneOrMore>
493
+ <choice>
494
+ <ref name="termSec"/>
495
+ </choice>
496
+ </oneOrMore>
497
+ </define>
498
+ <define name="langSec.localattributes">
499
+ <attribute name="xml:lang">
500
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
501
+ the language of the language section. This attribute is required for the langSec
502
+ element. See also the description on the tbx element.</a:documentation>
503
+ <text/>
504
+ </attribute>
505
+ </define>
506
+ <define name="note">
507
+ <element name="note">
508
+
509
+ <ref name="note.content"/>
510
+ <ref name="note.localattributes"/>
511
+ </element>
512
+ </define>
513
+ <define name="note.content">
514
+ <ref name="entity.noteText"/>
515
+ </define>
516
+ <define name="note.localattributes">
517
+ <ref name="idlang.attributes"/>
518
+ </define>
519
+ <define name="ref">
520
+ <element name="ref">
521
+
522
+ <ref name="ref.content"/>
523
+ <ref name="ref.localattributes"/>
524
+ </element>
525
+ </define>
526
+ <define name="ref.content">
527
+ <text/>
528
+ </define>
529
+ <define name="ref.localattributes">
530
+ <ref name="IDLangTgtDtyp.attributes"/>
531
+ <attribute name="type">
532
+
533
+
534
+ <ref name="ref.types"/>
535
+
536
+ </attribute>
537
+ <ref name="dca.attributes"/>
538
+ </define>
539
+ <define name="term">
540
+ <element name="term">
541
+ <ref name="term.content"/>
542
+ <ref name="term.localattributes"/>
543
+ </element>
544
+ </define>
545
+ <define name="term.content">
546
+ <ref name="entity.basicText"/>
547
+ </define>
548
+ <define name="term.localattributes">
549
+ <ref name="id.attributes"/>
550
+ </define>
551
+ <define name="conceptEntry">
552
+ <element name="conceptEntry">
553
+
554
+ <ref name="conceptEntry.content"/>
555
+ <ref name="conceptEntry.localattributes"/>
556
+ </element>
557
+ </define>
558
+ <define name="conceptEntry.content">
559
+ <ref name="entity.auxInfo"/>
560
+ <oneOrMore>
561
+ <ref name="langSec"/>
562
+ </oneOrMore>
563
+ </define>
564
+ <define name="conceptEntry.localattributes">
565
+ <ref name="id.attribute.id"/>
566
+ </define>
567
+ <define name="termNote">
568
+ <element name="termNote">
569
+ <ref name="termNote.content"/>
570
+ <ref name="termNote.localattributes"/>
571
+ </element>
572
+ </define>
573
+ <define name="termNote.content">
574
+ <ref name="entity.noteText"/>
575
+ </define>
576
+ <define name="termNote.localattributes">
577
+ <ref name="IDLangTgtDtyp.attributes"/>
578
+ <attribute name="type">
579
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
580
+ the data-category type of the termNote, such as partOfSpeech or
581
+ termType.</a:documentation>
582
+ <ref name="termNote.types"/>
583
+ </attribute>
584
+ <ref name="dca.attributes"/>
585
+ </define>
586
+ <define name="termNoteGrp">
587
+ <element name="termNoteGrp">
588
+ <ref name="termNoteGrp.content"/>
589
+ <ref name="termNoteGrp.localattributes"/>
590
+ </element>
591
+ </define>
592
+ <define name="termNoteGrp.content">
593
+ <choice>
594
+ <ref name="termNote"/>
595
+ <ref name="DCTnamespaceElements"/>
596
+ </choice>
597
+ <ref name="entity.noteLinkInfo"/>
598
+ </define>
599
+ <define name="termNoteGrp.localattributes">
600
+ <ref name="id.attributes"/>
601
+ </define>
602
+ <define name="termSec">
603
+ <element name="termSec">
604
+ <ref name="termSec.content"/>
605
+ <ref name="termSec.localattributes"/>
606
+ </element>
607
+ </define>
608
+ <define name="termSec.content">
609
+ <ref name="term"/>
610
+ <choice>
611
+ <zeroOrMore>
612
+ <choice>
613
+ <ref name="termNote"/>
614
+ <ref name="termNoteGrp"/>
615
+ </choice>
616
+ </zeroOrMore>
617
+ <zeroOrMore>
618
+ <ref name="DCTnamespaceElements"/>
619
+ </zeroOrMore>
620
+ </choice>
621
+ <ref name="entity.auxInfo"/>
622
+ </define>
623
+ <define name="termSec.localattributes">
624
+ <ref name="id.attributes"/>
625
+ </define>
626
+ <define name="transac">
627
+ <element name="transac">
628
+ <ref name="transac.content"/>
629
+ <ref name="transac.localattributes"/>
630
+ </element>
631
+ </define>
632
+ <define name="transac.content">
633
+ <text/>
634
+ </define>
635
+ <define name="transac.localattributes">
636
+ <ref name="IDLangTgtDtyp.attributes"/>
637
+ <attribute name="type">
638
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The
639
+ attribute value transactionType ensures that the content of the transac element will be
640
+ a transaction type.</a:documentation>
641
+ <ref name="transac.types"/>
642
+ </attribute>
643
+ <ref name="dca.attributes"/>
644
+ </define>
645
+ <define name="transacGrp">
646
+ <element name="transacGrp">
647
+ <ref name="transacGrp.content"/>
648
+ <ref name="transacGrp.localattributes"/>
649
+ </element>
650
+ </define>
651
+ <define name="transacGrp.content">
652
+ <choice>
653
+ <group>
654
+ <ref name="transac"/>
655
+ <zeroOrMore>
656
+ <choice>
657
+ <ref name="transacNote"/>
658
+ <ref name="date"/>
659
+ <ref name="note"/>
660
+ <ref name="ref"/>
661
+ <ref name="xref"/>
662
+ </choice>
663
+ </zeroOrMore>
664
+ </group>
665
+ <group>
666
+ <ref name="DCTnamespaceElements"/>
667
+ <zeroOrMore>
668
+ <choice>
669
+ <ref name="date"/>
670
+ <ref name="note"/>
671
+ <ref name="DCTnamespaceElements"/>
672
+ </choice>
673
+ </zeroOrMore>
674
+ </group>
675
+ </choice>
676
+ </define>
677
+ <define name="transacGrp.localattributes">
678
+ <ref name="id.attributes"/>
679
+ </define>
680
+ <define name="transacNote">
681
+ <element name="transacNote">
682
+
683
+ <ref name="transacNote.content"/>
684
+ <ref name="transacNote.localattributes"/>
685
+ </element>
686
+ </define>
687
+ <define name="transacNote.content">
688
+ <text/>
689
+ </define>
690
+ <define name="transacNote.localattributes">
691
+ <ref name="IDLangTgtDtyp.attributes"/>
692
+ <attribute name="type">
693
+ <ref name="transacNote.types"/>
694
+ </attribute>
695
+ <ref name="dca.attributes"/>
696
+ </define>
697
+ <define name="xref">
698
+ <element name="xref">
699
+ <ref name="xref.content"/>
700
+ <ref name="xref.localattributes"/>
701
+ </element>
702
+ </define>
703
+ <define name="xref.content">
704
+ <text/>
705
+ </define>
706
+ <define name="xref.localattributes">
707
+ <ref name="id.attributes"/>
708
+ <attribute name="target">
709
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The URI of
710
+ the external object.</a:documentation>
711
+ <data type="anyURI">
712
+ <param name="pattern">https?://.+</param>
713
+ </data>
714
+ </attribute>
715
+ <attribute name="type">
716
+ <ref name="xref.types"/>
717
+ </attribute>
718
+ <ref name="dca.attributes"/>
719
+ </define>
720
+ <define name="tbx">
721
+ <element name="tbx">
722
+ <ref name="tbx.content"/>
723
+ <ref name="tbx.localattributes"/>
724
+ </element>
725
+ </define>
726
+ <define name="tbx.content">
727
+ <ref name="tbxHeader"/>
728
+ <ref name="text"/>
729
+ </define>
730
+ <define name="tbx.localattributes">
731
+ <attribute name="style">
732
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0"> Indicates
733
+ whether the file adheres to Data Category as Tag or Data Category as Attribute, DCT or
734
+ DCA, style. </documentation>
735
+ <choice>
736
+ <value>dca</value>
737
+ <value>dct</value>
738
+ </choice>
739
+ </attribute>
740
+ <attribute name="xml:lang">
741
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
742
+ the default language of the entire tbx element content. The allowed values of the
743
+ xml:lang attribute are found in IETF RFC 4646 or its successor, as indicated in IETF BCP
744
+ 47. This attribute is required for the tbx element.</a:documentation>
745
+ <text/>
746
+ </attribute>
747
+ <attribute name="type">
748
+ <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
749
+ the type of tbx document. If the type attribute value TBX is used, then the TBX document
750
+ instance shall adhere to the default XCS file. If the TBX document instance adheres to
751
+ another XCS file, then the type attribute value can consist of TBX- plus another word
752
+ associated with the XCS file, such as 'TBX-Basic'.</a:documentation>
753
+ <data type="string">
754
+ <param name="pattern">TBX-.+</param>
755
+ </data>
756
+ </attribute>
757
+ </define>
758
+ <define name="tbxHeader">
759
+ <element name="tbxHeader">
760
+ <ref name="tbxHeader.content"/>
761
+ <ref name="tbxHeader.localattributes"/>
762
+ </element>
763
+ </define>
764
+ <define name="tbxHeader.content">
765
+ <ref name="fileDesc"/>
766
+ <optional>
767
+ <ref name="encodingDesc"/>
768
+ </optional>
769
+ <optional>
770
+ <ref name="revisionDesc"/>
771
+ </optional>
772
+ </define>
773
+ <define name="tbxHeader.localattributes">
774
+ <ref name="id.attributes"/>
775
+ </define>
776
+ <define name="p">
777
+ <element name="p">
778
+
779
+ <ref name="p.content"/>
780
+ <ref name="p.localattributes"/>
781
+ </element>
782
+ </define>
783
+ <define name="p.content">
784
+ <ref name="entity.noteText"/>
785
+ </define>
786
+ <define name="p.localattributes">
787
+ <ref name="idlang.attributes"/>
788
+ <optional>
789
+ <attribute name="type">
790
+ <text/>
791
+ </attribute>
792
+ </optional>
793
+ </define>
794
+ <define name="fileDesc">
795
+ <element name="fileDesc">
796
+
797
+ <ref name="fileDesc.content"/>
798
+ <ref name="fileDesc.localattributes"/>
799
+ </element>
800
+ </define>
801
+ <define name="fileDesc.content">
802
+ <optional>
803
+ <ref name="titleStmt"/>
804
+ </optional>
805
+ <optional>
806
+ <ref name="publicationStmt"/>
807
+ </optional>
808
+ <oneOrMore>
809
+ <ref name="sourceDesc"/>
810
+ </oneOrMore>
811
+ </define>
812
+ <define name="fileDesc.localattributes">
813
+ <ref name="id.attributes"/>
814
+ </define>
815
+ <define name="titleStmt">
816
+ <element name="titleStmt">
817
+
818
+ <ref name="titleStmt.content"/>
819
+ <ref name="titleStmt.localattributes"/>
820
+ </element>
821
+ </define>
822
+ <define name="titleStmt.content">
823
+ <ref name="title"/>
824
+ <zeroOrMore>
825
+ <ref name="note"/>
826
+ </zeroOrMore>
827
+ </define>
828
+ <define name="titleStmt.localattributes">
829
+ <ref name="idlang.attributes"/>
830
+ </define>
831
+ <define name="title">
832
+ <element name="title">
833
+
834
+ <ref name="title.content"/>
835
+ <ref name="title.localattributes"/>
836
+ </element>
837
+ </define>
838
+ <define name="title.content">
839
+ <text/>
840
+ </define>
841
+ <define name="title.localattributes">
842
+ <ref name="idlang.attributes"/>
843
+ </define>
844
+ <define name="publicationStmt">
845
+ <element name="publicationStmt">
846
+
847
+ <ref name="publicationStmt.content"/>
848
+ <ref name="publicationStmt.localattributes"/>
849
+ </element>
850
+ </define>
851
+ <define name="publicationStmt.content">
852
+ <oneOrMore>
853
+ <ref name="p"/>
854
+ </oneOrMore>
855
+ </define>
856
+ <define name="publicationStmt.localattributes">
857
+ <ref name="id.attributes"/>
858
+ </define>
859
+ <define name="sourceDesc">
860
+ <element name="sourceDesc">
861
+ <ref name="sourceDesc.content"/>
862
+ <ref name="sourceDesc.localattributes"/>
863
+ </element>
864
+ </define>
865
+ <define name="sourceDesc.content">
866
+ <oneOrMore>
867
+ <ref name="p"/>
868
+ </oneOrMore>
869
+ </define>
870
+ <define name="sourceDesc.localattributes">
871
+ <ref name="idlang.attributes"/>
872
+ </define>
873
+ <define name="encodingDesc">
874
+ <element name="encodingDesc">
875
+
876
+ <ref name="encodingDesc.content"/>
877
+ <ref name="encodingDesc.localattributes"/>
878
+ </element>
879
+ </define>
880
+ <define name="encodingDesc.content">
881
+ <oneOrMore>
882
+ <ref name="p"/>
883
+ </oneOrMore>
884
+ </define>
885
+ <define name="encodingDesc.localattributes">
886
+ <ref name="id.attributes"/>
887
+ </define>
888
+ <define name="revisionDesc">
889
+ <element name="revisionDesc">
890
+
891
+ <ref name="revisionDesc.content"/>
892
+ <ref name="revisionDesc.localattributes"/>
893
+ </element>
894
+ </define>
895
+ <define name="revisionDesc.content">
896
+ <oneOrMore>
897
+ <ref name="change"/>
898
+ </oneOrMore>
899
+ </define>
900
+ <define name="revisionDesc.localattributes">
901
+ <ref name="idlang.attributes"/>
902
+ </define>
903
+ <define name="change">
904
+ <element name="change">
905
+
906
+ <ref name="change.content"/>
907
+ <ref name="change.localattributes"/>
908
+ </element>
909
+ </define>
910
+ <define name="change.content">
911
+ <oneOrMore>
912
+ <ref name="p"/>
913
+ </oneOrMore>
914
+ </define>
915
+ <define name="change.localattributes">
916
+ <ref name="idlang.attributes"/>
917
+ </define>
918
+ <define name="text">
919
+ <element name="text">
920
+
921
+ <ref name="text.content"/>
922
+ <ref name="text.localattributes"/>
923
+ </element>
924
+ </define>
925
+ <define name="text.content">
926
+ <ref name="body"/>
927
+ <optional>
928
+ <ref name="back"/>
929
+ </optional>
930
+ </define>
931
+ <define name="text.localattributes">
932
+ <ref name="id.attributes"/>
933
+ </define>
934
+ <define name="body">
935
+ <element name="body">
936
+
937
+ <ref name="body.content"/>
938
+ <ref name="body.localattributes"/>
939
+ </element>
940
+ </define>
941
+ <define name="body.content">
942
+ <oneOrMore>
943
+ <ref name="conceptEntry"/>
944
+ </oneOrMore>
945
+ </define>
946
+ <define name="body.localattributes">
947
+ <ref name="id.attributes"/>
948
+ </define>
949
+ <define name="back">
950
+ <element name="back">
951
+
952
+ <ref name="back.content"/>
953
+ <ref name="back.localattributes"/>
954
+ </element>
955
+ </define>
956
+ <define name="back.content">
957
+ <zeroOrMore>
958
+ <ref name="refObjectSec"/>
959
+ </zeroOrMore>
960
+ </define>
961
+ <define name="back.localattributes">
962
+ <ref name="id.attributes"/>
963
+ </define>
964
+ <define name="refObjectSec">
965
+ <element name="refObjectSec">
966
+
967
+ <ref name="refObjectSec.content"/>
968
+ <ref name="refObjectSec.localattributes"/>
969
+ </element>
970
+ </define>
971
+ <define name="refObjectSec.content">
972
+ <oneOrMore>
973
+ <ref name="refObject"/>
974
+ </oneOrMore>
975
+ </define>
976
+ <define name="refObjectSec.localattributes">
977
+ <ref name="id.attributes"/>
978
+ <attribute name="type">
979
+ <text/>
980
+ </attribute>
981
+ </define>
982
+ <define name="refObject">
983
+ <element name="refObject">
984
+ <ref name="refObject.content"/>
985
+ <ref name="refObject.localattributes"/>
986
+ </element>
987
+ </define>
988
+ <define name="refObject.content">
989
+ <oneOrMore>
990
+ <choice>
991
+ <ref name="itemSet"/>
992
+ <ref name="itemGrp"/>
993
+ <ref name="item"/>
994
+ </choice>
995
+ </oneOrMore>
996
+ </define>
997
+ <define name="refObject.localattributes">
998
+ <ref name="id.attributes"/>
999
+ </define>
1000
+ <define name="item">
1001
+ <element name="item">
1002
+
1003
+ <ref name="item.content"/>
1004
+ <ref name="item.localattributes"/>
1005
+ </element>
1006
+ </define>
1007
+ <define name="item.content">
1008
+ <ref name="entity.noteText"/>
1009
+ </define>
1010
+ <define name="item.localattributes">
1011
+ <ref name="idtype.attributes"/>
1012
+ </define>
1013
+ <define name="itemGrp">
1014
+ <element name="itemGrp">
1015
+
1016
+ <ref name="itemGrp.content"/>
1017
+ <ref name="itemGrp.localattributes"/>
1018
+ </element>
1019
+ </define>
1020
+ <define name="itemGrp.content">
1021
+ <ref name="item"/>
1022
+ <ref name="entity.noteLinkInfo"/>
1023
+ </define>
1024
+ <define name="itemGrp.localattributes">
1025
+ <ref name="id.attributes"/>
1026
+ </define>
1027
+ <define name="itemSet">
1028
+ <element name="itemSet">
1029
+
1030
+ <ref name="itemSet.content"/>
1031
+ <ref name="itemSet.localattributes"/>
1032
+ </element>
1033
+ </define>
1034
+ <define name="itemSet.content">
1035
+ <oneOrMore>
1036
+ <choice>
1037
+ <ref name="item"/>
1038
+ <ref name="itemGrp"/>
1039
+ </choice>
1040
+ </oneOrMore>
1041
+ </define>
1042
+ <define name="itemSet.localattributes">
1043
+ <ref name="idtype.attributes"/>
1044
+ </define>
1045
+
1046
+
1047
+
1048
+ <!-- DCA specific module attribute -->
1049
+ <define name="dca.attributes">
1050
+ <optional>
1051
+ <attribute name="module">
1052
+ <text/>
1053
+ </attribute>
1054
+ </optional>
1055
+ </define>
1056
+
1057
+ <!-- Extension Points for DCT -->
1058
+ <define name="DCTnamespaceElements">
1059
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0"> This is an
1060
+ extension point for TBX data categories which are brought in from another namespace to form
1061
+ a dialect. </documentation>
1062
+ <element>
1063
+ <anyName>
1064
+ <except>
1065
+ <nsName ns="urn:iso:std:iso:30042:ed-2"/>
1066
+ </except>
1067
+ </anyName>
1068
+ <zeroOrMore>
1069
+ <choice>
1070
+ <attribute>
1071
+ <anyName>
1072
+ <except>
1073
+ <nsName ns="urn:iso:std:iso:30042:ed-2"/>
1074
+ </except>
1075
+ </anyName>
1076
+ </attribute>
1077
+ <text/>
1078
+ <ref name="DCTnamespaceElements"/>
1079
+ </choice>
1080
+ </zeroOrMore>
1081
+ </element>
1082
+ </define>
1083
+
1084
+ <!-- Extension Points for DCA type values. If co-constraint validation is required, such constraints must be supplied via a Schematron file -->
1085
+ <define name="admin.types">
1086
+ <choice>
1087
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1088
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1089
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1090
+ </documentation>
1091
+ <empty/>
1092
+ </choice>
1093
+ </define>
1094
+ <define name="adminNote.types">
1095
+ <choice>
1096
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1097
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1098
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1099
+ </documentation>
1100
+ <empty/>
1101
+ </choice>
1102
+ </define>
1103
+ <define name="descrip.types">
1104
+ <choice>
1105
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1106
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1107
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1108
+ </documentation>
1109
+ <empty/>
1110
+ </choice>
1111
+ </define>
1112
+ <define name="descripNote.types">
1113
+ <choice>
1114
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1115
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1116
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1117
+ </documentation>
1118
+ <empty/>
1119
+ </choice>
1120
+ </define>
1121
+ <define name="ref.types">
1122
+ <choice>
1123
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1124
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1125
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1126
+ </documentation>
1127
+ <empty/>
1128
+ </choice>
1129
+ </define>
1130
+ <define name="transac.types">
1131
+ <choice>
1132
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1133
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1134
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1135
+ </documentation>
1136
+ <empty/>
1137
+ </choice>
1138
+ </define>
1139
+ <define name="transacNote.types">
1140
+ <choice>
1141
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1142
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1143
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1144
+ </documentation>
1145
+ <empty/>
1146
+ </choice>
1147
+ </define>
1148
+ <define name="xref.types">
1149
+ <choice>
1150
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1151
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1152
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1153
+ </documentation>
1154
+ <empty/>
1155
+ </choice>
1156
+ </define>
1157
+
1158
+ <define name="termNote.types">
1159
+ <choice>
1160
+ <documentation xmlns="http://relaxng.org/ns/compatibility/annotations/1.0">
1161
+ <p>For an integrated schema for use in non-namespace environments (DCA style), replace
1162
+ &lt;text/&gt; with the allowed values of the "type" attribute.</p>
1163
+ </documentation>
1164
+ <empty/>
1165
+ </choice>
1166
+ </define>
1167
+
1168
+ <start>
1169
+ <ref name="tbx"/>
1170
+ </start>
1171
+ </grammar>