metanorma-standoc 1.10.5 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +19 -23
  3. data/Rakefile +1 -1
  4. data/lib/asciidoctor/standoc/base.rb +14 -17
  5. data/lib/asciidoctor/standoc/basicdoc.rng +21 -4
  6. data/lib/asciidoctor/standoc/blocks.rb +26 -23
  7. data/lib/asciidoctor/standoc/blocks_notes.rb +17 -22
  8. data/lib/asciidoctor/standoc/cleanup.rb +46 -12
  9. data/lib/asciidoctor/standoc/cleanup_block.rb +5 -70
  10. data/lib/asciidoctor/standoc/cleanup_image.rb +6 -7
  11. data/lib/asciidoctor/standoc/cleanup_inline.rb +44 -102
  12. data/lib/asciidoctor/standoc/cleanup_maths.rb +5 -6
  13. data/lib/asciidoctor/standoc/cleanup_ref.rb +5 -0
  14. data/lib/asciidoctor/standoc/cleanup_reqt.rb +51 -33
  15. data/lib/asciidoctor/standoc/cleanup_section_names.rb +5 -5
  16. data/lib/asciidoctor/standoc/cleanup_symbols.rb +48 -0
  17. data/lib/asciidoctor/standoc/cleanup_table.rb +68 -0
  18. data/lib/asciidoctor/standoc/cleanup_terms.rb +38 -78
  19. data/lib/asciidoctor/standoc/cleanup_terms_designations.rb +162 -0
  20. data/lib/asciidoctor/standoc/cleanup_text.rb +5 -2
  21. data/lib/asciidoctor/standoc/cleanup_xref.rb +107 -0
  22. data/lib/asciidoctor/standoc/converter.rb +15 -0
  23. data/lib/asciidoctor/standoc/inline.rb +7 -5
  24. data/lib/asciidoctor/standoc/isodoc.rng +435 -78
  25. data/lib/asciidoctor/standoc/lists.rb +15 -15
  26. data/lib/asciidoctor/standoc/macros.rb +14 -43
  27. data/lib/asciidoctor/standoc/macros_note.rb +45 -0
  28. data/lib/asciidoctor/standoc/macros_plantuml.rb +29 -14
  29. data/lib/asciidoctor/standoc/macros_terms.rb +82 -20
  30. data/lib/asciidoctor/standoc/ref_sect.rb +24 -17
  31. data/lib/asciidoctor/standoc/reqt.rb +2 -2
  32. data/lib/asciidoctor/standoc/reqt.rng +23 -2
  33. data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +50 -11
  34. data/lib/asciidoctor/standoc/terms.rb +21 -3
  35. data/lib/asciidoctor/standoc/utils.rb +36 -23
  36. data/lib/asciidoctor/standoc/validate.rb +45 -27
  37. data/lib/asciidoctor/standoc/validate_section.rb +5 -2
  38. data/lib/metanorma/standoc/version.rb +1 -1
  39. data/metanorma-standoc.gemspec +1 -1
  40. data/spec/asciidoctor/base_spec.rb +4 -36
  41. data/spec/asciidoctor/blank_spec.rb +37 -0
  42. data/spec/asciidoctor/blocks_spec.rb +296 -47
  43. data/spec/asciidoctor/cleanup_blocks_spec.rb +1018 -0
  44. data/spec/asciidoctor/cleanup_sections_spec.rb +153 -12
  45. data/spec/asciidoctor/cleanup_spec.rb +179 -1265
  46. data/spec/asciidoctor/cleanup_terms_spec.rb +990 -0
  47. data/spec/asciidoctor/inline_spec.rb +38 -2
  48. data/spec/asciidoctor/lists_spec.rb +6 -6
  49. data/spec/asciidoctor/macros_plantuml_spec.rb +37 -2
  50. data/spec/asciidoctor/macros_spec.rb +226 -138
  51. data/spec/asciidoctor/refs_spec.rb +4 -26
  52. data/spec/asciidoctor/section_spec.rb +18 -18
  53. data/spec/asciidoctor/validate_spec.rb +109 -1
  54. data/spec/assets/xref_error.adoc +1 -0
  55. data/spec/fixtures/datamodel_description_sections_tree.xml +327 -326
  56. data/spec/spec_helper.rb +6 -7
  57. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +51 -51
  58. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +13 -13
  59. data/spec/vcr_cassettes/isobib_get_123.yml +13 -13
  60. data/spec/vcr_cassettes/isobib_get_123_1.yml +26 -26
  61. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +34 -34
  62. data/spec/vcr_cassettes/isobib_get_123_2001.yml +12 -12
  63. data/spec/vcr_cassettes/isobib_get_124.yml +13 -13
  64. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +16 -16
  65. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +51 -49
  66. metadata +13 -5
@@ -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 ns="https://www.metanorma.org/ns/standoc" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
20
+ <grammar ns="https://www.metanorma.org/ns/standoc" 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">
@@ -62,7 +62,9 @@
62
62
  <data type="boolean"/>
63
63
  </attribute>
64
64
  </optional>
65
- <text/>
65
+ <oneOrMore>
66
+ <ref name="PureTextElement"/>
67
+ </oneOrMore>
66
68
  </element>
67
69
  </define>
68
70
  <define name="xref">
@@ -100,7 +102,9 @@
100
102
  <data type="boolean"/>
101
103
  </attribute>
102
104
  </optional>
103
- <text/>
105
+ <oneOrMore>
106
+ <ref name="PureTextElement"/>
107
+ </oneOrMore>
104
108
  </element>
105
109
  </define>
106
110
  <define name="erefType">
@@ -130,7 +134,9 @@
130
134
  </attribute>
131
135
  </optional>
132
136
  <ref name="CitationType"/>
133
- <text/>
137
+ <oneOrMore>
138
+ <ref name="PureTextElement"/>
139
+ </oneOrMore>
134
140
  </define>
135
141
  <define name="ul">
136
142
  <element name="ul">
@@ -147,6 +153,14 @@
147
153
  <data type="boolean"/>
148
154
  </attribute>
149
155
  </optional>
156
+ <optional>
157
+ <attribute name="tag"/>
158
+ </optional>
159
+ <optional>
160
+ <attribute name="multilingual-rendering">
161
+ <ref name="MultilingualRenderingType"/>
162
+ </attribute>
163
+ </optional>
150
164
  <oneOrMore>
151
165
  <ref name="ul_li"/>
152
166
  </oneOrMore>
@@ -170,6 +184,14 @@
170
184
  <data type="boolean"/>
171
185
  </attribute>
172
186
  </optional>
187
+ <optional>
188
+ <attribute name="tag"/>
189
+ </optional>
190
+ <optional>
191
+ <attribute name="multilingual-rendering">
192
+ <ref name="MultilingualRenderingType"/>
193
+ </attribute>
194
+ </optional>
173
195
  <optional>
174
196
  <attribute name="type">
175
197
  <choice>
@@ -209,6 +231,14 @@
209
231
  <data type="boolean"/>
210
232
  </attribute>
211
233
  </optional>
234
+ <optional>
235
+ <attribute name="tag"/>
236
+ </optional>
237
+ <optional>
238
+ <attribute name="multilingual-rendering">
239
+ <ref name="MultilingualRenderingType"/>
240
+ </attribute>
241
+ </optional>
212
242
  <oneOrMore>
213
243
  <ref name="dt"/>
214
244
  <ref name="dd"/>
@@ -256,6 +286,14 @@
256
286
  <data type="boolean"/>
257
287
  </attribute>
258
288
  </optional>
289
+ <optional>
290
+ <attribute name="tag"/>
291
+ </optional>
292
+ <optional>
293
+ <attribute name="multilingual-rendering">
294
+ <ref name="MultilingualRenderingType"/>
295
+ </attribute>
296
+ </optional>
259
297
  <optional>
260
298
  <ref name="tname"/>
261
299
  </optional>
@@ -316,6 +354,14 @@
316
354
  <optional>
317
355
  <attribute name="width"/>
318
356
  </optional>
357
+ <optional>
358
+ <attribute name="tag"/>
359
+ </optional>
360
+ <optional>
361
+ <attribute name="multilingual-rendering">
362
+ <ref name="MultilingualRenderingType"/>
363
+ </attribute>
364
+ </optional>
319
365
  <optional>
320
366
  <ref name="colgroup"/>
321
367
  </optional>
@@ -366,6 +412,14 @@
366
412
  <optional>
367
413
  <attribute name="class"/>
368
414
  </optional>
415
+ <optional>
416
+ <attribute name="tag"/>
417
+ </optional>
418
+ <optional>
419
+ <attribute name="multilingual-rendering">
420
+ <ref name="MultilingualRenderingType"/>
421
+ </attribute>
422
+ </optional>
369
423
  <optional>
370
424
  <ref name="source"/>
371
425
  </optional>
@@ -424,6 +478,14 @@
424
478
  <optional>
425
479
  <attribute name="lang"/>
426
480
  </optional>
481
+ <optional>
482
+ <attribute name="tag"/>
483
+ </optional>
484
+ <optional>
485
+ <attribute name="multilingual-rendering">
486
+ <ref name="MultilingualRenderingType"/>
487
+ </attribute>
488
+ </optional>
427
489
  <optional>
428
490
  <ref name="tname"/>
429
491
  </optional>
@@ -472,6 +534,14 @@
472
534
  <data type="boolean"/>
473
535
  </attribute>
474
536
  </optional>
537
+ <optional>
538
+ <attribute name="tag"/>
539
+ </optional>
540
+ <optional>
541
+ <attribute name="multilingual-rendering">
542
+ <ref name="MultilingualRenderingType"/>
543
+ </attribute>
544
+ </optional>
475
545
  <ref name="stem"/>
476
546
  <optional>
477
547
  <ref name="dl"/>
@@ -500,6 +570,14 @@
500
570
  <data type="boolean"/>
501
571
  </attribute>
502
572
  </optional>
573
+ <optional>
574
+ <attribute name="tag"/>
575
+ </optional>
576
+ <optional>
577
+ <attribute name="multilingual-rendering">
578
+ <ref name="MultilingualRenderingType"/>
579
+ </attribute>
580
+ </optional>
503
581
  <zeroOrMore>
504
582
  <ref name="TextElement"/>
505
583
  </zeroOrMore>
@@ -527,6 +605,14 @@
527
605
  <data type="boolean"/>
528
606
  </attribute>
529
607
  </optional>
608
+ <optional>
609
+ <attribute name="tag"/>
610
+ </optional>
611
+ <optional>
612
+ <attribute name="multilingual-rendering">
613
+ <ref name="MultilingualRenderingType"/>
614
+ </attribute>
615
+ </optional>
530
616
  <zeroOrMore>
531
617
  <choice>
532
618
  <ref name="TextElement"/>
@@ -558,6 +644,14 @@
558
644
  <data type="boolean"/>
559
645
  </attribute>
560
646
  </optional>
647
+ <optional>
648
+ <attribute name="tag"/>
649
+ </optional>
650
+ <optional>
651
+ <attribute name="multilingual-rendering">
652
+ <ref name="MultilingualRenderingType"/>
653
+ </attribute>
654
+ </optional>
561
655
  <optional>
562
656
  <ref name="quote-source"/>
563
657
  </optional>
@@ -624,9 +718,6 @@
624
718
  <zeroOrMore>
625
719
  <ref name="BasicBlock"/>
626
720
  </zeroOrMore>
627
- <zeroOrMore>
628
- <ref name="note"/>
629
- </zeroOrMore>
630
721
  <zeroOrMore>
631
722
  <ref name="bibitem"/>
632
723
  <zeroOrMore>
@@ -667,6 +758,14 @@
667
758
  <optional>
668
759
  <attribute name="type"/>
669
760
  </optional>
761
+ <optional>
762
+ <attribute name="tag"/>
763
+ </optional>
764
+ <optional>
765
+ <attribute name="multilingual-rendering">
766
+ <ref name="MultilingualRenderingType"/>
767
+ </attribute>
768
+ </optional>
670
769
  <oneOrMore>
671
770
  <choice>
672
771
  <ref name="paragraph"/>
@@ -703,14 +802,9 @@
703
802
  <optional>
704
803
  <ref name="section-title"/>
705
804
  </optional>
706
- <group>
707
- <oneOrMore>
708
- <ref name="BasicBlock"/>
709
- </oneOrMore>
710
- <zeroOrMore>
711
- <ref name="note"/>
712
- </zeroOrMore>
713
- </group>
805
+ <oneOrMore>
806
+ <ref name="BasicBlock"/>
807
+ </oneOrMore>
714
808
  </define>
715
809
  <define name="li">
716
810
  <element name="li">
@@ -845,6 +939,9 @@
845
939
  <ref name="PureTextElement"/>
846
940
  <ref name="stem"/>
847
941
  <ref name="index"/>
942
+ <ref name="eref"/>
943
+ <ref name="xref"/>
944
+ <ref name="hyperlink"/>
848
945
  </choice>
849
946
  </zeroOrMore>
850
947
  </element>
@@ -856,6 +953,9 @@
856
953
  <ref name="PureTextElement"/>
857
954
  <ref name="stem"/>
858
955
  <ref name="index"/>
956
+ <ref name="eref"/>
957
+ <ref name="xref"/>
958
+ <ref name="hyperlink"/>
859
959
  </choice>
860
960
  </zeroOrMore>
861
961
  </element>
@@ -866,6 +966,9 @@
866
966
  <choice>
867
967
  <ref name="PureTextElement"/>
868
968
  <ref name="index"/>
969
+ <ref name="eref"/>
970
+ <ref name="xref"/>
971
+ <ref name="hyperlink"/>
869
972
  </choice>
870
973
  </zeroOrMore>
871
974
  </element>
@@ -924,6 +1027,14 @@
924
1027
  </define>
925
1028
  </include>
926
1029
  <!-- end overrides -->
1030
+ <define name="MultilingualRenderingType">
1031
+ <choice>
1032
+ <value>common</value>
1033
+ <value>all-columns</value>
1034
+ <value>parallel</value>
1035
+ <value>tag</value>
1036
+ </choice>
1037
+ </define>
927
1038
  <define name="docsubtype">
928
1039
  <element name="subdoctype">
929
1040
  <ref name="DocumentSubtype"/>
@@ -990,6 +1101,16 @@
990
1101
  <data type="boolean"/>
991
1102
  </attribute>
992
1103
  </optional>
1104
+ <optional>
1105
+ <attribute name="linkmention">
1106
+ <data type="boolean"/>
1107
+ </attribute>
1108
+ </optional>
1109
+ <optional>
1110
+ <attribute name="linkref">
1111
+ <data type="boolean"/>
1112
+ </attribute>
1113
+ </optional>
993
1114
  <optional>
994
1115
  <element name="refterm">
995
1116
  <zeroOrMore>
@@ -1026,6 +1147,7 @@
1026
1147
  <ref name="svgmap"/>
1027
1148
  <ref name="inputform"/>
1028
1149
  <ref name="toc"/>
1150
+ <ref name="passthrough"/>
1029
1151
  </choice>
1030
1152
  </define>
1031
1153
  <define name="toc">
@@ -1033,6 +1155,14 @@
1033
1155
  <ref name="ul"/>
1034
1156
  </element>
1035
1157
  </define>
1158
+ <define name="passthrough">
1159
+ <element name="passthrough">
1160
+ <optional>
1161
+ <attribute name="formats"/>
1162
+ </optional>
1163
+ <text/>
1164
+ </element>
1165
+ </define>
1036
1166
  <define name="inputform">
1037
1167
  <element name="form">
1038
1168
  <attribute name="id">
@@ -1043,6 +1173,14 @@
1043
1173
  <optional>
1044
1174
  <attribute name="class"/>
1045
1175
  </optional>
1176
+ <optional>
1177
+ <attribute name="tag"/>
1178
+ </optional>
1179
+ <optional>
1180
+ <attribute name="multilingual-rendering">
1181
+ <ref name="MultilingualRenderingType"/>
1182
+ </attribute>
1183
+ </optional>
1046
1184
  <zeroOrMore>
1047
1185
  <choice>
1048
1186
  <ref name="TextElement"/>
@@ -1242,9 +1380,6 @@
1242
1380
  <zeroOrMore>
1243
1381
  <ref name="BasicBlock"/>
1244
1382
  </zeroOrMore>
1245
- <zeroOrMore>
1246
- <ref name="note"/>
1247
- </zeroOrMore>
1248
1383
  <choice>
1249
1384
  <oneOrMore>
1250
1385
  <ref name="reference-clause"/>
@@ -1427,9 +1562,6 @@
1427
1562
  <zeroOrMore>
1428
1563
  <ref name="BasicBlock"/>
1429
1564
  </zeroOrMore>
1430
- <zeroOrMore>
1431
- <ref name="note"/>
1432
- </zeroOrMore>
1433
1565
  <ref name="dl"/>
1434
1566
  </oneOrMore>
1435
1567
  </element>
@@ -1489,14 +1621,9 @@
1489
1621
  <ref name="section-title"/>
1490
1622
  </optional>
1491
1623
  <group>
1492
- <group>
1493
- <zeroOrMore>
1494
- <ref name="BasicBlock"/>
1495
- </zeroOrMore>
1496
- <zeroOrMore>
1497
- <ref name="note"/>
1498
- </zeroOrMore>
1499
- </group>
1624
+ <zeroOrMore>
1625
+ <ref name="BasicBlock"/>
1626
+ </zeroOrMore>
1500
1627
  <zeroOrMore>
1501
1628
  <ref name="content-subsection"/>
1502
1629
  </zeroOrMore>
@@ -1543,14 +1670,9 @@
1543
1670
  </optional>
1544
1671
  <choice>
1545
1672
  <choice>
1546
- <group>
1547
- <oneOrMore>
1548
- <ref name="BasicBlock"/>
1549
- </oneOrMore>
1550
- <zeroOrMore>
1551
- <ref name="note"/>
1552
- </zeroOrMore>
1553
- </group>
1673
+ <oneOrMore>
1674
+ <ref name="BasicBlock"/>
1675
+ </oneOrMore>
1554
1676
  <ref name="amend"/>
1555
1677
  </choice>
1556
1678
  <oneOrMore>
@@ -1591,14 +1713,9 @@
1591
1713
  <ref name="section-title"/>
1592
1714
  </optional>
1593
1715
  <group>
1594
- <group>
1595
- <zeroOrMore>
1596
- <ref name="BasicBlock"/>
1597
- </zeroOrMore>
1598
- <zeroOrMore>
1599
- <ref name="note"/>
1600
- </zeroOrMore>
1601
- </group>
1716
+ <zeroOrMore>
1717
+ <ref name="BasicBlock"/>
1718
+ </zeroOrMore>
1602
1719
  <zeroOrMore>
1603
1720
  <choice>
1604
1721
  <ref name="annex-subsection"/>
@@ -1657,9 +1774,6 @@
1657
1774
  <zeroOrMore>
1658
1775
  <ref name="BasicBlock"/>
1659
1776
  </zeroOrMore>
1660
- <zeroOrMore>
1661
- <ref name="note"/>
1662
- </zeroOrMore>
1663
1777
  <choice>
1664
1778
  <oneOrMore>
1665
1779
  <ref name="term"/>
@@ -1689,18 +1803,23 @@
1689
1803
  <ref name="admitted"/>
1690
1804
  </zeroOrMore>
1691
1805
  <zeroOrMore>
1692
- <ref name="related"/>
1806
+ <ref name="deprecates"/>
1693
1807
  </zeroOrMore>
1694
1808
  <zeroOrMore>
1695
- <ref name="deprecates"/>
1809
+ <ref name="related"/>
1696
1810
  </zeroOrMore>
1697
1811
  <optional>
1698
1812
  <ref name="termdomain"/>
1699
1813
  </optional>
1700
- <zeroOrMore>
1701
- <ref name="termgrammar"/>
1702
- </zeroOrMore>
1703
- <ref name="definition"/>
1814
+ <optional>
1815
+ <ref name="termsubject"/>
1816
+ </optional>
1817
+ <optional>
1818
+ <ref name="termusage"/>
1819
+ </optional>
1820
+ <oneOrMore>
1821
+ <ref name="termdefinition"/>
1822
+ </oneOrMore>
1704
1823
  <zeroOrMore>
1705
1824
  <ref name="termnote"/>
1706
1825
  </zeroOrMore>
@@ -1714,64 +1833,255 @@
1714
1833
  </define>
1715
1834
  <define name="preferred">
1716
1835
  <element name="preferred">
1717
- <oneOrMore>
1718
- <ref name="TextElement"/>
1719
- </oneOrMore>
1836
+ <ref name="Designation"/>
1720
1837
  </element>
1721
1838
  </define>
1722
1839
  <define name="admitted">
1723
1840
  <element name="admitted">
1724
- <oneOrMore>
1725
- <ref name="TextElement"/>
1726
- </oneOrMore>
1841
+ <ref name="Designation"/>
1727
1842
  </element>
1728
1843
  </define>
1729
1844
  <define name="related">
1730
1845
  <element name="related">
1846
+ <attribute name="type">
1847
+ <ref name="RelatedTermType"/>
1848
+ </attribute>
1849
+ <element name="preferred">
1850
+ <ref name="Designation"/>
1851
+ </element>
1852
+ <choice>
1853
+ <ref name="eref"/>
1854
+ <ref name="xref"/>
1855
+ <ref name="termref"/>
1856
+ </choice>
1857
+ </element>
1858
+ </define>
1859
+ <define name="RelatedTermType">
1860
+ <choice>
1861
+ <value>deprecates</value>
1862
+ <value>supersedes</value>
1863
+ <value>narrower</value>
1864
+ <value>broader</value>
1865
+ <value>equivalent</value>
1866
+ <value>compare</value>
1867
+ <value>contrast</value>
1868
+ <value>see</value>
1869
+ </choice>
1870
+ </define>
1871
+ <define name="deprecates">
1872
+ <element name="deprecates">
1873
+ <ref name="Designation"/>
1874
+ </element>
1875
+ </define>
1876
+ <define name="Designation">
1877
+ <optional>
1878
+ <attribute name="absent">
1879
+ <data type="boolean"/>
1880
+ </attribute>
1881
+ </optional>
1882
+ <optional>
1883
+ <attribute name="geographicArea"/>
1884
+ </optional>
1885
+ <choice>
1886
+ <ref name="expression_designation"/>
1887
+ <ref name="letter_symbol_designation"/>
1888
+ <ref name="graphical_symbol_designation"/>
1889
+ </choice>
1890
+ <zeroOrMore>
1891
+ <ref name="termsource"/>
1892
+ </zeroOrMore>
1893
+ </define>
1894
+ <define name="letter_symbol_designation">
1895
+ <element name="letter-symbol">
1731
1896
  <optional>
1732
- <attribute name="type">
1897
+ <attribute name="isInternational">
1898
+ <data type="boolean"/>
1899
+ </attribute>
1900
+ </optional>
1901
+ <element name="name">
1902
+ <oneOrMore>
1733
1903
  <choice>
1734
- <value>compare</value>
1735
- <value>contrast</value>
1736
- <value>see</value>
1904
+ <ref name="PureTextElement"/>
1905
+ <ref name="stem"/>
1737
1906
  </choice>
1907
+ </oneOrMore>
1908
+ </element>
1909
+ </element>
1910
+ </define>
1911
+ <define name="graphical_symbol_designation">
1912
+ <element name="graphical-symbol">
1913
+ <optional>
1914
+ <attribute name="isInternational">
1915
+ <data type="boolean"/>
1738
1916
  </attribute>
1739
1917
  </optional>
1918
+ <ref name="figure"/>
1919
+ </element>
1920
+ </define>
1921
+ <define name="expression_designation">
1922
+ <element name="expression">
1923
+ <optional>
1924
+ <attribute name="language">
1925
+ <a:documentation>ISO-639</a:documentation>
1926
+ </attribute>
1927
+ </optional>
1928
+ <optional>
1929
+ <attribute name="script">
1930
+ <a:documentation>ISO-15924</a:documentation>
1931
+ </attribute>
1932
+ </optional>
1933
+ <optional>
1934
+ <attribute name="type">
1935
+ <ref name="ExpressionDesignationType"/>
1936
+ </attribute>
1937
+ </optional>
1938
+ <optional>
1939
+ <attribute name="isInternational">
1940
+ <data type="boolean"/>
1941
+ </attribute>
1942
+ </optional>
1943
+ <element name="name">
1944
+ <zeroOrMore>
1945
+ <ref name="PureTextElement"/>
1946
+ </zeroOrMore>
1947
+ </element>
1948
+ <optional>
1949
+ <element name="abbreviationType">
1950
+ <ref name="AbbreviationType"/>
1951
+ </element>
1952
+ </optional>
1953
+ <optional>
1954
+ <element name="pronunciation">
1955
+ <ref name="LocalizedString"/>
1956
+ </element>
1957
+ </optional>
1958
+ <optional>
1959
+ <element name="grammarInfo">
1960
+ <ref name="Grammar"/>
1961
+ </element>
1962
+ </optional>
1963
+ </element>
1964
+ </define>
1965
+ <define name="ExpressionDesignationType">
1966
+ <choice>
1967
+ <value>prefix</value>
1968
+ <value>suffix</value>
1969
+ <value>abbreviation</value>
1970
+ <value>full</value>
1971
+ </choice>
1972
+ </define>
1973
+ <define name="AbbreviationType">
1974
+ <choice>
1975
+ <value>truncation</value>
1976
+ <value>acronym</value>
1977
+ <value>initialism</value>
1978
+ </choice>
1979
+ </define>
1980
+ <define name="Grammar">
1981
+ <zeroOrMore>
1982
+ <element name="gender">
1983
+ <ref name="GrammarGender"/>
1984
+ </element>
1985
+ </zeroOrMore>
1986
+ <optional>
1987
+ <element name="isPreposition">
1988
+ <data type="boolean"/>
1989
+ </element>
1990
+ </optional>
1991
+ <optional>
1992
+ <element name="isParticiple">
1993
+ <data type="boolean"/>
1994
+ </element>
1995
+ </optional>
1996
+ <optional>
1997
+ <element name="isAdjective">
1998
+ <data type="boolean"/>
1999
+ </element>
2000
+ </optional>
2001
+ <optional>
2002
+ <element name="isVerb">
2003
+ <data type="boolean"/>
2004
+ </element>
2005
+ </optional>
2006
+ <optional>
2007
+ <element name="isAdverb">
2008
+ <data type="boolean"/>
2009
+ </element>
2010
+ </optional>
2011
+ <optional>
2012
+ <element name="isNoun">
2013
+ <data type="boolean"/>
2014
+ </element>
2015
+ </optional>
2016
+ <zeroOrMore>
2017
+ <element name="grammarvalue">
2018
+ <text/>
2019
+ </element>
2020
+ </zeroOrMore>
2021
+ </define>
2022
+ <define name="GrammarGender">
2023
+ <choice>
2024
+ <value>masculine</value>
2025
+ <value>feminine</value>
2026
+ <value>neuter</value>
2027
+ <value>common</value>
2028
+ </choice>
2029
+ </define>
2030
+ <define name="termdomain">
2031
+ <element name="domain">
1740
2032
  <oneOrMore>
1741
2033
  <ref name="TextElement"/>
1742
2034
  </oneOrMore>
1743
2035
  </element>
1744
2036
  </define>
1745
- <define name="deprecates">
1746
- <element name="deprecates">
2037
+ <define name="termsubject">
2038
+ <element name="subject">
1747
2039
  <oneOrMore>
1748
2040
  <ref name="TextElement"/>
1749
2041
  </oneOrMore>
1750
2042
  </element>
1751
2043
  </define>
1752
- <define name="termdomain">
1753
- <element name="domain">
2044
+ <define name="termusage">
2045
+ <element name="usageinfo">
1754
2046
  <oneOrMore>
1755
- <ref name="TextElement"/>
2047
+ <ref name="BasicBlock"/>
1756
2048
  </oneOrMore>
1757
2049
  </element>
1758
2050
  </define>
1759
- <define name="termgrammar">
1760
- <element name="grammar">
2051
+ <define name="termdefinition">
2052
+ <element name="definition">
2053
+ <choice>
2054
+ <ref name="verbaldefinition"/>
2055
+ <ref name="nonverbalrep"/>
2056
+ <group>
2057
+ <ref name="verbaldefinition"/>
2058
+ <ref name="nonverbalrep"/>
2059
+ </group>
2060
+ </choice>
2061
+ </element>
2062
+ </define>
2063
+ <define name="verbaldefinition">
2064
+ <element name="verbaldefinition">
1761
2065
  <oneOrMore>
1762
- <ref name="TextElement"/>
2066
+ <ref name="paragraph"/>
1763
2067
  </oneOrMore>
2068
+ <zeroOrMore>
2069
+ <ref name="termsource"/>
2070
+ </zeroOrMore>
1764
2071
  </element>
1765
2072
  </define>
1766
- <define name="definition">
1767
- <element name="definition">
2073
+ <define name="nonverbalrep">
2074
+ <element name="nonverbalrepresentation">
1768
2075
  <oneOrMore>
1769
2076
  <choice>
1770
- <ref name="paragraph"/>
2077
+ <ref name="table"/>
1771
2078
  <ref name="figure"/>
1772
2079
  <ref name="formula"/>
1773
2080
  </choice>
1774
2081
  </oneOrMore>
2082
+ <zeroOrMore>
2083
+ <ref name="termsource"/>
2084
+ </zeroOrMore>
1775
2085
  </element>
1776
2086
  </define>
1777
2087
  <define name="termnote">
@@ -1800,6 +2110,14 @@
1800
2110
  <data type="boolean"/>
1801
2111
  </attribute>
1802
2112
  </optional>
2113
+ <optional>
2114
+ <attribute name="tag"/>
2115
+ </optional>
2116
+ <optional>
2117
+ <attribute name="multilingual-rendering">
2118
+ <ref name="MultilingualRenderingType"/>
2119
+ </attribute>
2120
+ </optional>
1803
2121
  <oneOrMore>
1804
2122
  <choice>
1805
2123
  <ref name="paragraph"/>
@@ -1816,6 +2134,24 @@
1816
2134
  <attribute name="id">
1817
2135
  <data type="ID"/>
1818
2136
  </attribute>
2137
+ <optional>
2138
+ <attribute name="keep-with-next">
2139
+ <data type="boolean"/>
2140
+ </attribute>
2141
+ </optional>
2142
+ <optional>
2143
+ <attribute name="keep-lines-together">
2144
+ <data type="boolean"/>
2145
+ </attribute>
2146
+ </optional>
2147
+ <optional>
2148
+ <attribute name="tag"/>
2149
+ </optional>
2150
+ <optional>
2151
+ <attribute name="multilingual-rendering">
2152
+ <ref name="MultilingualRenderingType"/>
2153
+ </attribute>
2154
+ </optional>
1819
2155
  <ref name="paragraph"/>
1820
2156
  </element>
1821
2157
  </define>
@@ -1942,9 +2278,6 @@
1942
2278
  <zeroOrMore>
1943
2279
  <ref name="BasicBlock"/>
1944
2280
  </zeroOrMore>
1945
- <zeroOrMore>
1946
- <ref name="note"/>
1947
- </zeroOrMore>
1948
2281
  <zeroOrMore>
1949
2282
  <choice>
1950
2283
  <ref name="term-clause"/>
@@ -1983,6 +2316,14 @@
1983
2316
  <optional>
1984
2317
  <attribute name="title"/>
1985
2318
  </optional>
2319
+ <optional>
2320
+ <attribute name="tag"/>
2321
+ </optional>
2322
+ <optional>
2323
+ <attribute name="multilingual-rendering">
2324
+ <ref name="MultilingualRenderingType"/>
2325
+ </attribute>
2326
+ </optional>
1986
2327
  <optional>
1987
2328
  <element name="location">
1988
2329
  <zeroOrMore>
@@ -2042,6 +2383,14 @@
2042
2383
  </define>
2043
2384
  <define name="imagemap">
2044
2385
  <element name="imagemap">
2386
+ <optional>
2387
+ <attribute name="tag"/>
2388
+ </optional>
2389
+ <optional>
2390
+ <attribute name="multilingual-rendering">
2391
+ <ref name="MultilingualRenderingType"/>
2392
+ </attribute>
2393
+ </optional>
2045
2394
  <ref name="figure"/>
2046
2395
  <zeroOrMore>
2047
2396
  <element name="area">
@@ -2086,6 +2435,14 @@
2086
2435
  </define>
2087
2436
  <define name="svgmap">
2088
2437
  <element name="svgmap">
2438
+ <optional>
2439
+ <attribute name="tag"/>
2440
+ </optional>
2441
+ <optional>
2442
+ <attribute name="multilingual-rendering">
2443
+ <ref name="MultilingualRenderingType"/>
2444
+ </attribute>
2445
+ </optional>
2089
2446
  <ref name="figure"/>
2090
2447
  <zeroOrMore>
2091
2448
  <element name="target">