isodoc 1.0.26 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +12 -8
  3. data/.github/workflows/ubuntu.yml +26 -16
  4. data/.github/workflows/windows.yml +12 -8
  5. data/isodoc.gemspec +2 -2
  6. data/lib/isodoc.rb +2 -0
  7. data/lib/isodoc/common.rb +0 -4
  8. data/lib/isodoc/convert.rb +18 -8
  9. data/lib/isodoc/function/blocks.rb +43 -54
  10. data/lib/isodoc/function/blocks_example_note.rb +108 -0
  11. data/lib/isodoc/function/cleanup.rb +14 -2
  12. data/lib/isodoc/function/i18n.rb +1 -0
  13. data/lib/isodoc/function/inline.rb +76 -82
  14. data/lib/isodoc/function/inline_simple.rb +72 -0
  15. data/lib/isodoc/function/lists.rb +12 -6
  16. data/lib/isodoc/function/references.rb +65 -57
  17. data/lib/isodoc/function/reqt.rb +14 -5
  18. data/lib/isodoc/function/section.rb +8 -11
  19. data/lib/isodoc/function/table.rb +4 -5
  20. data/lib/isodoc/function/terms.rb +3 -3
  21. data/lib/isodoc/function/to_word_html.rb +22 -13
  22. data/lib/isodoc/function/utils.rb +9 -3
  23. data/lib/isodoc/headlesshtml_convert.rb +7 -6
  24. data/lib/isodoc/html_convert.rb +2 -1
  25. data/lib/isodoc/html_function/footnotes.rb +1 -1
  26. data/lib/isodoc/html_function/html.rb +16 -1
  27. data/lib/isodoc/html_function/postprocess.rb +6 -5
  28. data/lib/isodoc/metadata.rb +6 -0
  29. data/lib/isodoc/pdf_convert.rb +8 -6
  30. data/lib/isodoc/presentation_xml_convert.rb +29 -0
  31. data/lib/isodoc/version.rb +1 -1
  32. data/lib/isodoc/word_convert.rb +2 -1
  33. data/lib/isodoc/word_function/body.rb +14 -48
  34. data/lib/isodoc/word_function/footnotes.rb +1 -1
  35. data/lib/isodoc/word_function/inline.rb +75 -0
  36. data/lib/isodoc/word_function/postprocess.rb +1 -0
  37. data/lib/isodoc/word_function/table.rb +3 -3
  38. data/lib/isodoc/xref.rb +59 -0
  39. data/lib/isodoc/{function → xref}/xref_anchor.rb +10 -21
  40. data/lib/isodoc/xref/xref_counter.rb +74 -0
  41. data/lib/isodoc/{function → xref}/xref_gen.rb +9 -22
  42. data/lib/isodoc/{function → xref}/xref_gen_seq.rb +41 -32
  43. data/lib/isodoc/{function → xref}/xref_sect_gen.rb +33 -23
  44. data/lib/isodoc/xslfo_convert.rb +16 -4
  45. data/spec/assets/i18n.yaml +4 -1
  46. data/spec/assets/odf.emf +0 -0
  47. data/spec/assets/odf.svg +4 -0
  48. data/spec/assets/odf1.svg +4 -0
  49. data/spec/isodoc/blocks_spec.rb +240 -59
  50. data/spec/isodoc/cleanup_spec.rb +139 -17
  51. data/spec/isodoc/footnotes_spec.rb +20 -5
  52. data/spec/isodoc/inline_spec.rb +296 -1
  53. data/spec/isodoc/lists_spec.rb +8 -8
  54. data/spec/isodoc/metadata_spec.rb +110 -3
  55. data/spec/isodoc/postproc_spec.rb +10 -14
  56. data/spec/isodoc/presentation_xml_spec.rb +20 -0
  57. data/spec/isodoc/ref_spec.rb +119 -50
  58. data/spec/isodoc/section_spec.rb +84 -18
  59. data/spec/isodoc/table_spec.rb +28 -28
  60. data/spec/isodoc/terms_spec.rb +7 -7
  61. data/spec/isodoc/xref_spec.rb +177 -57
  62. metadata +24 -17
  63. data/lib/isodoc/function/blocks_example.rb +0 -53
  64. data/lib/isodoc/function/xref_counter.rb +0 -50
@@ -5,7 +5,7 @@ RSpec.describe IsoDoc do
5
5
  expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
6
6
  <iso-standard xmlns="http://riboseinc.com/isoxml">
7
7
  <preface><foreword>
8
- <ul id="_61961034-0fb1-436b-b281-828857a59ddb">
8
+ <ul id="_61961034-0fb1-436b-b281-828857a59ddb" keep-with-next="true" keep-lines-together="true">
9
9
  <li>
10
10
  <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
11
11
  </li>
@@ -20,7 +20,7 @@ RSpec.describe IsoDoc do
20
20
  <br/>
21
21
  <div>
22
22
  <h1 class="ForewordTitle">Foreword</h1>
23
- <ul id="_61961034-0fb1-436b-b281-828857a59ddb">
23
+ <ul id="_61961034-0fb1-436b-b281-828857a59ddb" style="page-break-after: avoid;page-break-inside: avoid;">
24
24
  <li>
25
25
  <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
26
26
  </li>
@@ -136,7 +136,7 @@ RSpec.describe IsoDoc do
136
136
  expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
137
137
  <iso-standard xmlns="http://riboseinc.com/isoxml">
138
138
  <preface><foreword>
139
- <ol id="_ae34a226-aab4-496d-987b-1aa7b6314026" type="alphabet">
139
+ <ol id="_ae34a226-aab4-496d-987b-1aa7b6314026" type="alphabet" keep-with-next="true" keep-lines-together="true">
140
140
  <li>
141
141
  <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
142
142
  </li>
@@ -158,7 +158,7 @@ RSpec.describe IsoDoc do
158
158
  <br/>
159
159
  <div>
160
160
  <h1 class="ForewordTitle">Foreword</h1>
161
- <ol type="a" id="_ae34a226-aab4-496d-987b-1aa7b6314026">
161
+ <ol type="a" id="_ae34a226-aab4-496d-987b-1aa7b6314026" style="page-break-after: avoid;page-break-inside: avoid;">
162
162
  <li>
163
163
  <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
164
164
  </li>
@@ -226,7 +226,7 @@ RSpec.describe IsoDoc do
226
226
  expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
227
227
  <iso-standard xmlns="http://riboseinc.com/isoxml">
228
228
  <preface><foreword>
229
- <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395">
229
+ <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395" keep-with-next="true" keep-lines-together="true">
230
230
  <dt>
231
231
  W
232
232
  </dt>
@@ -244,7 +244,7 @@ RSpec.describe IsoDoc do
244
244
  <br/>
245
245
  <div>
246
246
  <h1 class="ForewordTitle">Foreword</h1>
247
- <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395">
247
+ <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395" style="page-break-after: avoid;page-break-inside: avoid;">
248
248
  <dt>
249
249
  <p>
250
250
  W
@@ -260,7 +260,7 @@ RSpec.describe IsoDoc do
260
260
  <p>??</p>
261
261
  </dd>
262
262
  </dl>
263
- <div id="" class="Note">
263
+ <div class="Note">
264
264
  <p><span class="note_label">NOTE</span>&#160; This is a note</p>
265
265
  </div>
266
266
  </div>
@@ -323,7 +323,7 @@ RSpec.describe IsoDoc do
323
323
  </tr>
324
324
  <tr>
325
325
  <td colspan="2">
326
- <div id="" class="Note">
326
+ <div class="Note">
327
327
  <p class="Note"><span class="note_label">NOTE</span><span style="mso-tab-count:1">&#160; </span>This is a note</p>
328
328
  </div>
329
329
  </td>
@@ -88,13 +88,56 @@ RSpec.describe IsoDoc do
88
88
  </organization>
89
89
  </owner>
90
90
  </copyright>
91
+ <keyword>KW2</keyword>
92
+ <keyword>KW1</keyword>
93
+ <keyword>KW3</keyword>
91
94
  <ext>
92
95
  <doctype>international-standard</doctype>
93
96
  </ext>
94
97
  </bibdata>
95
98
  </iso-standard>
96
99
  INPUT
97
- {:accesseddate=>"2012", :activateddate=>"2013", :agency=>"ISO", :authors=>["Barney Rubble", "Fred Flintstone"], :authors_affiliations=>{"Slate Inc., Bedrock"=>["Barney Rubble"], ""=>["Fred Flintstone"]}, :circulateddate=>"2015", :confirmeddate=>"2017", :copieddate=>"2016", :createddate=>"2010&ndash;2011", :doc=>"URL E", :docnumber=>"17301-1", :docnumeric=>"17301", :doctitle=>"Cereals and pulses", :doctype=>"International Standard", :docyear=>"2016", :draft=>"0.4", :draftinfo=>" (draft 0.4, 2016-05-01)", :edition=>"2", :html=>"URL B", :implementeddate=>"XXX", :issueddate=>"XXX", :iteration=>"2", :obsoleteddate=>"2014", :pdf=>"URL D", :publisheddate=>"2011", :publisher=>"", :receiveddate=>"XXX", :revdate=>"2016-05-01", :revdate_monthyear=>"May 2016", :stage=>"Committee draft", :stageabbr=>"CD", :substage=>"Withdrawn", :transmitteddate=>"2020", :unchangeddate=>"2019", :unpublished=>true, :updateddate=>"2018", :url=>"URL A", :vote_endeddate=>"2022", :vote_starteddate=>"2021", :xml=>"URL C"}
100
+ {:accesseddate=>"2012",
101
+ :activateddate=>"2013",
102
+ :agency=>"ISO",
103
+ :authors=>["Barney Rubble", "Fred Flintstone"],
104
+ :authors_affiliations=>{"Slate Inc., Bedrock"=>["Barney Rubble"], ""=>["Fred Flintstone"]},
105
+ :circulateddate=>"2015",
106
+ :confirmeddate=>"2017",
107
+ :copieddate=>"2016",
108
+ :createddate=>"2010&ndash;2011",
109
+ :doc=>"URL E",
110
+ :docnumber=>"17301-1",
111
+ :docnumeric=>"17301",
112
+ :doctitle=>"Cereals and pulses",
113
+ :doctype=>"International Standard",
114
+ :docyear=>"2016",
115
+ :draft=>"0.4",
116
+ :draftinfo=>" (draft 0.4, 2016-05-01)",
117
+ :edition=>"2",
118
+ :html=>"URL B",
119
+ :implementeddate=>"XXX",
120
+ :issueddate=>"XXX",
121
+ :iteration=>"2",
122
+ :keywords=>["KW2", "KW1", "KW3"],
123
+ :obsoleteddate=>"2014",
124
+ :pdf=>"URL D",
125
+ :publisheddate=>"2011",
126
+ :publisher=>"",
127
+ :receiveddate=>"XXX",
128
+ :revdate=>"2016-05-01",
129
+ :revdate_monthyear=>"May 2016",
130
+ :stage=>"Committee draft",
131
+ :stageabbr=>"CD",
132
+ :substage=>"Withdrawn",
133
+ :transmitteddate=>"2020",
134
+ :unchangeddate=>"2019",
135
+ :unpublished=>true,
136
+ :updateddate=>"2018",
137
+ :url=>"URL A",
138
+ :vote_endeddate=>"2022",
139
+ :vote_starteddate=>"2021",
140
+ :xml=>"URL C"}
98
141
  OUTPUT
99
142
  end
100
143
 
@@ -168,7 +211,41 @@ OUTPUT
168
211
  </version>
169
212
  </iso-standard>
170
213
  INPUT
171
- {:accesseddate=>"XXX", :agency=>"ISO/IEC/IEEE", :authors=>[], :authors_affiliations=>{}, :circulateddate=>"XXX", :confirmeddate=>"XXX", :copieddate=>"XXX", :createddate=>"XXX", :docnumber=>"17301-1-3", :docnumeric=>"17301", :doctitle=>"Cereals and pulses", :doctype=>"International Standard", :docyear=>"2016", :draft=>"12", :draftinfo=>" (draft 12, 2016-05)", :edition=>nil, :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"XXX", :obsoletes=>"IEC 8121", :obsoletes_part=>"3.1", :partof=>"IEC 8122", :publisheddate=>"2011-01", :publisher=>"International Organization for Standardization, International Electrotechnical Commission and Institute of Electrical and Electronics Engineers", :receiveddate=>"XXX", :revdate=>"2016-05", :revdate_monthyear=>"May 2016", :stage=>"Published", :transmitteddate=>"XXX", :unchangeddate=>"XXX", :unpublished=>false, :updateddate=>"XXX", :vote_endeddate=>"XXX", :vote_starteddate=>"XXX"}
214
+ {:accesseddate=>"XXX",
215
+ :agency=>"ISO/IEC/IEEE",
216
+ :authors=>[],
217
+ :authors_affiliations=>{},
218
+ :circulateddate=>"XXX",
219
+ :confirmeddate=>"XXX",
220
+ :copieddate=>"XXX",
221
+ :createddate=>"XXX",
222
+ :docnumber=>"17301-1-3",
223
+ :docnumeric=>"17301",
224
+ :doctitle=>"Cereals and pulses",
225
+ :doctype=>"International Standard",
226
+ :docyear=>"2016",
227
+ :draft=>"12",
228
+ :draftinfo=>" (draft 12, 2016-05)",
229
+ :edition=>nil,
230
+ :implementeddate=>"XXX",
231
+ :issueddate=>"XXX",
232
+ :keywords=>[],
233
+ :obsoleteddate=>"XXX",
234
+ :obsoletes=>"IEC 8121",
235
+ :obsoletes_part=>"3.1",
236
+ :partof=>"IEC 8122",
237
+ :publisheddate=>"2011-01",
238
+ :publisher=>"International Organization for Standardization, International Electrotechnical Commission and Institute of Electrical and Electronics Engineers",
239
+ :receiveddate=>"XXX",
240
+ :revdate=>"2016-05",
241
+ :revdate_monthyear=>"May 2016",
242
+ :stage=>"Published",
243
+ :transmitteddate=>"XXX",
244
+ :unchangeddate=>"XXX",
245
+ :unpublished=>false,
246
+ :updateddate=>"XXX",
247
+ :vote_endeddate=>"XXX",
248
+ :vote_starteddate=>"XXX"}
172
249
  OUTPUT
173
250
  end
174
251
 
@@ -227,7 +304,37 @@ OUTPUT
227
304
  </bibdata>
228
305
  </iso-standard>
229
306
  INPUT
230
- {:accesseddate=>"XXX", :agency=>"ISO/IEC", :authors=>[], :authors_affiliations=>{}, :circulateddate=>"XXX", :confirmeddate=>"XXX", :copieddate=>"XXX", :createddate=>"XXX", :docnumber=>"17301-1-3", :docnumeric=>"17301", :doctitle=>"Cereals and pulses", :docyear=>"2016", :draft=>nil, :draftinfo=>"", :edition=>nil, :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"XXX", :publisheddate=>"2011-01", :publisher=>"International Organization for Standardization et International Electrotechnical Commission", :receiveddate=>"XXX", :revdate=>"2016-05", :revdate_monthyear=>"Mai 2016", :stage=>"Published", :transmitteddate=>"XXX", :unchangeddate=>"XXX", :unpublished=>false, :updateddate=>"XXX", :vote_endeddate=>"XXX", :vote_starteddate=>"XXX"}
307
+ {:accesseddate=>"XXX",
308
+ :agency=>"ISO/IEC",
309
+ :authors=>[],
310
+ :authors_affiliations=>{},
311
+ :circulateddate=>"XXX",
312
+ :confirmeddate=>"XXX",
313
+ :copieddate=>"XXX",
314
+ :createddate=>"XXX",
315
+ :docnumber=>"17301-1-3",
316
+ :docnumeric=>"17301",
317
+ :doctitle=>"Cereals and pulses",
318
+ :docyear=>"2016",
319
+ :draft=>nil,
320
+ :draftinfo=>"",
321
+ :edition=>nil,
322
+ :implementeddate=>"XXX",
323
+ :issueddate=>"XXX",
324
+ :keywords=>[],
325
+ :obsoleteddate=>"XXX",
326
+ :publisheddate=>"2011-01",
327
+ :publisher=>"International Organization for Standardization et International Electrotechnical Commission",
328
+ :receiveddate=>"XXX",
329
+ :revdate=>"2016-05",
330
+ :revdate_monthyear=>"Mai 2016",
331
+ :stage=>"Published",
332
+ :transmitteddate=>"XXX",
333
+ :unchangeddate=>"XXX",
334
+ :unpublished=>false,
335
+ :updateddate=>"XXX",
336
+ :vote_endeddate=>"XXX",
337
+ :vote_starteddate=>"XXX"}
231
338
  OUTPUT
232
339
  end
233
340
 
@@ -134,12 +134,6 @@ expect(File.exist?("test.doc")).to be true
134
134
  expect(word).to match(/one empty stylesheet/)
135
135
  end
136
136
 
137
- it "generates PDF output docs with null configuration from file" do
138
- FileUtils.rm_f "spec/assets/iso.pdf"
139
- IsoDoc::PdfConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.css"}).convert("spec/assets/iso.xml", nil, false)
140
- expect(File.exist?("spec/assets/iso.pdf")).to be true
141
- end
142
-
143
137
  it "generates HTML output docs with complete configuration" do
144
138
  FileUtils.rm_f "test.doc"
145
139
  FileUtils.rm_f "test.html"
@@ -558,25 +552,25 @@ TOCLEVEL
558
552
  <p class="zzSTDTitle1"></p>
559
553
  <div id="A">
560
554
  <h1>1.&#xA0; Clause 4</h1>
561
- <a rel="footnote" href="#fn:3" epub:type="footnote" id="fnref:1">
555
+ <a class='FootnoteRef' href='#fn:3' id='fnref:1'>
562
556
  <sup>1</sup>
563
557
  </a>
564
558
  <div id="N">
565
559
 
566
- <h2>1.1.&#160; Introduction to this<a rel="footnote" href="#fn:2" epub:type="footnote" id="fnref:2"><sup>2</sup></a></h2>
560
+ <h2>1.1.&#160; Introduction to this<a class='FootnoteRef' href='#fn:2' id='fnref:2'><sup>2</sup></a></h2>
567
561
  </div>
568
562
  <div id="O">
569
563
  <h2>1.2.&#160; Clause 4.2</h2>
570
- <p>A<a rel="footnote" href="#fn:2" epub:type="footnote"><sup>2</sup></a></p>
564
+ <p>A<a class='FootnoteRef' href='#fn:2'><sup>2</sup></a></p>
571
565
  </div>
572
566
  </div>
573
567
  <aside id="fn:3" class="footnote">
574
- <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6"><a rel="footnote" href="#fn:3" epub:type="footnote">
568
+ <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6"><a class='FootnoteRef' href='#fn:3'>
575
569
  <sup>1</sup>
576
570
  </a>This is a footnote.</p>
577
571
  <a href="#fnref:1">&#x21A9;</a></aside>
578
572
  <aside id="fn:2" class="footnote">
579
- <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6"><a rel="footnote" href="#fn:2" epub:type="footnote"><sup>2</sup></a>Formerly denoted as 15 % (m/m).</p>
573
+ <p id="_ff27c067-2785-4551-96cf-0a73530ff1e6"><a class='FootnoteRef' href='#fn:2'><sup>2</sup></a>Formerly denoted as 15 % (m/m).</p>
580
574
  <a href="#fnref:2">&#x21A9;</a></aside>
581
575
 
582
576
  </main>
@@ -921,8 +915,9 @@ TOCLEVEL
921
915
  <p class='MsoListParagraphCxSpLast'>
922
916
  C1
923
917
  <div class='ListContLevel2'>
924
- <div class='formula'>
918
+ <div>
925
919
  <a name='_5fc1ef0f-75d2-4b54-802c-b1bad4a53b62' id='_5fc1ef0f-75d2-4b54-802c-b1bad4a53b62'/>
920
+ <div class='formula'>
926
921
  <p class='MsoNormal'>
927
922
  <span class='stem'>
928
923
  <m:oMath>
@@ -934,6 +929,7 @@ TOCLEVEL
934
929
  <span style='mso-tab-count:1'>&#xA0; </span>
935
930
  (1)
936
931
  </p>
932
+ </div>
937
933
  </div>
938
934
  </div>
939
935
  </p>
@@ -1346,7 +1342,7 @@ expect(xmlpp(html.sub(/^.*.*$}m, ""))).
1346
1342
  </p>
1347
1343
  <div class='Section3' id=''>
1348
1344
  <h1 class='IntroTitle'>Introduction</h1>
1349
- <p align='center' style='text-align:center' class='MsoNormal'>
1345
+ <p align='center' style='text-align:center;' class='MsoNormal'>
1350
1346
  This is a
1351
1347
  <p class='MsoNormal'>
1352
1348
  <br clear='all' class='section'/>
@@ -1389,7 +1385,7 @@ expect(xmlpp(html.sub(/^.*.*$}m, ""))).
1389
1385
  <p class='zzSTDTitle1'>Document title</p>
1390
1386
  <div>
1391
1387
  <h1>Foreword</h1>
1392
- <div id='' class='Note'>
1388
+ <div class='Note'>
1393
1389
  <p class='Note'>
1394
1390
  <span class='note_label'>NOTE 1</span>
1395
1391
  <span style='mso-tab-count:1'>&#xA0; </span>
@@ -0,0 +1,20 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe IsoDoc do
4
+ it "generates file based on string input" do
5
+ FileUtils.rm_f "test.presentation.xml"
6
+ IsoDoc::PresentationXMLConvert.new({filename: "test"}).convert("test", <<~"INPUT", false)
7
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
8
+ <bibdata>
9
+ <title language="en">test</title>
10
+ </bibdata>
11
+ <preface><foreword>
12
+ <note>
13
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
14
+ </note>
15
+ </foreword></preface>
16
+ </iso-standard>
17
+ INPUT
18
+ expect(File.exist?("test.presentation.xml")).to be true
19
+ end
20
+ end
@@ -44,7 +44,7 @@ RSpec.describe IsoDoc do
44
44
  <abbreviation>ISO</abbreviation>
45
45
  </organization>
46
46
  </contributor>
47
- <note format="text/plain" reference="1">ISO DATE: Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
47
+ <note format="text/plain" type="ISO DATE" reference="1">Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
48
48
  <extent type="part">
49
49
  <referenceFrom>all</referenceFrom>
50
50
  </extent>
@@ -125,55 +125,124 @@ RSpec.describe IsoDoc do
125
125
  </iso-standard>
126
126
  INPUT
127
127
  #{HTML_HDR}
128
- <br/>
129
- <div>
130
- <h1 class="ForewordTitle">Foreword</h1>
131
- <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">
132
- <a href="#ISO712">[110]</a>
133
- <a href="#ISBN">[1]</a>
134
- <a href="#ISSN">[2]</a>
135
- <a href="#ISO16634">ISO 16634:-- (all parts)</a>
136
- <a href="#ref1">ICC 167</a>
137
- <a href="#ref10">[10]</a>
138
- <a href="#ref12">[Citn]</a>
139
- <a href='#zip_ffs'>[5]</a>
140
- </p>
141
- </div>
142
- <p class="zzSTDTitle1"/>
143
- <div>
144
- <h1>1.&#160; Normative references</h1>
145
- <p>The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
146
- <p id="ISO712" class="NormRef">[110], <i>Cereals and cereal products</i></p>
147
- <p id="ISO16634" class="NormRef">ISO 16634:-- (all parts)<a rel="footnote" href="#fn:1" epub:type="footnote"><sup>1</sup></a>, <i>Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs</i></p>
148
- <p id="ISO20483" class="NormRef">ISO 20483:2013-2014, <i>Cereals and pulses</i></p>
149
- <p id="ref1" class="NormRef">ICC 167, <span style="font-variant:small-caps;">Standard No I.C.C 167</span>. <i>Determination of the protein content in cereal and cereal products for food and animal feeding stuffs according to the Dumas combustion method</i> (see <a href="http://www.icc.or.at">http://www.icc.or.at</a>)</p>
150
- <div id="" class="Note">
151
- <p><span class="note_label">NOTE</span>&#160; This is an annotation of ISO 20483:2013-2014</p>
152
- </div>
153
- <p id='zip_ffs' class='NormRef'>[5], Title 5</p>
154
- </div>
155
- <br/>
156
- <div>
157
- <h1 class="Section3">Bibliography</h1>
158
- <p id="ISBN" class="Biblio">[1]&#160; <i>Chemicals for analytical laboratory use</i></p>
159
- <p id="ISSN" class="Biblio">[2]&#160; <i>Instruments for analytical laboratory use</i></p>
160
- <div id="" class="Note">
161
- <p><span class="note_label">NOTE</span>&#160; This is an annotation of document ISSN.</p>
162
- </div>
163
- <div id="" class="Note">
164
- <p><span class="note_label">NOTE</span>&#160; This is another annotation of document ISSN.</p>
165
- </div>
166
- <p id="ISO3696" class="Biblio">[3]&#160; ISO 3696, <i>Water for analytical laboratory use</i></p>
167
- <p id="ref10" class="Biblio">[10]&#160; <span style="font-variant:small-caps;">Standard No I.C.C 167</span>. <i>Determination of the protein content in cereal and cereal products for food and animal feeding stuffs according to the Dumas combustion method</i> (see <a href="http://www.icc.or.at">http://www.icc.or.at</a>)</p>
168
- <p id="ref11" class="Biblio">[5]&#160; IETF RFC 10, <i>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</i></p>
169
- <p id="ref12" class="Biblio">[6]&#160; Citn, CitationWorks. 2019. <i>How to cite a reference</i>.</p>
170
- </div>
171
- <aside id="fn:1" class="footnote">
172
- <p>Under preparation. (Stage at the time of publication ISO/DIS 16634)</p>
173
- </aside>
174
- </div>
175
- </body>
176
- </html>
128
+ <br/>
129
+ <div>
130
+ <h1 class='ForewordTitle'>Foreword</h1>
131
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
132
+ <a href='#ISO712'>[110]</a>
133
+ <a href='#ISBN'>[1]</a>
134
+ <a href='#ISSN'>[2]</a>
135
+ <a href='#ISO16634'>ISO 16634:-- (all parts)</a>
136
+ <a href='#ref1'>ICC 167</a>
137
+ <a href='#ref10'>[10]</a>
138
+ <a href='#ref12'>Citn</a>
139
+ <a href='#zip_ffs'>[5]</a>
140
+ </p>
141
+ </div>
142
+ <p class='zzSTDTitle1'/>
143
+ <div>
144
+ <h1>1.&#160; Normative references</h1>
145
+ <p>
146
+ The following documents are referred to in the text in such a way that
147
+ some or all of their content constitutes requirements of this
148
+ document. For dated references, only the edition cited applies. For
149
+ undated references, the latest edition of the referenced document
150
+ (including any amendments) applies.
151
+ </p>
152
+ <p id='ISO712' class='NormRef'>
153
+ [110], ISO 712,
154
+ <i>Cereals and cereal products</i>
155
+ </p>
156
+ <p id='ISO16634' class='NormRef'>
157
+ ISO 16634:-- (all parts)
158
+ <a class='FootnoteRef' href='#fn:1'>
159
+ <sup>1</sup>
160
+ </a>
161
+ ,
162
+ <i>Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs</i>
163
+ </p>
164
+ <p id='ISO20483' class='NormRef'>
165
+ ISO 20483:2013-2014,
166
+ <i>Cereals and pulses</i>
167
+ </p>
168
+ <p id='ref1' class='NormRef'>
169
+ ICC 167,
170
+ <span style='font-variant:small-caps;'>Standard No I.C.C 167</span>
171
+ .
172
+ <i>
173
+ Determination of the protein content in cereal and cereal products
174
+ for food and animal feeding stuffs according to the Dumas combustion
175
+ method
176
+ </i>
177
+ (see
178
+ <a href='http://www.icc.or.at'>http://www.icc.or.at</a>
179
+ )
180
+ </p>
181
+ <div class='Note'>
182
+ <p>
183
+ <span class='note_label'>NOTE</span>
184
+ &#160; This is an annotation of ISO 20483:2013-2014
185
+ </p>
186
+ </div>
187
+ <p id='zip_ffs' class='NormRef'>[5], Title 5</p>
188
+ </div>
189
+ <br/>
190
+ <div>
191
+ <h1 class='Section3'>Bibliography</h1>
192
+ <p id='ISBN' class='Biblio'>
193
+ [1]&#160;
194
+ <i>Chemicals for analytical laboratory use</i>
195
+ </p>
196
+ <p id='ISSN' class='Biblio'>
197
+ [2]&#160;
198
+ <i>Instruments for analytical laboratory use</i>
199
+ </p>
200
+ <div class='Note'>
201
+ <p>
202
+ <span class='note_label'>NOTE</span>
203
+ &#160; This is an annotation of document ISSN.
204
+ </p>
205
+ </div>
206
+ <div class='Note'>
207
+ <p>
208
+ <span class='note_label'>NOTE</span>
209
+ &#160; This is another annotation of document ISSN.
210
+ </p>
211
+ </div>
212
+ <p id='ISO3696' class='Biblio'>
213
+ [3]&#160; ISO 3696,
214
+ <i>Water for analytical laboratory use</i>
215
+ </p>
216
+ <p id='ref10' class='Biblio'>
217
+ [10]&#160;
218
+ <span style='font-variant:small-caps;'>Standard No I.C.C 167</span>
219
+ .
220
+ <i>
221
+ Determination of the protein content in cereal and cereal products
222
+ for food and animal feeding stuffs according to the Dumas combustion
223
+ method
224
+ </i>
225
+ (see
226
+ <a href='http://www.icc.or.at'>http://www.icc.or.at</a>
227
+ )
228
+ </p>
229
+ <p id='ref11' class='Biblio'>
230
+ [5]&#160; IETF RFC 10,
231
+ <i>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</i>
232
+ </p>
233
+ <p id='ref12' class='Biblio'>
234
+ Citn&#160; IETF RFC 20, CitationWorks. 2019.
235
+ <i>How to cite a reference</i>
236
+ .
237
+ </p>
238
+ </div>
239
+ <aside id='fn:1' class='footnote'>
240
+ <p>Under preparation. (Stage at the time of publication ISO/DIS 16634)</p>
241
+ </aside>
242
+ </div>
243
+ </body>
244
+ </html>
245
+
177
246
  OUTPUT
178
247
  end
179
248