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