metanorma-iso 1.9.4 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ubuntu.yml +41 -0
  3. data/Gemfile +3 -4
  4. data/Makefile +44 -0
  5. data/Rakefile +1 -1
  6. data/bin/rspec +1 -2
  7. data/lib/asciidoctor/iso/basicdoc.rng +32 -5
  8. data/lib/asciidoctor/iso/biblio.rng +2 -0
  9. data/lib/asciidoctor/iso/cleanup.rb +7 -6
  10. data/lib/asciidoctor/iso/front.rb +9 -1
  11. data/lib/asciidoctor/iso/isodoc.rng +430 -76
  12. data/lib/asciidoctor/iso/isostandard-amd.rng +1 -1
  13. data/lib/asciidoctor/iso/isostandard.rng +9 -23
  14. data/lib/asciidoctor/iso/reqt.rng +24 -3
  15. data/lib/asciidoctor/iso/validate.rb +7 -7
  16. data/lib/asciidoctor/iso/validate_section.rb +1 -1
  17. data/lib/isodoc/iso/html/isodoc.css +1 -2
  18. data/lib/isodoc/iso/html/isodoc.scss +1 -1
  19. data/lib/isodoc/iso/html/wordstyle.css +16 -4
  20. data/lib/isodoc/iso/html/wordstyle.scss +16 -4
  21. data/lib/isodoc/iso/i18n.rb +10 -9
  22. data/lib/isodoc/iso/iso.amendment.xsl +200 -20
  23. data/lib/isodoc/iso/iso.international-standard.xsl +200 -20
  24. data/lib/isodoc/iso/presentation_xml_convert.rb +9 -10
  25. data/lib/isodoc/iso/sections.rb +2 -0
  26. data/lib/isodoc/iso/word_cleanup.rb +94 -0
  27. data/lib/isodoc/iso/word_convert.rb +12 -89
  28. data/lib/metanorma/iso/version.rb +1 -1
  29. data/metanorma-iso.gemspec +4 -3
  30. data/spec/asciidoctor/base_spec.rb +685 -178
  31. data/spec/asciidoctor/blank_spec.rb +38 -0
  32. data/spec/asciidoctor/blocks_spec.rb +22 -47
  33. data/spec/asciidoctor/cleanup_spec.rb +34 -20
  34. data/spec/asciidoctor/inline_spec.rb +10 -2
  35. data/spec/asciidoctor/refs_spec.rb +87 -4
  36. data/spec/asciidoctor/section_spec.rb +3 -3
  37. data/spec/isodoc/i18n_spec.rb +29 -15
  38. data/spec/isodoc/inline_spec.rb +56 -26
  39. data/spec/isodoc/section_spec.rb +1 -1
  40. data/spec/isodoc/table_spec.rb +6 -8
  41. data/spec/isodoc/terms_spec.rb +11 -11
  42. data/spec/isodoc/xref_spec.rb +1397 -1376
  43. data/spec/metanorma/processor_spec.rb +4 -1
  44. data/spec/spec_helper.rb +14 -1
  45. data/spec/vcr_cassettes/docrels.yml +783 -0
  46. data/spec/vcr_cassettes/sortrefs.yml +599 -0
  47. metadata +38 -19
@@ -17,7 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
20
+ <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
21
21
  <include href="reqt.rng"/>
22
22
  <!-- include "biblio.rnc" { } -->
23
23
  <include href="basicdoc.rng">
@@ -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,8 +184,17 @@
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">
197
+ <a:documentation>allow specifying labels of an ordered list</a:documentation>
175
198
  <choice>
176
199
  <value>roman</value>
177
200
  <value>alphabet</value>
@@ -209,6 +232,14 @@
209
232
  <data type="boolean"/>
210
233
  </attribute>
211
234
  </optional>
235
+ <optional>
236
+ <attribute name="tag"/>
237
+ </optional>
238
+ <optional>
239
+ <attribute name="multilingual-rendering">
240
+ <ref name="MultilingualRenderingType"/>
241
+ </attribute>
242
+ </optional>
212
243
  <oneOrMore>
213
244
  <ref name="dt"/>
214
245
  <ref name="dd"/>
@@ -256,6 +287,14 @@
256
287
  <data type="boolean"/>
257
288
  </attribute>
258
289
  </optional>
290
+ <optional>
291
+ <attribute name="tag"/>
292
+ </optional>
293
+ <optional>
294
+ <attribute name="multilingual-rendering">
295
+ <ref name="MultilingualRenderingType"/>
296
+ </attribute>
297
+ </optional>
259
298
  <optional>
260
299
  <ref name="tname"/>
261
300
  </optional>
@@ -316,6 +355,14 @@
316
355
  <optional>
317
356
  <attribute name="width"/>
318
357
  </optional>
358
+ <optional>
359
+ <attribute name="tag"/>
360
+ </optional>
361
+ <optional>
362
+ <attribute name="multilingual-rendering">
363
+ <ref name="MultilingualRenderingType"/>
364
+ </attribute>
365
+ </optional>
319
366
  <optional>
320
367
  <ref name="colgroup"/>
321
368
  </optional>
@@ -366,6 +413,14 @@
366
413
  <optional>
367
414
  <attribute name="class"/>
368
415
  </optional>
416
+ <optional>
417
+ <attribute name="tag"/>
418
+ </optional>
419
+ <optional>
420
+ <attribute name="multilingual-rendering">
421
+ <ref name="MultilingualRenderingType"/>
422
+ </attribute>
423
+ </optional>
369
424
  <optional>
370
425
  <ref name="source"/>
371
426
  </optional>
@@ -424,6 +479,14 @@
424
479
  <optional>
425
480
  <attribute name="lang"/>
426
481
  </optional>
482
+ <optional>
483
+ <attribute name="tag"/>
484
+ </optional>
485
+ <optional>
486
+ <attribute name="multilingual-rendering">
487
+ <ref name="MultilingualRenderingType"/>
488
+ </attribute>
489
+ </optional>
427
490
  <optional>
428
491
  <ref name="tname"/>
429
492
  </optional>
@@ -472,6 +535,14 @@
472
535
  <data type="boolean"/>
473
536
  </attribute>
474
537
  </optional>
538
+ <optional>
539
+ <attribute name="tag"/>
540
+ </optional>
541
+ <optional>
542
+ <attribute name="multilingual-rendering">
543
+ <ref name="MultilingualRenderingType"/>
544
+ </attribute>
545
+ </optional>
475
546
  <ref name="stem"/>
476
547
  <optional>
477
548
  <ref name="dl"/>
@@ -500,6 +571,14 @@
500
571
  <data type="boolean"/>
501
572
  </attribute>
502
573
  </optional>
574
+ <optional>
575
+ <attribute name="tag"/>
576
+ </optional>
577
+ <optional>
578
+ <attribute name="multilingual-rendering">
579
+ <ref name="MultilingualRenderingType"/>
580
+ </attribute>
581
+ </optional>
503
582
  <zeroOrMore>
504
583
  <ref name="TextElement"/>
505
584
  </zeroOrMore>
@@ -527,6 +606,14 @@
527
606
  <data type="boolean"/>
528
607
  </attribute>
529
608
  </optional>
609
+ <optional>
610
+ <attribute name="tag"/>
611
+ </optional>
612
+ <optional>
613
+ <attribute name="multilingual-rendering">
614
+ <ref name="MultilingualRenderingType"/>
615
+ </attribute>
616
+ </optional>
530
617
  <zeroOrMore>
531
618
  <choice>
532
619
  <ref name="TextElement"/>
@@ -558,6 +645,14 @@
558
645
  <data type="boolean"/>
559
646
  </attribute>
560
647
  </optional>
648
+ <optional>
649
+ <attribute name="tag"/>
650
+ </optional>
651
+ <optional>
652
+ <attribute name="multilingual-rendering">
653
+ <ref name="MultilingualRenderingType"/>
654
+ </attribute>
655
+ </optional>
561
656
  <optional>
562
657
  <ref name="quote-source"/>
563
658
  </optional>
@@ -624,9 +719,6 @@
624
719
  <zeroOrMore>
625
720
  <ref name="BasicBlock"/>
626
721
  </zeroOrMore>
627
- <zeroOrMore>
628
- <ref name="note"/>
629
- </zeroOrMore>
630
722
  <zeroOrMore>
631
723
  <ref name="bibitem"/>
632
724
  <zeroOrMore>
@@ -667,6 +759,14 @@
667
759
  <optional>
668
760
  <attribute name="type"/>
669
761
  </optional>
762
+ <optional>
763
+ <attribute name="tag"/>
764
+ </optional>
765
+ <optional>
766
+ <attribute name="multilingual-rendering">
767
+ <ref name="MultilingualRenderingType"/>
768
+ </attribute>
769
+ </optional>
670
770
  <oneOrMore>
671
771
  <choice>
672
772
  <ref name="paragraph"/>
@@ -703,14 +803,9 @@
703
803
  <optional>
704
804
  <ref name="section-title"/>
705
805
  </optional>
706
- <group>
707
- <oneOrMore>
708
- <ref name="BasicBlock"/>
709
- </oneOrMore>
710
- <zeroOrMore>
711
- <ref name="note"/>
712
- </zeroOrMore>
713
- </group>
806
+ <oneOrMore>
807
+ <ref name="BasicBlock"/>
808
+ </oneOrMore>
714
809
  </define>
715
810
  <define name="li">
716
811
  <element name="li">
@@ -845,6 +940,9 @@
845
940
  <ref name="PureTextElement"/>
846
941
  <ref name="stem"/>
847
942
  <ref name="index"/>
943
+ <ref name="eref"/>
944
+ <ref name="xref"/>
945
+ <ref name="hyperlink"/>
848
946
  </choice>
849
947
  </zeroOrMore>
850
948
  </element>
@@ -856,6 +954,9 @@
856
954
  <ref name="PureTextElement"/>
857
955
  <ref name="stem"/>
858
956
  <ref name="index"/>
957
+ <ref name="eref"/>
958
+ <ref name="xref"/>
959
+ <ref name="hyperlink"/>
859
960
  </choice>
860
961
  </zeroOrMore>
861
962
  </element>
@@ -866,6 +967,9 @@
866
967
  <choice>
867
968
  <ref name="PureTextElement"/>
868
969
  <ref name="index"/>
970
+ <ref name="eref"/>
971
+ <ref name="xref"/>
972
+ <ref name="hyperlink"/>
869
973
  </choice>
870
974
  </zeroOrMore>
871
975
  </element>
@@ -924,6 +1028,14 @@
924
1028
  </define>
925
1029
  </include>
926
1030
  <!-- end overrides -->
1031
+ <define name="MultilingualRenderingType">
1032
+ <choice>
1033
+ <value>common</value>
1034
+ <value>all-columns</value>
1035
+ <value>parallel</value>
1036
+ <value>tag</value>
1037
+ </choice>
1038
+ </define>
927
1039
  <define name="docsubtype">
928
1040
  <element name="subdoctype">
929
1041
  <ref name="DocumentSubtype"/>
@@ -1036,6 +1148,7 @@
1036
1148
  <ref name="svgmap"/>
1037
1149
  <ref name="inputform"/>
1038
1150
  <ref name="toc"/>
1151
+ <ref name="passthrough"/>
1039
1152
  </choice>
1040
1153
  </define>
1041
1154
  <define name="toc">
@@ -1043,6 +1156,14 @@
1043
1156
  <ref name="ul"/>
1044
1157
  </element>
1045
1158
  </define>
1159
+ <define name="passthrough">
1160
+ <element name="passthrough">
1161
+ <optional>
1162
+ <attribute name="formats"/>
1163
+ </optional>
1164
+ <text/>
1165
+ </element>
1166
+ </define>
1046
1167
  <define name="inputform">
1047
1168
  <element name="form">
1048
1169
  <attribute name="id">
@@ -1053,6 +1174,14 @@
1053
1174
  <optional>
1054
1175
  <attribute name="class"/>
1055
1176
  </optional>
1177
+ <optional>
1178
+ <attribute name="tag"/>
1179
+ </optional>
1180
+ <optional>
1181
+ <attribute name="multilingual-rendering">
1182
+ <ref name="MultilingualRenderingType"/>
1183
+ </attribute>
1184
+ </optional>
1056
1185
  <zeroOrMore>
1057
1186
  <choice>
1058
1187
  <ref name="TextElement"/>
@@ -1252,9 +1381,6 @@
1252
1381
  <zeroOrMore>
1253
1382
  <ref name="BasicBlock"/>
1254
1383
  </zeroOrMore>
1255
- <zeroOrMore>
1256
- <ref name="note"/>
1257
- </zeroOrMore>
1258
1384
  <choice>
1259
1385
  <oneOrMore>
1260
1386
  <ref name="reference-clause"/>
@@ -1437,9 +1563,6 @@
1437
1563
  <zeroOrMore>
1438
1564
  <ref name="BasicBlock"/>
1439
1565
  </zeroOrMore>
1440
- <zeroOrMore>
1441
- <ref name="note"/>
1442
- </zeroOrMore>
1443
1566
  <ref name="dl"/>
1444
1567
  </oneOrMore>
1445
1568
  </element>
@@ -1499,14 +1622,9 @@
1499
1622
  <ref name="section-title"/>
1500
1623
  </optional>
1501
1624
  <group>
1502
- <group>
1503
- <zeroOrMore>
1504
- <ref name="BasicBlock"/>
1505
- </zeroOrMore>
1506
- <zeroOrMore>
1507
- <ref name="note"/>
1508
- </zeroOrMore>
1509
- </group>
1625
+ <zeroOrMore>
1626
+ <ref name="BasicBlock"/>
1627
+ </zeroOrMore>
1510
1628
  <zeroOrMore>
1511
1629
  <ref name="content-subsection"/>
1512
1630
  </zeroOrMore>
@@ -1553,14 +1671,9 @@
1553
1671
  </optional>
1554
1672
  <choice>
1555
1673
  <choice>
1556
- <group>
1557
- <oneOrMore>
1558
- <ref name="BasicBlock"/>
1559
- </oneOrMore>
1560
- <zeroOrMore>
1561
- <ref name="note"/>
1562
- </zeroOrMore>
1563
- </group>
1674
+ <oneOrMore>
1675
+ <ref name="BasicBlock"/>
1676
+ </oneOrMore>
1564
1677
  <ref name="amend"/>
1565
1678
  </choice>
1566
1679
  <oneOrMore>
@@ -1601,14 +1714,9 @@
1601
1714
  <ref name="section-title"/>
1602
1715
  </optional>
1603
1716
  <group>
1604
- <group>
1605
- <zeroOrMore>
1606
- <ref name="BasicBlock"/>
1607
- </zeroOrMore>
1608
- <zeroOrMore>
1609
- <ref name="note"/>
1610
- </zeroOrMore>
1611
- </group>
1717
+ <zeroOrMore>
1718
+ <ref name="BasicBlock"/>
1719
+ </zeroOrMore>
1612
1720
  <zeroOrMore>
1613
1721
  <choice>
1614
1722
  <ref name="annex-subsection"/>
@@ -1667,9 +1775,6 @@
1667
1775
  <zeroOrMore>
1668
1776
  <ref name="BasicBlock"/>
1669
1777
  </zeroOrMore>
1670
- <zeroOrMore>
1671
- <ref name="note"/>
1672
- </zeroOrMore>
1673
1778
  <choice>
1674
1779
  <oneOrMore>
1675
1780
  <ref name="term"/>
@@ -1699,17 +1804,20 @@
1699
1804
  <ref name="admitted"/>
1700
1805
  </zeroOrMore>
1701
1806
  <zeroOrMore>
1702
- <ref name="related"/>
1807
+ <ref name="deprecates"/>
1703
1808
  </zeroOrMore>
1704
1809
  <zeroOrMore>
1705
- <ref name="deprecates"/>
1810
+ <ref name="related"/>
1706
1811
  </zeroOrMore>
1707
1812
  <optional>
1708
1813
  <ref name="termdomain"/>
1709
1814
  </optional>
1710
- <zeroOrMore>
1711
- <ref name="termgrammar"/>
1712
- </zeroOrMore>
1815
+ <optional>
1816
+ <ref name="termsubject"/>
1817
+ </optional>
1818
+ <optional>
1819
+ <ref name="termusage"/>
1820
+ </optional>
1713
1821
  <oneOrMore>
1714
1822
  <ref name="termdefinition"/>
1715
1823
  </oneOrMore>
@@ -1726,41 +1834,200 @@
1726
1834
  </define>
1727
1835
  <define name="preferred">
1728
1836
  <element name="preferred">
1729
- <oneOrMore>
1730
- <ref name="TextElement"/>
1731
- </oneOrMore>
1837
+ <ref name="Designation"/>
1732
1838
  </element>
1733
1839
  </define>
1734
1840
  <define name="admitted">
1735
1841
  <element name="admitted">
1736
- <oneOrMore>
1737
- <ref name="TextElement"/>
1738
- </oneOrMore>
1842
+ <ref name="Designation"/>
1739
1843
  </element>
1740
1844
  </define>
1741
1845
  <define name="related">
1742
1846
  <element name="related">
1847
+ <attribute name="type">
1848
+ <ref name="RelatedTermType"/>
1849
+ </attribute>
1850
+ <element name="preferred">
1851
+ <ref name="Designation"/>
1852
+ </element>
1853
+ <choice>
1854
+ <ref name="eref"/>
1855
+ <ref name="xref"/>
1856
+ <ref name="termref"/>
1857
+ </choice>
1858
+ </element>
1859
+ </define>
1860
+ <define name="RelatedTermType">
1861
+ <choice>
1862
+ <value>deprecates</value>
1863
+ <value>supersedes</value>
1864
+ <value>narrower</value>
1865
+ <value>broader</value>
1866
+ <value>equivalent</value>
1867
+ <value>compare</value>
1868
+ <value>contrast</value>
1869
+ <value>see</value>
1870
+ </choice>
1871
+ </define>
1872
+ <define name="deprecates">
1873
+ <element name="deprecates">
1874
+ <ref name="Designation"/>
1875
+ </element>
1876
+ </define>
1877
+ <define name="Designation">
1878
+ <optional>
1879
+ <attribute name="absent">
1880
+ <data type="boolean"/>
1881
+ </attribute>
1882
+ </optional>
1883
+ <optional>
1884
+ <attribute name="geographicArea"/>
1885
+ </optional>
1886
+ <choice>
1887
+ <ref name="expression_designation"/>
1888
+ <ref name="letter_symbol_designation"/>
1889
+ <ref name="graphical_symbol_designation"/>
1890
+ </choice>
1891
+ <zeroOrMore>
1892
+ <ref name="termsource"/>
1893
+ </zeroOrMore>
1894
+ </define>
1895
+ <define name="letter_symbol_designation">
1896
+ <element name="letter-symbol">
1743
1897
  <optional>
1744
- <attribute name="type">
1898
+ <attribute name="isInternational">
1899
+ <data type="boolean"/>
1900
+ </attribute>
1901
+ </optional>
1902
+ <element name="name">
1903
+ <oneOrMore>
1745
1904
  <choice>
1746
- <value>compare</value>
1747
- <value>contrast</value>
1748
- <value>see</value>
1905
+ <ref name="PureTextElement"/>
1906
+ <ref name="stem"/>
1749
1907
  </choice>
1908
+ </oneOrMore>
1909
+ </element>
1910
+ </element>
1911
+ </define>
1912
+ <define name="graphical_symbol_designation">
1913
+ <element name="graphical-symbol">
1914
+ <optional>
1915
+ <attribute name="isInternational">
1916
+ <data type="boolean"/>
1750
1917
  </attribute>
1751
1918
  </optional>
1752
- <oneOrMore>
1753
- <ref name="TextElement"/>
1754
- </oneOrMore>
1919
+ <ref name="figure"/>
1755
1920
  </element>
1756
1921
  </define>
1757
- <define name="deprecates">
1758
- <element name="deprecates">
1759
- <oneOrMore>
1760
- <ref name="TextElement"/>
1761
- </oneOrMore>
1922
+ <define name="expression_designation">
1923
+ <element name="expression">
1924
+ <optional>
1925
+ <attribute name="language">
1926
+ <a:documentation>ISO-639</a:documentation>
1927
+ </attribute>
1928
+ </optional>
1929
+ <optional>
1930
+ <attribute name="script">
1931
+ <a:documentation>ISO-15924</a:documentation>
1932
+ </attribute>
1933
+ </optional>
1934
+ <optional>
1935
+ <attribute name="type">
1936
+ <ref name="ExpressionDesignationType"/>
1937
+ </attribute>
1938
+ </optional>
1939
+ <optional>
1940
+ <attribute name="isInternational">
1941
+ <data type="boolean"/>
1942
+ </attribute>
1943
+ </optional>
1944
+ <element name="name">
1945
+ <zeroOrMore>
1946
+ <ref name="PureTextElement"/>
1947
+ </zeroOrMore>
1948
+ </element>
1949
+ <optional>
1950
+ <element name="abbreviationType">
1951
+ <ref name="AbbreviationType"/>
1952
+ </element>
1953
+ </optional>
1954
+ <optional>
1955
+ <element name="pronunciation">
1956
+ <ref name="LocalizedString"/>
1957
+ </element>
1958
+ </optional>
1959
+ <optional>
1960
+ <element name="grammarInfo">
1961
+ <ref name="Grammar"/>
1962
+ </element>
1963
+ </optional>
1762
1964
  </element>
1763
1965
  </define>
1966
+ <define name="ExpressionDesignationType">
1967
+ <choice>
1968
+ <value>prefix</value>
1969
+ <value>suffix</value>
1970
+ <value>abbreviation</value>
1971
+ <value>full</value>
1972
+ </choice>
1973
+ </define>
1974
+ <define name="AbbreviationType">
1975
+ <choice>
1976
+ <value>truncation</value>
1977
+ <value>acronym</value>
1978
+ <value>initialism</value>
1979
+ </choice>
1980
+ </define>
1981
+ <define name="Grammar">
1982
+ <zeroOrMore>
1983
+ <element name="gender">
1984
+ <ref name="GrammarGender"/>
1985
+ </element>
1986
+ </zeroOrMore>
1987
+ <optional>
1988
+ <element name="isPreposition">
1989
+ <data type="boolean"/>
1990
+ </element>
1991
+ </optional>
1992
+ <optional>
1993
+ <element name="isParticiple">
1994
+ <data type="boolean"/>
1995
+ </element>
1996
+ </optional>
1997
+ <optional>
1998
+ <element name="isAdjective">
1999
+ <data type="boolean"/>
2000
+ </element>
2001
+ </optional>
2002
+ <optional>
2003
+ <element name="isVerb">
2004
+ <data type="boolean"/>
2005
+ </element>
2006
+ </optional>
2007
+ <optional>
2008
+ <element name="isAdverb">
2009
+ <data type="boolean"/>
2010
+ </element>
2011
+ </optional>
2012
+ <optional>
2013
+ <element name="isNoun">
2014
+ <data type="boolean"/>
2015
+ </element>
2016
+ </optional>
2017
+ <zeroOrMore>
2018
+ <element name="grammarvalue">
2019
+ <text/>
2020
+ </element>
2021
+ </zeroOrMore>
2022
+ </define>
2023
+ <define name="GrammarGender">
2024
+ <choice>
2025
+ <value>masculine</value>
2026
+ <value>feminine</value>
2027
+ <value>neuter</value>
2028
+ <value>common</value>
2029
+ </choice>
2030
+ </define>
1764
2031
  <define name="termdomain">
1765
2032
  <element name="domain">
1766
2033
  <oneOrMore>
@@ -1768,18 +2035,52 @@
1768
2035
  </oneOrMore>
1769
2036
  </element>
1770
2037
  </define>
1771
- <define name="termgrammar">
1772
- <element name="grammar">
2038
+ <define name="termsubject">
2039
+ <element name="subject">
1773
2040
  <oneOrMore>
1774
2041
  <ref name="TextElement"/>
1775
2042
  </oneOrMore>
1776
2043
  </element>
1777
2044
  </define>
2045
+ <define name="termusage">
2046
+ <element name="usageinfo">
2047
+ <oneOrMore>
2048
+ <ref name="BasicBlock"/>
2049
+ </oneOrMore>
2050
+ </element>
2051
+ </define>
1778
2052
  <define name="termdefinition">
1779
2053
  <element name="definition">
2054
+ <choice>
2055
+ <ref name="verbaldefinition"/>
2056
+ <ref name="nonverbalrep"/>
2057
+ <group>
2058
+ <ref name="verbaldefinition"/>
2059
+ <ref name="nonverbalrep"/>
2060
+ </group>
2061
+ </choice>
2062
+ </element>
2063
+ </define>
2064
+ <define name="verbaldefinition">
2065
+ <element name="verbaldefinition">
1780
2066
  <oneOrMore>
1781
2067
  <choice>
1782
2068
  <ref name="paragraph"/>
2069
+ <ref name="dl"/>
2070
+ <ref name="ol"/>
2071
+ <ref name="ul"/>
2072
+ </choice>
2073
+ </oneOrMore>
2074
+ <zeroOrMore>
2075
+ <ref name="termsource"/>
2076
+ </zeroOrMore>
2077
+ </element>
2078
+ </define>
2079
+ <define name="nonverbalrep">
2080
+ <element name="nonverbalrepresentation">
2081
+ <oneOrMore>
2082
+ <choice>
2083
+ <ref name="table"/>
1783
2084
  <ref name="figure"/>
1784
2085
  <ref name="formula"/>
1785
2086
  </choice>
@@ -1815,6 +2116,14 @@
1815
2116
  <data type="boolean"/>
1816
2117
  </attribute>
1817
2118
  </optional>
2119
+ <optional>
2120
+ <attribute name="tag"/>
2121
+ </optional>
2122
+ <optional>
2123
+ <attribute name="multilingual-rendering">
2124
+ <ref name="MultilingualRenderingType"/>
2125
+ </attribute>
2126
+ </optional>
1818
2127
  <oneOrMore>
1819
2128
  <choice>
1820
2129
  <ref name="paragraph"/>
@@ -1831,6 +2140,24 @@
1831
2140
  <attribute name="id">
1832
2141
  <data type="ID"/>
1833
2142
  </attribute>
2143
+ <optional>
2144
+ <attribute name="keep-with-next">
2145
+ <data type="boolean"/>
2146
+ </attribute>
2147
+ </optional>
2148
+ <optional>
2149
+ <attribute name="keep-lines-together">
2150
+ <data type="boolean"/>
2151
+ </attribute>
2152
+ </optional>
2153
+ <optional>
2154
+ <attribute name="tag"/>
2155
+ </optional>
2156
+ <optional>
2157
+ <attribute name="multilingual-rendering">
2158
+ <ref name="MultilingualRenderingType"/>
2159
+ </attribute>
2160
+ </optional>
1834
2161
  <ref name="paragraph"/>
1835
2162
  </element>
1836
2163
  </define>
@@ -1842,6 +2169,12 @@
1842
2169
  <value>modified</value>
1843
2170
  </choice>
1844
2171
  </attribute>
2172
+ <attribute name="type">
2173
+ <choice>
2174
+ <value>authoritative</value>
2175
+ <value>lineage</value>
2176
+ </choice>
2177
+ </attribute>
1845
2178
  <ref name="origin"/>
1846
2179
  <optional>
1847
2180
  <ref name="modification"/>
@@ -1957,9 +2290,6 @@
1957
2290
  <zeroOrMore>
1958
2291
  <ref name="BasicBlock"/>
1959
2292
  </zeroOrMore>
1960
- <zeroOrMore>
1961
- <ref name="note"/>
1962
- </zeroOrMore>
1963
2293
  <zeroOrMore>
1964
2294
  <choice>
1965
2295
  <ref name="term-clause"/>
@@ -1998,6 +2328,14 @@
1998
2328
  <optional>
1999
2329
  <attribute name="title"/>
2000
2330
  </optional>
2331
+ <optional>
2332
+ <attribute name="tag"/>
2333
+ </optional>
2334
+ <optional>
2335
+ <attribute name="multilingual-rendering">
2336
+ <ref name="MultilingualRenderingType"/>
2337
+ </attribute>
2338
+ </optional>
2001
2339
  <optional>
2002
2340
  <element name="location">
2003
2341
  <zeroOrMore>
@@ -2057,6 +2395,14 @@
2057
2395
  </define>
2058
2396
  <define name="imagemap">
2059
2397
  <element name="imagemap">
2398
+ <optional>
2399
+ <attribute name="tag"/>
2400
+ </optional>
2401
+ <optional>
2402
+ <attribute name="multilingual-rendering">
2403
+ <ref name="MultilingualRenderingType"/>
2404
+ </attribute>
2405
+ </optional>
2060
2406
  <ref name="figure"/>
2061
2407
  <zeroOrMore>
2062
2408
  <element name="area">
@@ -2101,6 +2447,14 @@
2101
2447
  </define>
2102
2448
  <define name="svgmap">
2103
2449
  <element name="svgmap">
2450
+ <optional>
2451
+ <attribute name="tag"/>
2452
+ </optional>
2453
+ <optional>
2454
+ <attribute name="multilingual-rendering">
2455
+ <ref name="MultilingualRenderingType"/>
2456
+ </attribute>
2457
+ </optional>
2104
2458
  <ref name="figure"/>
2105
2459
  <zeroOrMore>
2106
2460
  <element name="target">