isodoc 1.7.2 → 1.7.5

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.
@@ -702,6 +702,645 @@ RSpec.describe IsoDoc do
702
702
  .convert("test", presxml, true))).to be_equivalent_to xmlpp(word)
703
703
  end
704
704
 
705
+ it "processes section subtitles" do
706
+ input = <<~"INPUT"
707
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
708
+ <preface>
709
+ <abstract obligation="informative">
710
+ <title>Abstract</title>
711
+ <variant-title type="sub">Variant 1</variant-title>
712
+ </abstract>
713
+ <foreword obligation="informative">
714
+ <title>Foreword</title>
715
+ <variant-title type="sub">Variant 1</variant-title>
716
+ <p id="A">This is a preamble</p>
717
+ </foreword>
718
+ <introduction id="B" obligation="informative"><title>Introduction</title>
719
+ <clause id="C" inline-header="false" obligation="informative">
720
+ <title>Introduction Subsection</title>
721
+ <variant-title type="sub">Variant 1</variant-title>
722
+ </clause>
723
+ </introduction>
724
+ <clause id="B1"><title>Dedication</title>
725
+ <variant-title type="sub">Variant 1</variant-title>
726
+ </clause>
727
+ <clause id="B2"><title>Note to reader</title>
728
+ <variant-title type="sub">Variant 1</variant-title>
729
+ </clause>
730
+ <acknowledgements obligation="informative">
731
+ <title>Acknowledgements</title>
732
+ <variant-title type="sub">Variant 1</variant-title>
733
+ </acknowledgements>
734
+ </preface><sections>
735
+ <note id="NN1"><p>Initial note</p></note>
736
+ <admonition id="NN2" type="warning"><p>Initial admonition</p></admonition>
737
+ <clause id="D" obligation="normative" type="scope">
738
+ <title>Scope</title>
739
+ <variant-title type="sub">Variant 1</variant-title>
740
+ <p id="E">Text</p>
741
+ </clause>
742
+ <clause id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title>
743
+ <variant-title type="sub">Variant 1</variant-title>
744
+ <terms id="I" obligation="normative">
745
+ <title>Normal Terms</title>
746
+ <variant-title type="sub">Variant 1</variant-title>
747
+ <term id="J">
748
+ <preferred>Term2</preferred>
749
+ </term>
750
+ </terms>
751
+ <definitions id="K">
752
+ <title>Definitions</title>
753
+ <variant-title type="sub">Variant 1</variant-title>
754
+ <dl>
755
+ <dt>Symbol</dt>
756
+ <dd>Definition</dd>
757
+ </dl>
758
+ </definitions>
759
+ </clause>
760
+ <definitions id="L">
761
+ <title>Symbols and abbreviated terms</title>
762
+ <variant-title type="sub">Variant 1</variant-title>
763
+ <dl>
764
+ <dt>Symbol</dt>
765
+ <dd>Definition</dd>
766
+ </dl>
767
+ </definitions>
768
+ <clause id="M" inline-header="false" obligation="normative">
769
+ <title>Clause 4</title>
770
+ <variant-title type="sub">Variant 1</variant-title>
771
+ <clause id="N" inline-header="false" obligation="normative">
772
+ <title>Introduction</title>
773
+ <variant-title type="sub">Variant 1</variant-title>
774
+ </clause>
775
+ <clause id="O" inline-header="false" obligation="normative">
776
+ <title>Clause 4.2</title>
777
+ <variant-title type="sub">Variant 1</variant-title>
778
+ </clause>
779
+ <clause id="O1" inline-header="false" obligation="normative">
780
+ </clause>
781
+ </clause>
782
+ </sections><annex id="P" inline-header="false" obligation="normative">
783
+ <title>Annex</title>
784
+ <variant-title type="sub">Variant 1</variant-title>
785
+ <clause id="Q" inline-header="false" obligation="normative">
786
+ <title>Annex A.1</title>
787
+ <variant-title type="sub">Variant 1</variant-title>
788
+ <clause id="Q1" inline-header="false" obligation="normative">
789
+ <title>Annex A.1a</title>
790
+ <variant-title type="sub">Variant 1</variant-title>
791
+ </clause>
792
+ <references id="Q2" normative="false">
793
+ <title>Annex Bibliography</title>
794
+ <variant-title type="sub">Variant 1</variant-title>
795
+ </references>
796
+ </clause>
797
+ </annex>
798
+ <annex id="P1" inline-header="false" obligation="normative">
799
+ </annex>
800
+ <bibliography><references id="R" obligation="informative" normative="true">
801
+ <title>Normative References</title>
802
+ <variant-title type="sub">Variant 1</variant-title>
803
+ </references><clause id="S" obligation="informative">
804
+ <title>Bibliography</title>
805
+ <variant-title type="sub">Variant 1</variant-title>
806
+ <references id="T" obligation="informative" normative="false">
807
+ <title>Bibliography Subsection</title>
808
+ <variant-title type="sub">Variant 1</variant-title>
809
+ </references>
810
+ </clause>
811
+ </bibliography>
812
+ </iso-standard>
813
+ INPUT
814
+ html = <<~OUTPUT
815
+ <html lang='en'>
816
+ <head/>
817
+ <body lang='en'>
818
+ <div class='title-section'>
819
+ <p>&#160;</p>
820
+ </div>
821
+ <br/>
822
+ <div class='prefatory-section'>
823
+ <p>&#160;</p>
824
+ </div>
825
+ <br/>
826
+ <div class='main-section'>
827
+ <br/>
828
+ <div>
829
+ <h1 class='AbstractTitle'>
830
+ Abstract
831
+ <br/>
832
+ <br/>
833
+ Variant 1
834
+ </h1>
835
+ </div>
836
+ <br/>
837
+ <div>
838
+ <h1 class='ForewordTitle'>
839
+ Foreword
840
+ <br/>
841
+ <br/>
842
+ Variant 1
843
+ </h1>
844
+ <p id='A'>This is a preamble</p>
845
+ </div>
846
+ <br/>
847
+ <div class='Section3' id='B'>
848
+ <h1 class='IntroTitle'>Introduction</h1>
849
+ <div id='C'>
850
+ <h2>
851
+ Introduction Subsection
852
+ <br/>
853
+ <br/>
854
+ Variant 1
855
+ </h2>
856
+ </div>
857
+ </div>
858
+ <br/>
859
+ <div class='Section3' id='B1'>
860
+ <h1 class='IntroTitle'>
861
+ Dedication
862
+ <br/>
863
+ <br/>
864
+ Variant 1
865
+ </h1>
866
+ </div>
867
+ <br/>
868
+ <div class='Section3' id='B2'>
869
+ <h1 class='IntroTitle'>
870
+ Note to reader
871
+ <br/>
872
+ <br/>
873
+ Variant 1
874
+ </h1>
875
+ </div>
876
+ <br/>
877
+ <div class='Section3' id=''>
878
+ <h1 class='IntroTitle'>
879
+ Acknowledgements
880
+ <br/>
881
+ <br/>
882
+ Variant 1
883
+ </h1>
884
+ </div>
885
+ <p class='zzSTDTitle1'/>
886
+ <div id='NN1' class='Note'>
887
+ <p>
888
+ <span class='note_label'>NOTE</span>
889
+ &#160; Initial note
890
+ </p>
891
+ </div>
892
+ <div id='NN2' class='Admonition'>
893
+ <p class='AdmonitionTitle' style='text-align:center;'>WARNING</p>
894
+ <p>Initial admonition</p>
895
+ </div>
896
+ <div id='D'>
897
+ <h1>
898
+ 1.&#160; Scope
899
+ <br/>
900
+ <br/>
901
+ Variant 1
902
+ </h1>
903
+ <p id='E'>Text</p>
904
+ </div>
905
+ <div>
906
+ <h1>
907
+ 2.&#160; Normative References
908
+ <br/>
909
+ <br/>
910
+ Variant 1
911
+ </h1>
912
+ </div>
913
+ <div id='H'>
914
+ <h1>
915
+ 3.&#160; Terms, Definitions, Symbols and Abbreviated Terms
916
+ <br/>
917
+ <br/>
918
+ Variant 1
919
+ </h1>
920
+ <div id='I'>
921
+ <h2>
922
+ 3.1.&#160; Normal Terms
923
+ <br/>
924
+ <br/>
925
+ Variant 1
926
+ </h2>
927
+ <p class='TermNum' id='J'>3.1.1.</p>
928
+ <p class='Terms' style='text-align:left;'>Term2</p>
929
+ </div>
930
+ <div id='K'>
931
+ <h2>
932
+ 3.2.&#160; Definitions
933
+ <br/>
934
+ <br/>
935
+ Variant 1
936
+ </h2>
937
+ <dl>
938
+ <dt>
939
+ <p>Symbol</p>
940
+ </dt>
941
+ <dd>Definition</dd>
942
+ </dl>
943
+ </div>
944
+ </div>
945
+ <div id='L' class='Symbols'>
946
+ <h1>
947
+ 4.&#160; Symbols and abbreviated terms
948
+ <br/>
949
+ <br/>
950
+ Variant 1
951
+ </h1>
952
+ <dl>
953
+ <dt>
954
+ <p>Symbol</p>
955
+ </dt>
956
+ <dd>Definition</dd>
957
+ </dl>
958
+ </div>
959
+ <div id='M'>
960
+ <h1>
961
+ 5.&#160; Clause 4
962
+ <br/>
963
+ <br/>
964
+ Variant 1
965
+ </h1>
966
+ <div id='N'>
967
+ <h2>
968
+ 5.1.&#160; Introduction
969
+ <br/>
970
+ <br/>
971
+ Variant 1
972
+ </h2>
973
+ </div>
974
+ <div id='O'>
975
+ <h2>
976
+ 5.2.&#160; Clause 4.2
977
+ <br/>
978
+ <br/>
979
+ Variant 1
980
+ </h2>
981
+ </div>
982
+ <div id='O1'>
983
+ <h2>5.3.</h2>
984
+ </div>
985
+ </div>
986
+ <br/>
987
+ <div id='P' class='Section3'>
988
+ <h1 class='Annex'>
989
+ <b>Annex A</b>
990
+ <br/>
991
+ (normative)
992
+ <br/>
993
+ <br/>
994
+ <b>Annex</b>
995
+ <br/>
996
+ <br/>
997
+ Variant 1
998
+ </h1>
999
+ <div id='Q'>
1000
+ <h2>
1001
+ A.1.&#160; Annex A.1
1002
+ <br/>
1003
+ <br/>
1004
+ Variant 1
1005
+ </h2>
1006
+ <div id='Q1'>
1007
+ <h3>
1008
+ A.1.1.&#160; Annex A.1a
1009
+ <br/>
1010
+ <br/>
1011
+ Variant 1
1012
+ </h3>
1013
+ </div>
1014
+ <div>
1015
+ <h3 class='Section3'>
1016
+ A.1.2.&#160; Annex Bibliography
1017
+ <br/>
1018
+ <br/>
1019
+ Variant 1
1020
+ </h3>
1021
+ </div>
1022
+ </div>
1023
+ </div>
1024
+ <br/>
1025
+ <div id='P1' class='Section3'>
1026
+ <h1 class='Annex'>
1027
+ <b>Annex B</b>
1028
+ <br/>
1029
+ (normative)
1030
+ </h1>
1031
+ </div>
1032
+ <br/>
1033
+ <div>
1034
+ <h1 class='Section3'>Bibliography</h1>
1035
+ <div>
1036
+ <h2 class='Section3'>
1037
+ Bibliography Subsection
1038
+ <br/>
1039
+ <br/>
1040
+ Variant 1
1041
+ </h2>
1042
+ </div>
1043
+ </div>
1044
+ </div>
1045
+ </body>
1046
+ </html>
1047
+ OUTPUT
1048
+ word = <<~OUTPUT
1049
+ <html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'>
1050
+ <head>
1051
+ <style>
1052
+ </style>
1053
+ </head>
1054
+ <body lang='EN-US' link='blue' vlink='#954F72'>
1055
+ <div class='WordSection1'>
1056
+ <p>&#160;</p>
1057
+ </div>
1058
+ <p>
1059
+ <br clear='all' class='section'/>
1060
+ </p>
1061
+ <div class='WordSection2'>
1062
+ <p>
1063
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1064
+ </p>
1065
+ <div>
1066
+ <h1 class='AbstractTitle'>
1067
+ Abstract
1068
+ <br/>
1069
+ <br/>
1070
+ Variant 1
1071
+ </h1>
1072
+ </div>
1073
+ <p>
1074
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1075
+ </p>
1076
+ <div>
1077
+ <h1 class='ForewordTitle'>
1078
+ Foreword
1079
+ <br/>
1080
+ <br/>
1081
+ Variant 1
1082
+ </h1>
1083
+ <p id='A'>This is a preamble</p>
1084
+ </div>
1085
+ <p>
1086
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1087
+ </p>
1088
+ <div class='Section3' id='B'>
1089
+ <h1 class='IntroTitle'>Introduction</h1>
1090
+ <div id='C'>
1091
+ <h2>
1092
+ Introduction Subsection
1093
+ <br/>
1094
+ <br/>
1095
+ Variant 1
1096
+ </h2>
1097
+ </div>
1098
+ </div>
1099
+ <p>
1100
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1101
+ </p>
1102
+ <div class='Section3' id='B1'>
1103
+ <h1 class='IntroTitle'>
1104
+ Dedication
1105
+ <br/>
1106
+ <br/>
1107
+ Variant 1
1108
+ </h1>
1109
+ </div>
1110
+ <p>
1111
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1112
+ </p>
1113
+ <div class='Section3' id='B2'>
1114
+ <h1 class='IntroTitle'>
1115
+ Note to reader
1116
+ <br/>
1117
+ <br/>
1118
+ Variant 1
1119
+ </h1>
1120
+ </div>
1121
+ <p>
1122
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1123
+ </p>
1124
+ <div class='Section3' id=''>
1125
+ <h1 class='IntroTitle'>
1126
+ Acknowledgements
1127
+ <br/>
1128
+ <br/>
1129
+ Variant 1
1130
+ </h1>
1131
+ </div>
1132
+ <p>&#160;</p>
1133
+ </div>
1134
+ <p>
1135
+ <br clear='all' class='section'/>
1136
+ </p>
1137
+ <div class='WordSection3'>
1138
+ <p class='zzSTDTitle1'/>
1139
+ <div id='NN1' class='Note'>
1140
+ <p class='Note'>
1141
+ <span class='note_label'>NOTE</span>
1142
+ <span style='mso-tab-count:1'>&#160; </span>
1143
+ Initial note
1144
+ </p>
1145
+ </div>
1146
+ <div id='NN2' class='Admonition'>
1147
+ <p class='AdmonitionTitle' style='text-align:center;'>WARNING</p>
1148
+ <p>Initial admonition</p>
1149
+ </div>
1150
+ <div id='D'>
1151
+ <h1>
1152
+ 1.
1153
+ <span style='mso-tab-count:1'>&#160; </span>
1154
+ Scope
1155
+ <br/>
1156
+ <br/>
1157
+ Variant 1
1158
+ </h1>
1159
+ <p id='E'>Text</p>
1160
+ </div>
1161
+ <div>
1162
+ <h1>
1163
+ 2.
1164
+ <span style='mso-tab-count:1'>&#160; </span>
1165
+ Normative References
1166
+ <br/>
1167
+ <br/>
1168
+ Variant 1
1169
+ </h1>
1170
+ </div>
1171
+ <div id='H'>
1172
+ <h1>
1173
+ 3.
1174
+ <span style='mso-tab-count:1'>&#160; </span>
1175
+ Terms, Definitions, Symbols and Abbreviated Terms
1176
+ <br/>
1177
+ <br/>
1178
+ Variant 1
1179
+ </h1>
1180
+ <div id='I'>
1181
+ <h2>
1182
+ 3.1.
1183
+ <span style='mso-tab-count:1'>&#160; </span>
1184
+ Normal Terms
1185
+ <br/>
1186
+ <br/>
1187
+ Variant 1
1188
+ </h2>
1189
+ <p class='TermNum' id='J'>3.1.1.</p>
1190
+ <p class='Terms' style='text-align:left;'>Term2</p>
1191
+ </div>
1192
+ <div id='K'>
1193
+ <h2>
1194
+ 3.2.
1195
+ <span style='mso-tab-count:1'>&#160; </span>
1196
+ Definitions
1197
+ <br/>
1198
+ <br/>
1199
+ Variant 1
1200
+ </h2>
1201
+ <table class='dl'>
1202
+ <tr>
1203
+ <td valign='top' align='left'>
1204
+ <p align='left' style='margin-left:0pt;text-align:left;'>Symbol</p>
1205
+ </td>
1206
+ <td valign='top'>Definition</td>
1207
+ </tr>
1208
+ </table>
1209
+ </div>
1210
+ </div>
1211
+ <div id='L' class='Symbols'>
1212
+ <h1>
1213
+ 4.
1214
+ <span style='mso-tab-count:1'>&#160; </span>
1215
+ Symbols and abbreviated terms
1216
+ <br/>
1217
+ <br/>
1218
+ Variant 1
1219
+ </h1>
1220
+ <table class='dl'>
1221
+ <tr>
1222
+ <td valign='top' align='left'>
1223
+ <p align='left' style='margin-left:0pt;text-align:left;'>Symbol</p>
1224
+ </td>
1225
+ <td valign='top'>Definition</td>
1226
+ </tr>
1227
+ </table>
1228
+ </div>
1229
+ <div id='M'>
1230
+ <h1>
1231
+ 5.
1232
+ <span style='mso-tab-count:1'>&#160; </span>
1233
+ Clause 4
1234
+ <br/>
1235
+ <br/>
1236
+ Variant 1
1237
+ </h1>
1238
+ <div id='N'>
1239
+ <h2>
1240
+ 5.1.
1241
+ <span style='mso-tab-count:1'>&#160; </span>
1242
+ Introduction
1243
+ <br/>
1244
+ <br/>
1245
+ Variant 1
1246
+ </h2>
1247
+ </div>
1248
+ <div id='O'>
1249
+ <h2>
1250
+ 5.2.
1251
+ <span style='mso-tab-count:1'>&#160; </span>
1252
+ Clause 4.2
1253
+ <br/>
1254
+ <br/>
1255
+ Variant 1
1256
+ </h2>
1257
+ </div>
1258
+ <div id='O1'>
1259
+ <h2>5.3.</h2>
1260
+ </div>
1261
+ </div>
1262
+ <p>
1263
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1264
+ </p>
1265
+ <div id='P' class='Section3'>
1266
+ <h1 class='Annex'>
1267
+ <b>Annex A</b>
1268
+ <br/>
1269
+ (normative)
1270
+ <br/>
1271
+ <br/>
1272
+ <b>Annex</b>
1273
+ <br/>
1274
+ <br/>
1275
+ Variant 1
1276
+ </h1>
1277
+ <div id='Q'>
1278
+ <h2>
1279
+ A.1.
1280
+ <span style='mso-tab-count:1'>&#160; </span>
1281
+ Annex A.1
1282
+ <br/>
1283
+ <br/>
1284
+ Variant 1
1285
+ </h2>
1286
+ <div id='Q1'>
1287
+ <h3>
1288
+ A.1.1.
1289
+ <span style='mso-tab-count:1'>&#160; </span>
1290
+ Annex A.1a
1291
+ <br/>
1292
+ <br/>
1293
+ Variant 1
1294
+ </h3>
1295
+ </div>
1296
+ <div>
1297
+ <h3 class='Section3'>
1298
+ A.1.2.
1299
+ <span style='mso-tab-count:1'>&#160; </span>
1300
+ Annex Bibliography
1301
+ <br/>
1302
+ <br/>
1303
+ Variant 1
1304
+ </h3>
1305
+ </div>
1306
+ </div>
1307
+ </div>
1308
+ <p>
1309
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1310
+ </p>
1311
+ <div id='P1' class='Section3'>
1312
+ <h1 class='Annex'>
1313
+ <b>Annex B</b>
1314
+ <br/>
1315
+ (normative)
1316
+ </h1>
1317
+ </div>
1318
+ <p>
1319
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1320
+ </p>
1321
+ <div>
1322
+ <h1 class='Section3'>Bibliography</h1>
1323
+ <div>
1324
+ <h2 class='Section3'>
1325
+ Bibliography Subsection
1326
+ <br/>
1327
+ <br/>
1328
+ Variant 1
1329
+ </h2>
1330
+ </div>
1331
+ </div>
1332
+ </div>
1333
+ </body>
1334
+ </html>
1335
+ OUTPUT
1336
+ presxml = IsoDoc::PresentationXMLConvert.new({})
1337
+ .convert("test", input, true)
1338
+ expect(xmlpp(IsoDoc::HtmlConvert.new({})
1339
+ .convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
1340
+ expect(xmlpp(IsoDoc::WordConvert.new({})
1341
+ .convert("test", presxml, true))).to be_equivalent_to xmlpp(word)
1342
+ end
1343
+
705
1344
  it "processes section names suppressing section numbering" do
706
1345
  input = <<~INPUT
707
1346
  <iso-standard xmlns="http://riboseinc.com/isoxml">
@@ -1139,4 +1778,129 @@ RSpec.describe IsoDoc do
1139
1778
  expect(xmlpp(IsoDoc::HtmlConvert.new({})
1140
1779
  .convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
1141
1780
  end
1781
+
1782
+ it "processes annexes containing one, or more than one special sections" do
1783
+ input = <<~INPUT
1784
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1785
+ <annex id='PP' obligation='normative'>
1786
+ <title>Glossary</title>
1787
+ <terms id='PP1' obligation='normative'>
1788
+ <term id='term-glossary'>
1789
+ <preferred>Glossary</preferred>
1790
+ </term>
1791
+ </terms>
1792
+ </annex>
1793
+ <annex id='QQ' obligation='normative'>
1794
+ <title>Glossary</title>
1795
+ <terms id='QQ1' obligation='normative'>
1796
+ <title>Term Collection</title>
1797
+ <term id='term-term-1'>
1798
+ <preferred>Term</preferred>
1799
+ </term>
1800
+ </terms>
1801
+ <terms id='QQ2' obligation='normative'>
1802
+ <title>Term Collection 2</title>
1803
+ <term id='term-term-2'>
1804
+ <preferred>Term</preferred>
1805
+ </term>
1806
+ </terms>
1807
+ </annex>
1808
+ <annex id='RR' obligation='normative'>
1809
+ <title>Glossary</title>
1810
+ <terms id='RR1' obligation='normative'>
1811
+ <title>Term Collection</title>
1812
+ <term id='term-term-3'>
1813
+ <preferred>Term</preferred>
1814
+ </term>
1815
+ </terms>
1816
+ <references id='RR2' obligation='normative'>
1817
+ <title>References</title>
1818
+ </terms>
1819
+ </annex>
1820
+ </iso-standard>
1821
+ INPUT
1822
+ presxml = <<~OUTPUT
1823
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
1824
+ <annex id='PP' obligation='normative' displayorder='1'>
1825
+ <title>
1826
+ <strong>Annex A</strong>
1827
+ <br/>
1828
+ (normative)
1829
+ <br/>
1830
+ <br/>
1831
+ <strong>Glossary</strong>
1832
+ </title>
1833
+ <terms id='PP1' obligation='normative'>
1834
+ <title>A.</title>
1835
+ <term id='term-glossary'>
1836
+ <name>A.1.</name>
1837
+ <preferred>Glossary</preferred>
1838
+ </term>
1839
+ </terms>
1840
+ </annex>
1841
+ <annex id='QQ' obligation='normative' displayorder='2'>
1842
+ <title>
1843
+ <strong>Annex B</strong>
1844
+ <br/>
1845
+ (normative)
1846
+ <br/>
1847
+ <br/>
1848
+ <strong>Glossary</strong>
1849
+ </title>
1850
+ <terms id='QQ1' obligation='normative'>
1851
+ <title depth='2'>
1852
+ B.1.
1853
+ <tab/>
1854
+ Term Collection
1855
+ </title>
1856
+ <term id='term-term-1'>
1857
+ <name>B.1.1.</name>
1858
+ <preferred>Term</preferred>
1859
+ </term>
1860
+ </terms>
1861
+ <terms id='QQ2' obligation='normative'>
1862
+ <title depth='2'>
1863
+ B.2.
1864
+ <tab/>
1865
+ Term Collection 2
1866
+ </title>
1867
+ <term id='term-term-2'>
1868
+ <name>B.2.1.</name>
1869
+ <preferred>Term</preferred>
1870
+ </term>
1871
+ </terms>
1872
+ </annex>
1873
+ <annex id='RR' obligation='normative' displayorder='3'>
1874
+ <title>
1875
+ <strong>Annex C</strong>
1876
+ <br/>
1877
+ (normative)
1878
+ <br/>
1879
+ <br/>
1880
+ <strong>Glossary</strong>
1881
+ </title>
1882
+ <terms id='RR1' obligation='normative'>
1883
+ <title depth='2'>
1884
+ C.1.
1885
+ <tab/>
1886
+ Term Collection
1887
+ </title>
1888
+ <term id='term-term-3'>
1889
+ <name>C.1.1.</name>
1890
+ <preferred>Term</preferred>
1891
+ </term>
1892
+ </terms>
1893
+ <references id='RR2' obligation='normative'>
1894
+ <title depth='2'>
1895
+ C.2.
1896
+ <tab/>
1897
+ References
1898
+ </title>
1899
+ </references>
1900
+ </annex>
1901
+ </iso-standard>
1902
+ OUTPUT
1903
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({})
1904
+ .convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
1905
+ end
1142
1906
  end