relaton-ieee 1.7.1 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +46 -0
- data/Gemfile +1 -1
- data/README.adoc +1 -5
- data/grammars/basicdoc.rng +165 -20
- data/grammars/biblio.rng +4 -6
- data/grammars/isodoc.rng +460 -6
- data/grammars/reqt.rng +31 -2
- data/lib/relaton_ieee/hash_converter.rb +2 -2
- data/lib/relaton_ieee/hit_collection.rb +1 -1
- data/lib/relaton_ieee/ieee_bibliographic_item.rb +7 -0
- data/lib/relaton_ieee/processor.rb +1 -2
- data/lib/relaton_ieee/version.rb +1 -1
- data/lib/relaton_ieee/xml_parser.rb +1 -1
- data/relaton_ieee.gemspec +5 -5
- metadata +8 -52
- data/.github/workflows/macos.yml +0 -40
- data/.github/workflows/ubuntu.yml +0 -38
- data/.github/workflows/windows.yml +0 -41
data/grammars/isodoc.rng
CHANGED
@@ -55,6 +55,13 @@
|
|
55
55
|
<param name="pattern">\i\c*|\c+#\c+</param>
|
56
56
|
</data>
|
57
57
|
</attribute>
|
58
|
+
<optional>
|
59
|
+
<attribute name="to">
|
60
|
+
<data type="string">
|
61
|
+
<param name="pattern">\i\c*|\c+#\c+</param>
|
62
|
+
</data>
|
63
|
+
</attribute>
|
64
|
+
</optional>
|
58
65
|
<optional>
|
59
66
|
<attribute name="type">
|
60
67
|
<ref name="ReferenceFormat"/>
|
@@ -79,6 +86,35 @@
|
|
79
86
|
<text/>
|
80
87
|
</element>
|
81
88
|
</define>
|
89
|
+
<define name="erefType">
|
90
|
+
<optional>
|
91
|
+
<attribute name="normative">
|
92
|
+
<data type="boolean"/>
|
93
|
+
</attribute>
|
94
|
+
</optional>
|
95
|
+
<attribute name="citeas"/>
|
96
|
+
<attribute name="type">
|
97
|
+
<ref name="ReferenceFormat"/>
|
98
|
+
</attribute>
|
99
|
+
<optional>
|
100
|
+
<attribute name="alt"/>
|
101
|
+
</optional>
|
102
|
+
<optional>
|
103
|
+
<attribute name="case">
|
104
|
+
<choice>
|
105
|
+
<value>capital</value>
|
106
|
+
<value>lowercase</value>
|
107
|
+
</choice>
|
108
|
+
</attribute>
|
109
|
+
</optional>
|
110
|
+
<optional>
|
111
|
+
<attribute name="droploc">
|
112
|
+
<data type="boolean"/>
|
113
|
+
</attribute>
|
114
|
+
</optional>
|
115
|
+
<ref name="CitationType"/>
|
116
|
+
<text/>
|
117
|
+
</define>
|
82
118
|
<define name="ul">
|
83
119
|
<element name="ul">
|
84
120
|
<attribute name="id">
|
@@ -95,7 +131,7 @@
|
|
95
131
|
</attribute>
|
96
132
|
</optional>
|
97
133
|
<oneOrMore>
|
98
|
-
<ref name="
|
134
|
+
<ref name="ul_li"/>
|
99
135
|
</oneOrMore>
|
100
136
|
<zeroOrMore>
|
101
137
|
<ref name="note"/>
|
@@ -246,6 +282,12 @@
|
|
246
282
|
<data type="boolean"/>
|
247
283
|
</attribute>
|
248
284
|
</optional>
|
285
|
+
<optional>
|
286
|
+
<attribute name="width"/>
|
287
|
+
</optional>
|
288
|
+
<optional>
|
289
|
+
<ref name="colgroup"/>
|
290
|
+
</optional>
|
249
291
|
<optional>
|
250
292
|
<ref name="tname"/>
|
251
293
|
</optional>
|
@@ -762,10 +804,137 @@
|
|
762
804
|
<ref name="paragraph"/>
|
763
805
|
</element>
|
764
806
|
</define>
|
807
|
+
<define name="em">
|
808
|
+
<element name="em">
|
809
|
+
<zeroOrMore>
|
810
|
+
<choice>
|
811
|
+
<ref name="PureTextElement"/>
|
812
|
+
<ref name="stem"/>
|
813
|
+
<ref name="index"/>
|
814
|
+
</choice>
|
815
|
+
</zeroOrMore>
|
816
|
+
</element>
|
817
|
+
</define>
|
818
|
+
<define name="strong">
|
819
|
+
<element name="strong">
|
820
|
+
<zeroOrMore>
|
821
|
+
<choice>
|
822
|
+
<ref name="PureTextElement"/>
|
823
|
+
<ref name="stem"/>
|
824
|
+
<ref name="index"/>
|
825
|
+
</choice>
|
826
|
+
</zeroOrMore>
|
827
|
+
</element>
|
828
|
+
</define>
|
829
|
+
<define name="tt">
|
830
|
+
<element name="tt">
|
831
|
+
<zeroOrMore>
|
832
|
+
<choice>
|
833
|
+
<ref name="PureTextElement"/>
|
834
|
+
<ref name="index"/>
|
835
|
+
</choice>
|
836
|
+
</zeroOrMore>
|
837
|
+
</element>
|
838
|
+
</define>
|
839
|
+
<define name="keyword">
|
840
|
+
<element name="keyword">
|
841
|
+
<zeroOrMore>
|
842
|
+
<choice>
|
843
|
+
<ref name="PureTextElement"/>
|
844
|
+
<ref name="index"/>
|
845
|
+
</choice>
|
846
|
+
</zeroOrMore>
|
847
|
+
</element>
|
848
|
+
</define>
|
849
|
+
<define name="strike">
|
850
|
+
<element name="strike">
|
851
|
+
<zeroOrMore>
|
852
|
+
<choice>
|
853
|
+
<ref name="PureTextElement"/>
|
854
|
+
<ref name="index"/>
|
855
|
+
</choice>
|
856
|
+
</zeroOrMore>
|
857
|
+
</element>
|
858
|
+
</define>
|
859
|
+
<define name="underline">
|
860
|
+
<element name="underline">
|
861
|
+
<zeroOrMore>
|
862
|
+
<choice>
|
863
|
+
<ref name="PureTextElement"/>
|
864
|
+
<ref name="index"/>
|
865
|
+
</choice>
|
866
|
+
</zeroOrMore>
|
867
|
+
</element>
|
868
|
+
</define>
|
869
|
+
<define name="smallcap">
|
870
|
+
<element name="smallcap">
|
871
|
+
<zeroOrMore>
|
872
|
+
<choice>
|
873
|
+
<ref name="PureTextElement"/>
|
874
|
+
<ref name="index"/>
|
875
|
+
</choice>
|
876
|
+
</zeroOrMore>
|
877
|
+
</element>
|
878
|
+
</define>
|
879
|
+
<define name="pagebreak">
|
880
|
+
<element name="pagebreak">
|
881
|
+
<optional>
|
882
|
+
<attribute name="orientation">
|
883
|
+
<choice>
|
884
|
+
<value>landscape</value>
|
885
|
+
<value>portrait</value>
|
886
|
+
</choice>
|
887
|
+
</attribute>
|
888
|
+
</optional>
|
889
|
+
</element>
|
890
|
+
</define>
|
765
891
|
</include>
|
766
892
|
<!-- end overrides -->
|
893
|
+
<define name="colgroup">
|
894
|
+
<element name="colgroup">
|
895
|
+
<oneOrMore>
|
896
|
+
<ref name="col"/>
|
897
|
+
</oneOrMore>
|
898
|
+
</element>
|
899
|
+
</define>
|
900
|
+
<define name="col">
|
901
|
+
<element name="col">
|
902
|
+
<attribute name="width"/>
|
903
|
+
</element>
|
904
|
+
</define>
|
905
|
+
<define name="BibItemType" combine="choice">
|
906
|
+
<value>internal</value>
|
907
|
+
</define>
|
767
908
|
<define name="TextElement" combine="choice">
|
768
|
-
<
|
909
|
+
<choice>
|
910
|
+
<ref name="concept"/>
|
911
|
+
<ref name="add"/>
|
912
|
+
<ref name="del"/>
|
913
|
+
</choice>
|
914
|
+
</define>
|
915
|
+
<define name="add">
|
916
|
+
<element name="add">
|
917
|
+
<choice>
|
918
|
+
<ref name="PureTextElement"/>
|
919
|
+
<ref name="eref"/>
|
920
|
+
<ref name="stem"/>
|
921
|
+
<ref name="keyword"/>
|
922
|
+
<ref name="xref"/>
|
923
|
+
<ref name="hyperlink"/>
|
924
|
+
</choice>
|
925
|
+
</element>
|
926
|
+
</define>
|
927
|
+
<define name="del">
|
928
|
+
<element name="del">
|
929
|
+
<choice>
|
930
|
+
<ref name="PureTextElement"/>
|
931
|
+
<ref name="eref"/>
|
932
|
+
<ref name="stem"/>
|
933
|
+
<ref name="keyword"/>
|
934
|
+
<ref name="xref"/>
|
935
|
+
<ref name="hyperlink"/>
|
936
|
+
</choice>
|
937
|
+
</element>
|
769
938
|
</define>
|
770
939
|
<define name="concept">
|
771
940
|
<element name="concept">
|
@@ -784,8 +953,172 @@
|
|
784
953
|
<ref name="requirement"/>
|
785
954
|
<ref name="recommendation"/>
|
786
955
|
<ref name="permission"/>
|
956
|
+
<ref name="imagemap"/>
|
957
|
+
<ref name="svgmap"/>
|
958
|
+
<ref name="inputform"/>
|
787
959
|
</choice>
|
788
960
|
</define>
|
961
|
+
<define name="inputform">
|
962
|
+
<element name="form">
|
963
|
+
<attribute name="id">
|
964
|
+
<data type="ID"/>
|
965
|
+
</attribute>
|
966
|
+
<attribute name="name"/>
|
967
|
+
<attribute name="action"/>
|
968
|
+
<zeroOrMore>
|
969
|
+
<choice>
|
970
|
+
<ref name="TextElement"/>
|
971
|
+
<ref name="FormInput"/>
|
972
|
+
</choice>
|
973
|
+
</zeroOrMore>
|
974
|
+
</element>
|
975
|
+
</define>
|
976
|
+
<define name="FormInput">
|
977
|
+
<choice>
|
978
|
+
<ref name="input"/>
|
979
|
+
<ref name="formlabel"/>
|
980
|
+
<ref name="select"/>
|
981
|
+
<ref name="textarea"/>
|
982
|
+
</choice>
|
983
|
+
</define>
|
984
|
+
<define name="InputType">
|
985
|
+
<choice>
|
986
|
+
<value>button</value>
|
987
|
+
<value>checkbox</value>
|
988
|
+
<value>date</value>
|
989
|
+
<value>file</value>
|
990
|
+
<value>password</value>
|
991
|
+
<value>radio</value>
|
992
|
+
<value>submit</value>
|
993
|
+
<value>text</value>
|
994
|
+
</choice>
|
995
|
+
</define>
|
996
|
+
<define name="input">
|
997
|
+
<element name="input">
|
998
|
+
<attribute name="type">
|
999
|
+
<ref name="InputType"/>
|
1000
|
+
</attribute>
|
1001
|
+
<optional>
|
1002
|
+
<attribute name="checked">
|
1003
|
+
<data type="boolean"/>
|
1004
|
+
</attribute>
|
1005
|
+
</optional>
|
1006
|
+
<optional>
|
1007
|
+
<attribute name="disabled">
|
1008
|
+
<data type="boolean"/>
|
1009
|
+
</attribute>
|
1010
|
+
</optional>
|
1011
|
+
<optional>
|
1012
|
+
<attribute name="readonly">
|
1013
|
+
<data type="boolean"/>
|
1014
|
+
</attribute>
|
1015
|
+
</optional>
|
1016
|
+
<optional>
|
1017
|
+
<attribute name="maxlength">
|
1018
|
+
<data type="int"/>
|
1019
|
+
</attribute>
|
1020
|
+
</optional>
|
1021
|
+
<optional>
|
1022
|
+
<attribute name="minlength">
|
1023
|
+
<data type="int"/>
|
1024
|
+
</attribute>
|
1025
|
+
</optional>
|
1026
|
+
<optional>
|
1027
|
+
<attribute name="name"/>
|
1028
|
+
</optional>
|
1029
|
+
<optional>
|
1030
|
+
<attribute name="value"/>
|
1031
|
+
</optional>
|
1032
|
+
<optional>
|
1033
|
+
<attribute name="id">
|
1034
|
+
<data type="ID"/>
|
1035
|
+
</attribute>
|
1036
|
+
</optional>
|
1037
|
+
</element>
|
1038
|
+
</define>
|
1039
|
+
<define name="formlabel">
|
1040
|
+
<element name="label">
|
1041
|
+
<attribute name="for">
|
1042
|
+
<data type="IDREF"/>
|
1043
|
+
</attribute>
|
1044
|
+
<zeroOrMore>
|
1045
|
+
<ref name="PureTextElement"/>
|
1046
|
+
</zeroOrMore>
|
1047
|
+
</element>
|
1048
|
+
</define>
|
1049
|
+
<define name="select">
|
1050
|
+
<element name="select">
|
1051
|
+
<optional>
|
1052
|
+
<attribute name="name"/>
|
1053
|
+
</optional>
|
1054
|
+
<optional>
|
1055
|
+
<attribute name="value"/>
|
1056
|
+
</optional>
|
1057
|
+
<optional>
|
1058
|
+
<attribute name="id">
|
1059
|
+
<data type="ID"/>
|
1060
|
+
</attribute>
|
1061
|
+
</optional>
|
1062
|
+
<optional>
|
1063
|
+
<attribute name="disabled">
|
1064
|
+
<data type="boolean"/>
|
1065
|
+
</attribute>
|
1066
|
+
</optional>
|
1067
|
+
<optional>
|
1068
|
+
<attribute name="multiple">
|
1069
|
+
<data type="boolean"/>
|
1070
|
+
</attribute>
|
1071
|
+
</optional>
|
1072
|
+
<optional>
|
1073
|
+
<attribute name="size">
|
1074
|
+
<data type="int"/>
|
1075
|
+
</attribute>
|
1076
|
+
</optional>
|
1077
|
+
<oneOrMore>
|
1078
|
+
<ref name="option"/>
|
1079
|
+
</oneOrMore>
|
1080
|
+
</element>
|
1081
|
+
</define>
|
1082
|
+
<define name="option">
|
1083
|
+
<element name="option">
|
1084
|
+
<optional>
|
1085
|
+
<attribute name="disabled">
|
1086
|
+
<data type="boolean"/>
|
1087
|
+
</attribute>
|
1088
|
+
</optional>
|
1089
|
+
<optional>
|
1090
|
+
<attribute name="value"/>
|
1091
|
+
</optional>
|
1092
|
+
<zeroOrMore>
|
1093
|
+
<ref name="PureTextElement"/>
|
1094
|
+
</zeroOrMore>
|
1095
|
+
</element>
|
1096
|
+
</define>
|
1097
|
+
<define name="textarea">
|
1098
|
+
<element name="textarea">
|
1099
|
+
<optional>
|
1100
|
+
<attribute name="name"/>
|
1101
|
+
</optional>
|
1102
|
+
<optional>
|
1103
|
+
<attribute name="value"/>
|
1104
|
+
</optional>
|
1105
|
+
<optional>
|
1106
|
+
<attribute name="id">
|
1107
|
+
<data type="ID"/>
|
1108
|
+
</attribute>
|
1109
|
+
</optional>
|
1110
|
+
<optional>
|
1111
|
+
<attribute name="rows">
|
1112
|
+
<data type="int"/>
|
1113
|
+
</attribute>
|
1114
|
+
</optional>
|
1115
|
+
<optional>
|
1116
|
+
<attribute name="cols">
|
1117
|
+
<data type="int"/>
|
1118
|
+
</attribute>
|
1119
|
+
</optional>
|
1120
|
+
</element>
|
1121
|
+
</define>
|
789
1122
|
<define name="bibliography">
|
790
1123
|
<element name="bibliography">
|
791
1124
|
<oneOrMore>
|
@@ -814,6 +1147,9 @@
|
|
814
1147
|
<data type="boolean"/>
|
815
1148
|
</attribute>
|
816
1149
|
</optional>
|
1150
|
+
<optional>
|
1151
|
+
<attribute name="number"/>
|
1152
|
+
</optional>
|
817
1153
|
<optional>
|
818
1154
|
<attribute name="obligation">
|
819
1155
|
<choice>
|
@@ -869,9 +1205,11 @@
|
|
869
1205
|
<element name="code">
|
870
1206
|
<text/>
|
871
1207
|
</element>
|
872
|
-
<
|
873
|
-
<text
|
874
|
-
|
1208
|
+
<optional>
|
1209
|
+
<element name="text">
|
1210
|
+
<text/>
|
1211
|
+
</element>
|
1212
|
+
</optional>
|
875
1213
|
</element>
|
876
1214
|
</define>
|
877
1215
|
<define name="standard-document">
|
@@ -884,6 +1222,9 @@
|
|
884
1222
|
</choice>
|
885
1223
|
</attribute>
|
886
1224
|
<ref name="bibdata"/>
|
1225
|
+
<optional>
|
1226
|
+
<ref name="misccontainer"/>
|
1227
|
+
</optional>
|
887
1228
|
<optional>
|
888
1229
|
<ref name="boilerplate"/>
|
889
1230
|
</optional>
|
@@ -894,11 +1235,21 @@
|
|
894
1235
|
<zeroOrMore>
|
895
1236
|
<ref name="annex"/>
|
896
1237
|
</zeroOrMore>
|
1238
|
+
<optional>
|
1239
|
+
<ref name="bibliography"/>
|
1240
|
+
</optional>
|
897
1241
|
<zeroOrMore>
|
898
|
-
<ref name="
|
1242
|
+
<ref name="indexsect"/>
|
899
1243
|
</zeroOrMore>
|
900
1244
|
</element>
|
901
1245
|
</define>
|
1246
|
+
<define name="misccontainer">
|
1247
|
+
<element name="misc-container">
|
1248
|
+
<oneOrMore>
|
1249
|
+
<ref name="AnyElement"/>
|
1250
|
+
</oneOrMore>
|
1251
|
+
</element>
|
1252
|
+
</define>
|
902
1253
|
<define name="preface">
|
903
1254
|
<element name="preface">
|
904
1255
|
<oneOrMore>
|
@@ -922,6 +1273,11 @@
|
|
922
1273
|
<ref name="Content-Section"/>
|
923
1274
|
</element>
|
924
1275
|
</define>
|
1276
|
+
<define name="indexsect">
|
1277
|
+
<element name="indexsect">
|
1278
|
+
<ref name="Content-Section"/>
|
1279
|
+
</element>
|
1280
|
+
</define>
|
925
1281
|
<define name="boilerplate">
|
926
1282
|
<element name="boilerplate">
|
927
1283
|
<optional>
|
@@ -1041,6 +1397,9 @@
|
|
1041
1397
|
</choice>
|
1042
1398
|
</attribute>
|
1043
1399
|
</optional>
|
1400
|
+
<optional>
|
1401
|
+
<attribute name="number"/>
|
1402
|
+
</optional>
|
1044
1403
|
<optional>
|
1045
1404
|
<attribute name="type"/>
|
1046
1405
|
</optional>
|
@@ -1094,6 +1453,9 @@
|
|
1094
1453
|
<optional>
|
1095
1454
|
<attribute name="type"/>
|
1096
1455
|
</optional>
|
1456
|
+
<optional>
|
1457
|
+
<attribute name="number"/>
|
1458
|
+
</optional>
|
1097
1459
|
<optional>
|
1098
1460
|
<ref name="section-title"/>
|
1099
1461
|
</optional>
|
@@ -1196,6 +1558,9 @@
|
|
1196
1558
|
<optional>
|
1197
1559
|
<attribute name="type"/>
|
1198
1560
|
</optional>
|
1561
|
+
<optional>
|
1562
|
+
<attribute name="number"/>
|
1563
|
+
</optional>
|
1199
1564
|
<optional>
|
1200
1565
|
<attribute name="obligation">
|
1201
1566
|
<choice>
|
@@ -1524,6 +1889,7 @@
|
|
1524
1889
|
<value>add</value>
|
1525
1890
|
<value>modify</value>
|
1526
1891
|
<value>delete</value>
|
1892
|
+
<value>replace</value>
|
1527
1893
|
</choice>
|
1528
1894
|
</attribute>
|
1529
1895
|
<optional>
|
@@ -1554,6 +1920,11 @@
|
|
1554
1920
|
</optional>
|
1555
1921
|
<optional>
|
1556
1922
|
<element name="newcontent">
|
1923
|
+
<optional>
|
1924
|
+
<attribute name="id">
|
1925
|
+
<data type="ID"/>
|
1926
|
+
</attribute>
|
1927
|
+
</optional>
|
1557
1928
|
<zeroOrMore>
|
1558
1929
|
<ref name="BasicBlock"/>
|
1559
1930
|
</zeroOrMore>
|
@@ -1587,4 +1958,87 @@
|
|
1587
1958
|
<text/>
|
1588
1959
|
</element>
|
1589
1960
|
</define>
|
1961
|
+
<define name="imagemap">
|
1962
|
+
<element name="imagemap">
|
1963
|
+
<ref name="figure"/>
|
1964
|
+
<zeroOrMore>
|
1965
|
+
<element name="area">
|
1966
|
+
<attribute name="type">
|
1967
|
+
<choice>
|
1968
|
+
<value>rect</value>
|
1969
|
+
<value>circle</value>
|
1970
|
+
<value>ellipse</value>
|
1971
|
+
<value>poly</value>
|
1972
|
+
</choice>
|
1973
|
+
</attribute>
|
1974
|
+
<choice>
|
1975
|
+
<ref name="xref"/>
|
1976
|
+
<ref name="hyperlink"/>
|
1977
|
+
<ref name="eref"/>
|
1978
|
+
</choice>
|
1979
|
+
<oneOrMore>
|
1980
|
+
<element name="coords">
|
1981
|
+
<attribute name="x">
|
1982
|
+
<data type="float"/>
|
1983
|
+
</attribute>
|
1984
|
+
<attribute name="y">
|
1985
|
+
<data type="float"/>
|
1986
|
+
</attribute>
|
1987
|
+
</element>
|
1988
|
+
</oneOrMore>
|
1989
|
+
<optional>
|
1990
|
+
<element name="radius">
|
1991
|
+
<attribute name="x">
|
1992
|
+
<data type="float"/>
|
1993
|
+
</attribute>
|
1994
|
+
<optional>
|
1995
|
+
<attribute name="y">
|
1996
|
+
<data type="float"/>
|
1997
|
+
</attribute>
|
1998
|
+
</optional>
|
1999
|
+
</element>
|
2000
|
+
</optional>
|
2001
|
+
</element>
|
2002
|
+
</zeroOrMore>
|
2003
|
+
</element>
|
2004
|
+
</define>
|
2005
|
+
<define name="svgmap">
|
2006
|
+
<element name="svgmap">
|
2007
|
+
<ref name="figure"/>
|
2008
|
+
<zeroOrMore>
|
2009
|
+
<element name="target">
|
2010
|
+
<attribute name="href">
|
2011
|
+
<data type="anyURI"/>
|
2012
|
+
</attribute>
|
2013
|
+
<choice>
|
2014
|
+
<ref name="xref"/>
|
2015
|
+
<ref name="hyperlink"/>
|
2016
|
+
<ref name="eref"/>
|
2017
|
+
</choice>
|
2018
|
+
</element>
|
2019
|
+
</zeroOrMore>
|
2020
|
+
</element>
|
2021
|
+
</define>
|
2022
|
+
<define name="ul_li">
|
2023
|
+
<element name="li">
|
2024
|
+
<optional>
|
2025
|
+
<attribute name="id">
|
2026
|
+
<data type="ID"/>
|
2027
|
+
</attribute>
|
2028
|
+
</optional>
|
2029
|
+
<optional>
|
2030
|
+
<attribute name="uncheckedcheckbox">
|
2031
|
+
<data type="boolean"/>
|
2032
|
+
</attribute>
|
2033
|
+
</optional>
|
2034
|
+
<optional>
|
2035
|
+
<attribute name="checkedcheckbox">
|
2036
|
+
<data type="boolean"/>
|
2037
|
+
</attribute>
|
2038
|
+
</optional>
|
2039
|
+
<oneOrMore>
|
2040
|
+
<ref name="BasicBlock"/>
|
2041
|
+
</oneOrMore>
|
2042
|
+
</element>
|
2043
|
+
</define>
|
1590
2044
|
</grammar>
|