asciidoctor-iso 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.tb.yml +20 -10
  3. data/.travis.yml +3 -1
  4. data/Gemfile.lock +11 -11
  5. data/README.adoc +13 -8
  6. data/lib/asciidoctor/iso/base.rb +3 -0
  7. data/lib/asciidoctor/iso/biblio.rng +43 -25
  8. data/lib/asciidoctor/iso/blocks.rb +2 -2
  9. data/lib/asciidoctor/iso/cleanup.rb +4 -4
  10. data/lib/asciidoctor/iso/cleanup_block.rb +20 -6
  11. data/lib/asciidoctor/iso/cleanup_ref.rb +5 -4
  12. data/lib/asciidoctor/iso/front.rb +10 -3
  13. data/lib/asciidoctor/iso/html/isodoc.scss +15 -1
  14. data/lib/asciidoctor/iso/html/word_iso_titlepage.html +1 -1
  15. data/lib/asciidoctor/iso/html/wordstyle.scss +7 -0
  16. data/lib/asciidoctor/iso/isodoc.rng +19 -30
  17. data/lib/asciidoctor/iso/isostandard.rng +52 -14
  18. data/lib/asciidoctor/iso/section.rb +12 -1
  19. data/lib/asciidoctor/iso/utils.rb +3 -0
  20. data/lib/asciidoctor/iso/validate.rb +6 -6
  21. data/lib/asciidoctor/iso/validate_section.rb +6 -6
  22. data/lib/asciidoctor/iso/validate_style.rb +1 -1
  23. data/lib/asciidoctor/iso/version.rb +1 -1
  24. data/spec/asciidoctor-iso/base_spec.rb +3 -2
  25. data/spec/asciidoctor-iso/blocks_spec.rb +3 -3
  26. data/spec/asciidoctor-iso/cleanup_spec.rb +18 -12
  27. data/spec/asciidoctor-iso/inline_spec.rb +2 -1
  28. data/spec/asciidoctor-iso/refs_spec.rb +14 -7
  29. data/spec/asciidoctor-iso/section_spec.rb +57 -30
  30. data/spec/asciidoctor-iso/validate_spec.rb +8 -8
  31. data/spec/examples/rice.adoc +4 -1
  32. data/spec/examples/rice.preview.html +10 -3
  33. metadata +2 -5
  34. data/spec/examples/rice.doc +0 -18053
  35. data/spec/examples/rice.html +0 -1112
  36. data/spec/examples/rice.xml +0 -965
@@ -34,6 +34,7 @@ RSpec.describe Asciidoctor::ISO do
34
34
  </iso-standard>
35
35
  OUTPUT
36
36
  expect(File.exist?("test.doc")).to be true
37
+ expect(File.exist?("htmlstyle.css")).to be false
37
38
  end
38
39
 
39
40
  it "processes default metadata" do
@@ -64,7 +65,7 @@ RSpec.describe Asciidoctor::ISO do
64
65
  :iteration: 3
65
66
  :language: en
66
67
  :title-intro-en: Introduction
67
- :title-main-en: Main Title
68
+ :title-main-en: Main Title -- Title
68
69
  :title-part-en: Title Part
69
70
  :title-intro-fr: Introduction Française
70
71
  :title-main-fr: Titre Principal
@@ -76,7 +77,7 @@ RSpec.describe Asciidoctor::ISO do
76
77
  <bibdata type="article">
77
78
  <title>
78
79
  <title-intro language="en" format="text/plain">Introduction</title-intro>
79
- <title-main language="en" format="text/plain">Main Title</title-main>
80
+ <title-main language="en" format="text/plain">Main Title — Title</title-main>
80
81
  <title-part language="en" format="text/plain">Title Part</title-part>
81
82
  </title>
82
83
  <title>
@@ -96,7 +96,7 @@ RSpec.describe Asciidoctor::ISO do
96
96
  <draft>1.2</draft>
97
97
  </version>
98
98
  <sections><p id="foreword">Foreword</p>
99
- <review reviewer="ISO" id="_" date="20170101T0000" from="foreword" to="foreword"><p id="_">A Foreword shall appear in each document. The generic text is shown here. It does not contain requirements, recommendations or permissions.</p>
99
+ <review reviewer="ISO" id="_" date="20170101T00:00:00Z" from="foreword" to="foreword"><p id="_">A Foreword shall appear in each document. The generic text is shown here. It does not contain requirements, recommendations or permissions.</p>
100
100
  <p id="_">For further information on the Foreword, see <strong>ISO/IEC Directives, Part 2, 2016, Clause 12.</strong></p></review></sections>
101
101
  </iso-standard>
102
102
 
@@ -248,10 +248,10 @@ RSpec.describe Asciidoctor::ISO do
248
248
  == Section 1
249
249
  INPUT
250
250
  #{BLANK_HDR}
251
- <foreword obligation="informative">
251
+ <preface><foreword obligation="informative">
252
252
  <title>Foreword</title>
253
253
  <p id="_">This is a preamble</p>
254
- </foreword><sections>
254
+ </foreword></preface><sections>
255
255
  <clause id="_" inline-header="false" obligation="normative">
256
256
  <title>Section 1</title>
257
257
  </clause></sections>
@@ -179,13 +179,13 @@ r = 1 %</stem>
179
179
  * [[[iso216,ISO 216:2001]]], _Reference_
180
180
  INPUT
181
181
  #{BLANK_HDR}
182
- <foreword obligation="informative">
182
+ <preface><foreword obligation="informative">
183
183
  <title>Foreword</title>
184
184
  <p id="_">
185
185
  <eref type="inline" bibitemid="iso216" citeas="ISO 216: 2001"/>
186
186
  </p>
187
- </foreword><sections>
188
- </sections><references id="_" obligation="informative">
187
+ </foreword></preface><sections>
188
+ </sections><bibliography><references id="_" obligation="informative">
189
189
  <title>Normative References</title>
190
190
  <bibitem id="iso216" type="standard">
191
191
  <title format="text/plain">Reference</title>
@@ -202,6 +202,7 @@ r = 1 %</stem>
202
202
  </contributor>
203
203
  </bibitem>
204
204
  </references>
205
+ </bibliography
205
206
  </iso-standard>
206
207
  OUTPUT
207
208
  end
@@ -209,20 +210,21 @@ r = 1 %</stem>
209
210
  it "extracts localities from erefs" do
210
211
  expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
211
212
  #{ASCIIDOC_BLANK_HDR}
212
- <<iso216,whole,clause 3,example 9-11:the reference>>
213
+ <<iso216,whole,clause 3,example 9-11,locality:prelude 33,locality:entirety:the reference>>
213
214
 
214
215
  [bibliography]
215
216
  == Normative References
216
217
  * [[[iso216,ISO 216]]], _Reference_
217
218
  INPUT
218
219
  #{BLANK_HDR}
220
+ <preface>
219
221
  <foreword obligation="informative">
220
222
  <title>Foreword</title>
221
223
  <p id="_">
222
- <eref type="inline" bibitemid="iso216" citeas="ISO 216"><locality type="whole"/><locality type="clause"><referenceFrom>3</referenceFrom></locality><locality type="example"><referenceFrom>9</referenceFrom><referenceTo>11</referenceTo></locality>the reference</eref>
224
+ <eref type="inline" bibitemid="iso216" citeas="ISO 216"><locality type="whole"/><locality type="clause"><referenceFrom>3</referenceFrom></locality><locality type="example"><referenceFrom>9</referenceFrom><referenceTo>11</referenceTo></locality><locality type="locality:prelude"><referenceFrom>33</referenceFrom></locality><locality type="locality:entirety"/>the reference</eref>
223
225
  </p>
224
- </foreword><sections>
225
- </sections><references id="_" obligation="informative">
226
+ </foreword></preface><sections>
227
+ </sections><bibliography><references id="_" obligation="informative">
226
228
  <title>Normative References</title>
227
229
  <bibitem id="iso216" type="standard">
228
230
  <title format="text/plain">Reference</title>
@@ -236,6 +238,7 @@ r = 1 %</stem>
236
238
  </contributor>
237
239
  </bibitem>
238
240
  </references>
241
+ </bibliography>
239
242
  </iso-standard>
240
243
  OUTPUT
241
244
  end
@@ -251,12 +254,13 @@ r = 1 %</stem>
251
254
  * [[[iso216,ISO 216]]], _Reference_
252
255
  INPUT
253
256
  #{BLANK_HDR}
257
+ <preface>
254
258
  <foreword obligation="informative">
255
259
  <title>Foreword</title>
256
260
  <p id="_">
257
261
  <eref type="inline" bibitemid="iso216" citeas=""/>
258
262
  </p>
259
- </foreword><sections>
263
+ </foreword></preface><sections>
260
264
  <clause id="_" inline-header="false" obligation="normative">
261
265
  <title>Clause</title>
262
266
  <ul id="_">
@@ -308,7 +312,7 @@ r = 1 %</stem>
308
312
  #{BLANK_HDR}
309
313
  <sections>
310
314
 
311
- </sections><references id="_" obligation="informative"><title>Normative References</title>
315
+ </sections><bibliography><references id="_" obligation="informative"><title>Normative References</title>
312
316
  <bibitem id="iso216" type="standard">
313
317
  <title format="text/plain">Reference</title>
314
318
  <docidentifier>ISO 216</docidentifier>
@@ -320,6 +324,7 @@ r = 1 %</stem>
320
324
  </organization>
321
325
  </contributor>
322
326
  </bibitem></references>
327
+ </bibliography>
323
328
  </iso-standard>
324
329
  OUTPUT
325
330
  end
@@ -628,13 +633,13 @@ r = 1 %</stem>
628
633
  footnote:[Footnote2]
629
634
  INPUT
630
635
  #{BLANK_HDR}
631
- <foreword obligation="informative">
636
+ <preface><foreword obligation="informative">
632
637
  <title>Foreword</title>
633
638
  <p id="_"><fn reference="1">
634
639
  <p id="_">Footnote</p>
635
640
  </fn>
636
641
  </p>
637
- </foreword><sections>
642
+ </foreword></preface><sections>
638
643
 
639
644
  <clause id="_" inline-header="false" obligation="normative">
640
645
  <title>Clause</title>
@@ -642,7 +647,7 @@ r = 1 %</stem>
642
647
  <p id="_">Footnote2</p>
643
648
  </fn>
644
649
  </p>
645
- </clause></sections><references id="_" obligation="informative">
650
+ </clause></sections><bibliography><references id="_" obligation="informative">
646
651
  <title>Normative References</title>
647
652
  <bibitem id="iso123" type="standard">
648
653
  <title format="text/plain">Standard</title>
@@ -658,6 +663,7 @@ r = 1 %</stem>
658
663
  <note format="text/plain" reference="2">ISO DATE: The standard is in press</note>
659
664
  </bibitem>
660
665
  </references>
666
+ </bibliography>
661
667
  </iso-standard>
662
668
  OUTPUT
663
669
  end
@@ -127,7 +127,7 @@ RSpec.describe Asciidoctor::ISO do
127
127
  #{BLANK_HDR}
128
128
  <sections>
129
129
 
130
- </sections><references id="_" obligation="informative">
130
+ </sections><bibliography><references id="_" obligation="informative">
131
131
  <title>Normative References</title>
132
132
  <bibitem id="ISO712">
133
133
  <formattedref format="application/x-isodoc+xml">Reference</formattedref>
@@ -138,6 +138,7 @@ RSpec.describe Asciidoctor::ISO do
138
138
  <docidentifier>ISO713</docidentifier>
139
139
  </bibitem>
140
140
  </references>
141
+ </bibliography>
141
142
  </iso-standard>
142
143
  OUTPUT
143
144
  end
@@ -11,7 +11,7 @@ RSpec.describe Asciidoctor::ISO do
11
11
  INPUT
12
12
  #{BLANK_HDR}
13
13
  <sections>
14
- </sections><references id="_" obligation="informative">
14
+ </sections><bibliography><references id="_" obligation="informative">
15
15
  <title>Normative References</title>
16
16
  <bibitem id="iso123" type="standard">
17
17
  <title format="text/plain">Standard</title>
@@ -25,6 +25,7 @@ RSpec.describe Asciidoctor::ISO do
25
25
  </contributor>
26
26
  </bibitem>
27
27
  </references>
28
+ </bibliography>
28
29
  </iso-standard>
29
30
  OUTPUT
30
31
  end
@@ -39,7 +40,7 @@ RSpec.describe Asciidoctor::ISO do
39
40
  INPUT
40
41
  #{BLANK_HDR}
41
42
  <sections>
42
- </sections><references id="_" obligation="informative">
43
+ </sections><bibliography><references id="_" obligation="informative">
43
44
  <title>Normative References</title>
44
45
  <bibitem id="iso123" type="standard">
45
46
  <title format="text/plain">Standard</title>
@@ -53,6 +54,7 @@ RSpec.describe Asciidoctor::ISO do
53
54
  </contributor>
54
55
  </bibitem>
55
56
  </references>
57
+ </bibliography>
56
58
  </iso-standard>
57
59
  OUTPUT
58
60
  end
@@ -69,7 +71,7 @@ RSpec.describe Asciidoctor::ISO do
69
71
  #{BLANK_HDR}
70
72
  <sections>
71
73
 
72
- </sections><references id="_" obligation="informative">
74
+ </sections><bibliography><references id="_" obligation="informative">
73
75
  <title>Normative References</title>
74
76
  <bibitem id="iso123" type="standard">
75
77
  <title format="text/plain">Standard</title>
@@ -108,6 +110,7 @@ RSpec.describe Asciidoctor::ISO do
108
110
  </contributor>
109
111
  </bibitem>
110
112
  </references>
113
+ </bibliography>
111
114
  </iso-standard>
112
115
  OUTPUT
113
116
  end
@@ -122,7 +125,7 @@ RSpec.describe Asciidoctor::ISO do
122
125
  INPUT
123
126
  #{BLANK_HDR}
124
127
  <sections>
125
- </sections><references id="_" obligation="informative">
128
+ </sections><bibliography><references id="_" obligation="informative">
126
129
  <title>Normative References</title>
127
130
  <bibitem id="iso123" type="standard">
128
131
  <title format="text/plain">Standard</title>
@@ -140,6 +143,7 @@ RSpec.describe Asciidoctor::ISO do
140
143
  <note format="text/plain" reference="1">ISO DATE: The standard is in press</note>
141
144
  </bibitem>
142
145
  </references>
146
+ </bibliography>
143
147
  </iso-standard>
144
148
  OUTPUT
145
149
  end
@@ -155,7 +159,7 @@ RSpec.describe Asciidoctor::ISO do
155
159
  #{BLANK_HDR}
156
160
  <sections>
157
161
 
158
- </sections><references id="_" obligation="informative">
162
+ </sections><bibliography><references id="_" obligation="informative">
159
163
  <title>Normative References</title>
160
164
  <bibitem id="iso123" type="standard">
161
165
  <title format="text/plain">Standard</title>
@@ -172,6 +176,7 @@ RSpec.describe Asciidoctor::ISO do
172
176
  </contributor>
173
177
  </bibitem>
174
178
  </references>
179
+ </bibliography>
175
180
  </iso-standard>
176
181
  OUTPUT
177
182
  end
@@ -187,7 +192,7 @@ RSpec.describe Asciidoctor::ISO do
187
192
  #{BLANK_HDR}
188
193
  <sections>
189
194
 
190
- </sections><references id="_" obligation="informative">
195
+ </sections><bibliography><references id="_" obligation="informative">
191
196
  <title>Normative References</title>
192
197
  <bibitem id="iso123">
193
198
  <formattedref format="application/x-isodoc+xml">
@@ -196,6 +201,7 @@ RSpec.describe Asciidoctor::ISO do
196
201
  <docidentifier>XYZ 123:1066 (all parts)</docidentifier>
197
202
  </bibitem>
198
203
  </references>
204
+ </bibliography>
199
205
  </iso-standard>
200
206
  OUTPUT
201
207
  end
@@ -211,7 +217,7 @@ RSpec.describe Asciidoctor::ISO do
211
217
  #{BLANK_HDR}
212
218
  <sections>
213
219
 
214
- </sections><references id="_" obligation="informative">
220
+ </sections><bibliography><references id="_" obligation="informative">
215
221
  <title>Bibliography</title>
216
222
  <bibitem id="iso123">
217
223
  <formattedref format="application/x-isodoc+xml">
@@ -220,6 +226,7 @@ RSpec.describe Asciidoctor::ISO do
220
226
  <docidentifier>[1]</docidentifier>
221
227
  </bibitem>
222
228
  </references>
229
+ </bibliography>
223
230
  </iso-standard>
224
231
  OUTPUT
225
232
  end
@@ -6,6 +6,8 @@ RSpec.describe Asciidoctor::ISO do
6
6
  #{ASCIIDOC_BLANK_HDR}
7
7
  .Foreword
8
8
 
9
+ Text
10
+
9
11
  == Introduction
10
12
 
11
13
  === Introduction Subsection
@@ -43,15 +45,21 @@ RSpec.describe Asciidoctor::ISO do
43
45
 
44
46
  === Annex A.1
45
47
 
48
+ [%appendix]
49
+ === Appendix 1
50
+
46
51
  == Bibliography
47
52
 
48
53
  === Bibliography Subsection
49
54
  INPUT
50
55
  #{BLANK_HDR}
51
- <introduction id="_" obligation="informative"><title>Introduction</title><subsection id="_" inline-header="false" obligation="informative">
56
+ <preface><foreword obligation="informative">
57
+ <title>Foreword</title>
58
+ <p id="_">Text</p>
59
+ </foreword><introduction id="_" obligation="informative"><title>Introduction</title><clause id="_" inline-header="false" obligation="informative">
52
60
  <title>Introduction Subsection</title>
53
- </subsection>
54
- </introduction><sections>
61
+ </clause>
62
+ </introduction></preface><sections>
55
63
  <clause id="_" obligation="normative">
56
64
  <title>Scope</title>
57
65
  <p id="_">Text</p>
@@ -71,19 +79,21 @@ RSpec.describe Asciidoctor::ISO do
71
79
  </terms>
72
80
  <definitions id="_"/></clause>
73
81
  <definitions id="_"/>
74
- <clause id="_" inline-header="false" obligation="normative"><title>Clause 4</title><subsection id="_" inline-header="false" obligation="normative">
82
+ <clause id="_" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="_" inline-header="false" obligation="normative">
75
83
  <title>Introduction</title>
76
- </subsection>
77
- <subsection id="_" inline-header="false" obligation="normative">
84
+ </clause>
85
+ <clause id="_" inline-header="false" obligation="normative">
78
86
  <title>Clause 4.2</title>
79
- </subsection></clause>
87
+ </clause></clause>
80
88
 
81
89
  </sections><annex id="_" inline-header="false" obligation="normative">
82
90
  <title>Annex</title>
83
- <subsection id="_" inline-header="false" obligation="normative">
91
+ <clause id="_" inline-header="false" obligation="normative">
84
92
  <title>Annex A.1</title>
85
- </subsection>
86
- </annex><references id="_" obligation="informative">
93
+ </clause>
94
+ <appendix id="_" inline-header="false" obligation="normative">
95
+ <title>Appendix 1</title>
96
+ </appendix></annex><bibliography><references id="_" obligation="informative">
87
97
  <title>Normative References</title>
88
98
  </references><clause id="_" obligation="informative">
89
99
  <title>Bibliography</title>
@@ -91,6 +101,7 @@ RSpec.describe Asciidoctor::ISO do
91
101
  <title>Bibliography Subsection</title>
92
102
  </references>
93
103
  </clause>
104
+ </bibliography>
94
105
  </iso-standard>
95
106
  OUTPUT
96
107
  end
@@ -100,6 +111,8 @@ RSpec.describe Asciidoctor::ISO do
100
111
  #{ASCIIDOC_BLANK_HDR}
101
112
  .Foreword
102
113
 
114
+ Text
115
+
103
116
  [heading=introduction]
104
117
  == Εισαγωγή
105
118
 
@@ -144,16 +157,26 @@ RSpec.describe Asciidoctor::ISO do
144
157
 
145
158
  === Annex A.1
146
159
 
160
+ [%appendix]
161
+ === Appendx 1
162
+
147
163
  [heading=bibliography]
148
164
  == Βιβλιογραφία
149
165
 
150
166
  === Bibliography Subsection
151
167
  INPUT
152
168
  #{BLANK_HDR}
153
- <introduction id="_" obligation="informative"><title>Introduction</title><subsection id="_" inline-header="false" obligation="informative">
169
+ <preface>
170
+ <foreword obligation="informative">
171
+ <title>Foreword</title>
172
+ <p id="_">Text</p>
173
+ </foreword>
174
+ <introduction id="_" obligation="informative"><title>Introduction</title><clause id="_" inline-header="false" obligation="informative">
154
175
  <title>Introduction Subsection</title>
155
- </subsection>
156
- </introduction><sections>
176
+ </clause>
177
+ </introduction>
178
+ </preface>
179
+ <sections>
157
180
  <clause id="_" obligation="normative">
158
181
  <title>Scope</title>
159
182
  <p id="_">Text</p>
@@ -173,19 +196,21 @@ RSpec.describe Asciidoctor::ISO do
173
196
  </clause>
174
197
  <definitions id="_"/></terms>
175
198
  <definitions id="_"/>
176
- <clause id="_" inline-header="false" obligation="normative"><title>Clause 4</title><subsection id="_" inline-header="false" obligation="normative">
199
+ <clause id="_" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="_" inline-header="false" obligation="normative">
177
200
  <title>Introduction</title>
178
- </subsection>
179
- <subsection id="_" inline-header="false" obligation="normative">
201
+ </clause>
202
+ <clause id="_" inline-header="false" obligation="normative">
180
203
  <title>Clause 4.2</title>
181
- </subsection></clause>
204
+ </clause></clause>
182
205
 
183
206
  </sections><annex id="_" inline-header="false" obligation="normative">
184
207
  <title>Annex</title>
185
- <subsection id="_" inline-header="false" obligation="normative">
208
+ <clause id="_" inline-header="false" obligation="normative">
186
209
  <title>Annex A.1</title>
187
- </subsection>
188
- </annex><references id="_" obligation="informative">
210
+ </clause>
211
+ <appendix id="_" inline-header="false" obligation="normative">
212
+ <title>Appendx 1</title>
213
+ </appendix></annex><bibliography><references id="_" obligation="informative">
189
214
  <title>Normative References</title>
190
215
  </references><clause id="_" obligation="informative">
191
216
  <title>Bibliography</title>
@@ -193,6 +218,7 @@ RSpec.describe Asciidoctor::ISO do
193
218
  <title>Bibliography Subsection</title>
194
219
  </references>
195
220
  </clause>
221
+ </bibliography>
196
222
  </iso-standard>
197
223
  OUTPUT
198
224
  end
@@ -214,9 +240,9 @@ RSpec.describe Asciidoctor::ISO do
214
240
  #{BLANK_HDR}
215
241
  <sections><clause id="_" inline-header="false" obligation="informative">
216
242
  <title>Clause 1</title>
217
- <subsection id="_" inline-header="false" obligation="informative">
243
+ <clause id="_" inline-header="false" obligation="informative">
218
244
  <title>Clause 1a</title>
219
- </subsection>
245
+ </clause>
220
246
  </clause>
221
247
  <clause id="_" inline-header="false" obligation="normative">
222
248
  <title>Clause 2</title>
@@ -245,15 +271,15 @@ RSpec.describe Asciidoctor::ISO do
245
271
  #{BLANK_HDR}
246
272
  <sections><clause id="_" inline-header="false" obligation="normative">
247
273
  <title>Clause 1</title>
248
- <subsection id="_" inline-header="true" obligation="normative">
274
+ <clause id="_" inline-header="true" obligation="normative">
249
275
  <title>Clause 1a</title>
250
- </subsection>
276
+ </clause>
251
277
  </clause>
252
278
  </sections><annex id="_" inline-header="false" obligation="normative">
253
279
  <title>Annex A</title>
254
- <subsection id="_" inline-header="true" obligation="normative">
280
+ <clause id="_" inline-header="true" obligation="normative">
255
281
  <title>Clause Aa</title>
256
- </subsection>
282
+ </clause>
257
283
  </annex>
258
284
  </iso-standard>
259
285
  OUTPUT
@@ -271,8 +297,8 @@ RSpec.describe Asciidoctor::ISO do
271
297
  <sections>
272
298
  <clause id="_" inline-header="false" obligation="normative">
273
299
  <title>Clause 1</title>
274
- <subsection id="_" inline-header="false" obligation="normative">
275
- </subsection>
300
+ <clause id="_" inline-header="false" obligation="normative">
301
+ </clause>
276
302
  </clause>
277
303
  </sections>
278
304
  </iso-standard>
@@ -290,10 +316,11 @@ RSpec.describe Asciidoctor::ISO do
290
316
 
291
317
  INPUT
292
318
  #{BLANK_HDR}
293
- <termdocsource target="iso1234" type="inline"/><termdocsource target="iso5678" type="inline"/><foreword obligation="informative">
319
+ <termdocsource target="iso1234" type="inline"/><termdocsource target="iso5678" type="inline"/>
320
+ <preface><foreword obligation="informative">
294
321
  <title>Foreword</title>
295
322
  <p id="_">Foreword</p>
296
- </foreword><sections>
323
+ </foreword></preface><sections>
297
324
  <terms id="_" obligation="normative">
298
325
  <title>Terms and Definitions</title>
299
326