isodoc 0.9.23 → 0.10.0

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.
@@ -93,7 +93,7 @@ module IsoDoc::HtmlFunction
93
93
  <<~HEAD.freeze
94
94
  function toclevel() { var i; var text = "";
95
95
  for(i = 1; i <= #{@htmlToClevels}; i++) {
96
- if (i > 1) { text += ","; } text += "h" + i + ":not(.TermNum)"; }
96
+ if (i > 1) { text += ","; } text += "h" + i + ":not(:empty):not(.TermNum)"; }
97
97
  return text;}
98
98
  HEAD
99
99
  end
@@ -259,7 +259,7 @@ module IsoDoc::HtmlFunction
259
259
 
260
260
  def datauri(i)
261
261
  type = i["src"].split(".")[-1]
262
- bin = File.read(@localdir + i["src"], encoding: "utf-8")
262
+ bin = IO.binread(File.join(@localdir, i["src"]))
263
263
  data = Base64.strict_encode64(bin)
264
264
  i["src"] = "data:image/#{type};base64,#{data}"
265
265
  end
@@ -8,15 +8,7 @@ module IsoDoc
8
8
  end
9
9
 
10
10
  def initialize(lang, script, labels)
11
- @metadata = {
12
- tc: "XXXX",
13
- sc: "XXXX",
14
- wg: "XXXX",
15
- editorialgroup: [],
16
- secretariat: "XXXX",
17
- obsoletes: nil,
18
- obsoletes_part: nil
19
- }
11
+ @metadata = {}
20
12
  DATETYPES.each { |w| @metadata["#{w}date".to_sym] = "XXX" }
21
13
  @lang = lang
22
14
  @script = script
@@ -77,49 +69,9 @@ module IsoDoc
77
69
 
78
70
  def author(xml, _out)
79
71
  personal_authors(xml)
80
- tc(xml)
81
- sc(xml)
82
- wg(xml)
83
- secretariat(xml)
84
72
  agency(xml)
85
73
  end
86
74
 
87
- def tc(xml)
88
- tc_num = xml.at(ns("//bibdata/editorialgroup/technical-committee/@number"))
89
- tc_type = xml.at(ns("//bibdata/editorialgroup/technical-committee/@type"))&.
90
- text || "TC"
91
- if tc_num
92
- tcid = "#{tc_type} #{tc_num.text}"
93
- set(:tc, tcid)
94
- set(:editorialgroup, get[:editorialgroup] << tcid)
95
- end
96
- end
97
-
98
- def sc(xml)
99
- sc_num = xml.at(ns("//bibdata/editorialgroup/subcommittee/@number"))
100
- sc_type = xml.at(ns("//bibdata/editorialgroup/subcommittee/@type"))&.text || "SC"
101
- if sc_num
102
- scid = "#{sc_type} #{sc_num.text}"
103
- set(:sc, scid)
104
- set(:editorialgroup, get[:editorialgroup] << scid)
105
- end
106
- end
107
-
108
- def wg(xml)
109
- wg_num = xml.at(ns("//bibdata/editorialgroup/workgroup/@number"))
110
- wg_type = xml.at(ns("//bibdata/editorialgroup/workgroup/@type"))&.text || "WG"
111
- if wg_num
112
- wgid = "#{wg_type} #{wg_num.text}"
113
- set(:wg, wgid)
114
- set(:editorialgroup, get[:editorialgroup] << wgid)
115
- end
116
- end
117
-
118
- def secretariat(xml)
119
- sec = xml.at(ns("//bibdata/editorialgroup/secretariat"))
120
- set(:secretariat, sec.text) if sec
121
- end
122
-
123
75
  def bibdate(isoxml, _out)
124
76
  isoxml.xpath(ns("//bibdata/date")).each do |d|
125
77
  set("#{d['type']}date".to_sym, Common::date_range(d))
@@ -127,13 +79,9 @@ module IsoDoc
127
79
  end
128
80
 
129
81
  def doctype(isoxml, _out)
130
- b = isoxml.at(ns("//bibdata")) || return
131
- return unless b["type"]
132
- t = b["type"].split(/[- ]/).map{ |w| w.capitalize }.join(" ")
82
+ b = isoxml&.at(ns("//bibdata/ext/doctype"))&.text || return
83
+ t = b.split(/[- ]/).map{ |w| w.capitalize }.join(" ")
133
84
  set(:doctype, t)
134
- ics = []
135
- isoxml.xpath(ns("//bibdata/ics/code")).each { |i| ics << i.text }
136
- set(:ics, ics.empty? ? "XXX" : ics.join(", "))
137
85
  end
138
86
 
139
87
  def iso?(org)
@@ -156,10 +104,14 @@ module IsoDoc
156
104
  end
157
105
 
158
106
  def docstatus(isoxml, _out)
159
- docstatus = isoxml.at(ns("//bibdata/status"))
107
+ docstatus = isoxml.at(ns("//bibdata/status/stage"))
160
108
  set(:unpublished, true)
161
109
  if docstatus
162
- set(:status, status_print(docstatus.text))
110
+ set(:stage, status_print(docstatus.text))
111
+ i = isoxml&.at(ns("//bibdata/status/substage"))&.text and
112
+ set(:substage, i)
113
+ i = isoxml&.at(ns("//bibdata/status/iteration"))&.text and
114
+ set(:iteration, i)
163
115
  set(:unpublished, unpublished(docstatus.text))
164
116
  end
165
117
  end
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "0.9.23".freeze
2
+ VERSION = "0.10.0".freeze
3
3
  end
@@ -1,5 +1,18 @@
1
1
  module IsoDoc::WordFunction
2
2
  module Body
3
+ def anchor_names(docxml)
4
+ super
5
+ renumber_footnotes(docxml)
6
+ end
7
+
8
+ # undo merger of seen footnotes
9
+ def renumber_footnotes(docxml)
10
+ docxml.xpath(ns("//fn[not(ancestor::table or "\
11
+ "ancestor::figure)]")).each_with_index do |f, i|
12
+ f["reference"] = (i + 1).to_s
13
+ end
14
+ end
15
+
3
16
  def make_body1(body, _docxml)
4
17
  FileUtils.rm_rf tmpimagedir
5
18
  FileUtils.mkdir tmpimagedir
@@ -242,6 +242,10 @@ INPUT
242
242
  <figure id="figure-B">
243
243
  <pre>A &lt;
244
244
  B</pre>
245
+ </figure>
246
+ <figure id="figure-C" unnumbered="true">
247
+ <pre>A &lt;
248
+ B</pre>
245
249
  </figure>
246
250
  </foreword></preface>
247
251
  </iso-standard>
@@ -264,6 +268,11 @@ B</pre>
264
268
  <pre>A &lt;
265
269
  B</pre>
266
270
  <p class="FigureTitle" align="center">Figure 2</p>
271
+ </div>
272
+ <div class="figure" id="figure-C">
273
+ <pre>A &lt;
274
+ B</pre>
275
+ <p class="FigureTitle" align="center"/>
267
276
  </div>
268
277
  </div>
269
278
  <p class="zzSTDTitle1"/>
@@ -371,6 +380,9 @@ B</pre>
371
380
  </example>
372
381
  <example id="samplecode2">
373
382
  <p>Hello</p>
383
+ </example>
384
+ <example id="samplecode3" unnumbered="true">
385
+ <p>Hello</p>
374
386
  </example>
375
387
  </foreword></preface>
376
388
  </iso-standard>
@@ -387,6 +399,10 @@ B</pre>
387
399
  <p class="example-title">EXAMPLE 2</p>
388
400
  <p>Hello</p>
389
401
  </div>
402
+ <div id="samplecode3" class="example">
403
+ <p class="example-title">EXAMPLE</p>
404
+ <p>Hello</p>
405
+ </div>
390
406
  </div>
391
407
  <p class="zzSTDTitle1"/>
392
408
  </div>
@@ -572,7 +588,7 @@ B</pre>
572
588
  expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
573
589
  <iso-standard xmlns="http://riboseinc.com/isoxml">
574
590
  <preface><foreword>
575
- <formula id="_be9158af-7e93-4ee2-90c5-26d31c181934">
591
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181934" unnumbered="true">
576
592
  <stem type="AsciiMath">r = 1 %</stem>
577
593
  <dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d">
578
594
  <dt>
@@ -586,6 +602,9 @@ B</pre>
586
602
  <p id="_511aaa98-4116-42af-8e5b-c87cdf5bfdc8">[durationUnits] is essentially a duration statement without the "P" prefix. "P" is unnecessary because between "G" and "U" duration is always expressed.</p>
587
603
  </note>
588
604
  </formula>
605
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181935">
606
+ <stem type="AsciiMath">r = 1 %</stem>
607
+ </formula>
589
608
  </foreword></preface>
590
609
  </iso-standard>
591
610
  INPUT
@@ -593,7 +612,7 @@ B</pre>
593
612
  <br/>
594
613
  <div>
595
614
  <h1 class="ForewordTitle">Foreword</h1>
596
- <div id="_be9158af-7e93-4ee2-90c5-26d31c181934" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div><p>where</p><dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d"><dt>
615
+ <div id="_be9158af-7e93-4ee2-90c5-26d31c181934" class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div><p>where</p><dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d"><dt>
597
616
  <span class="stem">(#(r)#)</span>
598
617
  </dt><dd>
599
618
  <p id="_1b99995d-ff03-40f5-8f2e-ab9665a69b77">is the repeatability limit.</p>
@@ -601,8 +620,9 @@ B</pre>
601
620
 
602
621
 
603
622
  <div id="_83083c7a-6c85-43db-a9fa-4d8edd0c9fc0" class="Note"><p><span class="note_label">NOTE</span>&#160; [durationUnits] is essentially a duration statement without the "P" prefix. "P" is unnecessary because between "G" and "U" duration is always expressed.</p></div>
604
- </div>
605
623
 
624
+ <div id="_be9158af-7e93-4ee2-90c5-26d31c181935" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div>
625
+ </div>
606
626
  <p class="zzSTDTitle1"/>
607
627
  </div>
608
628
  </body>
@@ -825,7 +845,7 @@ World</p>
825
845
  expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
826
846
  <iso-standard xmlns="http://riboseinc.com/isoxml">
827
847
  <preface><foreword>
828
- <requirement id="_">
848
+ <requirement id="A" unnumbered="true">
829
849
  <title>A New Requirement</title>
830
850
  <label>/ogc/recommendation/wfs/2</label>
831
851
  <inherit>/ss/584/2015/level/1</inherit>
@@ -853,7 +873,7 @@ World</p>
853
873
  </description>
854
874
  <measurement-target exclude="false">
855
875
  <p id="_">The measurement target shall be measured as:</p>
856
- <formula id="_">
876
+ <formula id="B">
857
877
  <stem type="AsciiMath">r/1 = 0</stem>
858
878
  </formula>
859
879
  </measurement-target>
@@ -876,7 +896,7 @@ World</p>
876
896
  <br/>
877
897
  <div>
878
898
  <h1 class="ForewordTitle">Foreword</h1>
879
- <div class="require"><p class="AdmonitionTitle">Requirement 1:<br/>/ogc/recommendation/wfs/2. A New Requirement</p>
899
+ <div class="require"><p class="AdmonitionTitle"><br/>/ogc/recommendation/wfs/2. A New Requirement</p>
880
900
 
881
901
  <div class="requirement-inherit">/ss/584/2015/level/1</div>
882
902
  <div class="requirement-description">
@@ -888,7 +908,7 @@ World</p>
888
908
  </div>
889
909
  <div class="requirement-measurement-target">
890
910
  <p id="_">The measurement target shall be measured as:</p>
891
- <div id="_" class="formula"><p><span class="stem">(#(r/1 = 0)#)</span>&#160; (1)</p></div>
911
+ <div id="B" class="formula"><p><span class="stem">(#(r/1 = 0)#)</span>&#160; (1)</p></div>
892
912
 
893
913
 
894
914
  </div>
@@ -70,19 +70,22 @@ RSpec.describe IsoDoc do
70
70
  <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
71
71
  <div>
72
72
  <h1 class="ForewordTitle">Foreword</h1>
73
- <p>A.<a href="#ftn2" epub:type="footnote"><sup>2</sup></a></p>
73
+ <p>A.<a href="#ftn1" epub:type="footnote"><sup>1</sup></a></p>
74
74
  <p>B.<a href="#ftn2" epub:type="footnote"><sup>2</sup></a></p>
75
- <p>C.<a href="#ftn1" epub:type="footnote"><sup>1</sup></a></p>
75
+ <p>C.<a href="#ftn3" epub:type="footnote"><sup>3</sup></a></p>
76
76
  </div>
77
77
  <p>&#160;</p>
78
78
  </div>
79
79
  <p><br clear="all" class="section"/></p>
80
80
  <div class="WordSection3">
81
81
  <p class="zzSTDTitle1"/>
82
+ <aside id="ftn1">
83
+ <p id="_1e228e29-baef-4f38-b048-b05a051747e4">Formerly denoted as 15 % (m/m).</p>
84
+ </aside>
82
85
  <aside id="ftn2">
83
86
  <p id="_1e228e29-baef-4f38-b048-b05a051747e4">Formerly denoted as 15 % (m/m).</p>
84
87
  </aside>
85
- <aside id="ftn1">
88
+ <aside id="ftn3">
86
89
  <p id="_1e228e29-baef-4f38-b048-b05a051747e4">Hello! denoted as 15 % (m/m).</p>
87
90
  </aside>
88
91
  </div>
@@ -9,7 +9,7 @@ RSpec.describe IsoDoc do
9
9
  INPUT
10
10
  expect(Hash[c.info(Nokogiri::XML(<<~"INPUT"), nil).sort]).to be_equivalent_to <<~"OUTPUT"
11
11
  <iso-standard xmlns="http://riboseinc.com/isoxml">
12
- <bibdata type="international-standard">
12
+ <bibdata type="standard">
13
13
  <title>The Incredible Mr Ripley</title>
14
14
  <title language="en">Cereals and pulses</title>
15
15
  <uri>URL A</uri>
@@ -73,7 +73,11 @@ RSpec.describe IsoDoc do
73
73
  </contributor>
74
74
  <language>en</language>
75
75
  <script>Latn</script>
76
- <status>Committee Draft</status>
76
+ <status>
77
+ <stage>Committee Draft</stage>
78
+ <substage>Withdrawn</substage>
79
+ <iteration>2</iteration>
80
+ </status>
77
81
  <copyright>
78
82
  <from>2016</from>
79
83
  <owner>
@@ -82,16 +86,13 @@ RSpec.describe IsoDoc do
82
86
  </organization>
83
87
  </owner>
84
88
  </copyright>
85
- <editorialgroup>
86
- <technical-committee number="34">Food products</technical-committee>
87
- <subcommittee number="4">Cereals and pulses</subcommittee>
88
- <workgroup number="3">Rice Group</workgroup>
89
- <secretariat>GB</secretariat>
90
- </editorialgroup>
89
+ <ext>
90
+ <doctype>international-standard</doctype>
91
+ </ext>
91
92
  </bibdata>
92
93
  </iso-standard>
93
94
  INPUT
94
- {: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", :doctitle=>"Cereals and pulses", :doctype=>"International Standard", :docyear=>"2016", :draft=>"0.4", :draftinfo=>" (draft 0.4, 2016-05-01)", :edition=>"2", :editorialgroup=>["TC 34", "SC 4", "WG 3"], :html=>"URL B", :ics=>"XXX", :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"2014", :obsoletes=>nil, :obsoletes_part=>nil, :pdf=>"URL D", :publisheddate=>"2011", :receiveddate=>"XXX", :revdate=>"2016-05-01", :sc=>"SC 4", :secretariat=>"GB", :status=>"Committee draft", :tc=>"TC 34", :transmitteddate=>"2020", :unchangeddate=>"2019", :unpublished=>true, :updateddate=>"2018", :url=>"URL A", :wg=>"WG 3", :xml=>"URL C"}
95
+ {: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", :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", :receiveddate=>"XXX", :revdate=>"2016-05-01", :stage=>"Committee draft", :substage=>"Withdrawn", :transmitteddate=>"2020", :unchangeddate=>"2019", :unpublished=>true, :updateddate=>"2018", :url=>"URL A", :xml=>"URL C"}
95
96
  OUTPUT
96
97
  end
97
98
 
@@ -102,7 +103,7 @@ OUTPUT
102
103
  INPUT
103
104
  expect(Hash[c.info(Nokogiri::XML(<<~"INPUT"), nil).sort]).to be_equivalent_to <<~"OUTPUT"
104
105
  <iso-standard xmlns="http://riboseinc.com/isoxml">
105
- <bibdata type="international-standard">
106
+ <bibdata type="standard">
106
107
  <title language="fr" format="text/plain">Céréales et légumineuses</ti>
107
108
  <title language="en" format="text/plain">Cereals and pulses</title>
108
109
  <docidentifier>17301-1-3</docidentifier>
@@ -127,7 +128,7 @@ OUTPUT
127
128
  </contributor>
128
129
  <language>en</language>
129
130
  <script>Latn</script>
130
- <status>Published</status>
131
+ <status><stage>Published</stage></status>
131
132
  <copyright>
132
133
  <from>2016</from>
133
134
  <owner>
@@ -143,20 +144,16 @@ OUTPUT
143
144
  <relation type="partOf">
144
145
  <docidentifier>IEC 8122</docidentifier>
145
146
  </relation>
146
- <editorialgroup>
147
- <technical-committee number="34" type="ABC">Food products</technical-committee>
148
- <subcommittee number="4" type="DEF">Cereals and pulses</subcommittee>
149
- <workgroup number="3" type="GHI">Rice Group</workgroup>
150
- </editorialgroup>
151
- <ics><code>1.2.3</code></ics>
152
- <ics><code>1.2.3</code></ics>
147
+ <ext>
148
+ <doctype>international-standard</doctype>
149
+ </ext>
153
150
  </bibdata><version>
154
151
  <revision-date>2016-05-01</revision-date>
155
152
  <draft>12</draft>
156
153
  </version>
157
154
  </iso-standard>
158
155
  INPUT
159
- {:accesseddate=>"XXX", :agency=>"ISO/IEC", :authors=>[], :authors_affiliations=>{}, :circulateddate=>"XXX", :confirmeddate=>"XXX", :copieddate=>"XXX", :createddate=>"XXX", :docnumber=>"17301-1-3", :doctitle=>"Cereals and pulses", :doctype=>"International Standard", :docyear=>"2016", :draft=>"12", :draftinfo=>" (draft 12, 2016-05-01)", :edition=>nil, :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"], :ics=>"1.2.3, 1.2.3", :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"XXX", :obsoletes=>"IEC 8121", :obsoletes_part=>"3.1", :partof=>"IEC 8122", :publisheddate=>"XXX", :receiveddate=>"XXX", :revdate=>"2016-05-01", :sc=>"DEF 4", :secretariat=>"XXXX", :status=>"Published", :tc=>"ABC 34", :transmitteddate=>"XXX", :unchangeddate=>"XXX", :unpublished=>false, :updateddate=>"XXX", :wg=>"GHI 3"}
156
+ {:accesseddate=>"XXX", :agency=>"ISO/IEC", :authors=>[], :authors_affiliations=>{}, :circulateddate=>"XXX", :confirmeddate=>"XXX", :copieddate=>"XXX", :createddate=>"XXX", :docnumber=>"17301-1-3", :doctitle=>"Cereals and pulses", :doctype=>"International Standard", :docyear=>"2016", :draft=>"12", :draftinfo=>" (draft 12, 2016-05-01)", :edition=>nil, :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"XXX", :obsoletes=>"IEC 8121", :obsoletes_part=>"3.1", :partof=>"IEC 8122", :publisheddate=>"XXX", :receiveddate=>"XXX", :revdate=>"2016-05-01", :stage=>"Published", :transmitteddate=>"XXX", :unchangeddate=>"XXX", :unpublished=>false, :updateddate=>"XXX"}
160
157
  OUTPUT
161
158
  end
162
159
 
@@ -34,7 +34,10 @@ RSpec.describe IsoDoc do
34
34
  </organization>
35
35
  </contributor>
36
36
  <note format="text/plain" reference="1">ISO DATE: Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
37
- <allparts>true</allparts>
37
+ <extent type="part">
38
+ <referenceFrom>all</referenceFrom>
39
+ </extent>
40
+
38
41
  </bibitem>
39
42
  <bibitem id="ISO20483" type="standard">
40
43
  <title format="text/plain">Cereals and pulses</title>
@@ -55,6 +55,10 @@ RSpec.describe IsoDoc do
55
55
  </dl>
56
56
  <note><p>This is a table about rice</p></note>
57
57
  </table>
58
+
59
+ <table id="tableD-2" unnumbered="true">
60
+ <tbody><tr><td>A</td></tr></tbody>
61
+ </table>
58
62
  </foreword>
59
63
  </preface>
60
64
  </iso-standard>
@@ -114,6 +118,14 @@ RSpec.describe IsoDoc do
114
118
  <p><span class="note_label">NOTE</span>&#160; This is a table about rice</p>
115
119
  </div>
116
120
  </table>
121
+ <p class="TableTitle" align="center"/>
122
+ <table id="tableD-2" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0">
123
+ <tbody>
124
+ <tr>
125
+ <td style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">A</td>
126
+ </tr>
127
+ </tbody>
128
+ </table>
117
129
  </div>
118
130
  <p class="zzSTDTitle1"/>
119
131
  </div>
@@ -38,7 +38,7 @@ RSpec.describe IsoDoc do
38
38
  </p>
39
39
  </foreword>
40
40
  </preface>
41
- </iso-standard
41
+ </iso-standard>
42
42
  INPUT
43
43
  <div class="WordSection2">
44
44
  <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
@@ -51,9 +51,21 @@ RSpec.describe IsoDoc do
51
51
  OUTPUT
52
52
  end
53
53
 
54
+ it "warns of missing crossreference" do
55
+ expect { IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true) }.to output(/No label has been processed for ID N1/).to_stderr
56
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
57
+ <preface>
58
+ <foreword>
59
+ <p>
60
+ <xref target="N1"/>
61
+ </preface>
62
+ </iso-standard>
63
+ INPUT
64
+ end
65
+
54
66
 
55
67
  it "cross-references notes" do
56
- expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)). to be_equivalent_to <<~"OUTPUT"
68
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
57
69
  <iso-standard xmlns="http://riboseinc.com/isoxml">
58
70
  <preface>
59
71
  <foreword>
@@ -134,48 +146,48 @@ RSpec.describe IsoDoc do
134
146
  </p>
135
147
  </div>
136
148
  <br/>
137
- <div class="Section3" id="intro">
149
+ <div class="Section3" id="intro">
138
150
  <h1 class="IntroTitle">Introduction</h1>
139
151
  <div id="N1" class="Note">
140
152
  <p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
141
153
  </div>
142
- <div id="xyz"><h2>Preparatory</h2>
143
- <div id="N2" class="Note"><p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p></div>
144
- </div>
154
+ <div id="xyz"><h2>Preparatory</h2>
155
+ <div id="N2" class="Note"><p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p></div>
156
+ </div>
145
157
  </div>
146
- <p class="zzSTDTitle1"/>
147
- <div id="scope">
148
- <h1>1.&#160; Scope</h1>
149
- <div id="N" class="Note">
150
- <p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
151
- </div>
152
- <p>
153
- <a href="#N">Note</a>
154
- </p>
155
- </div>
156
- <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
158
+ <p class="zzSTDTitle1"/>
159
+ <div id="scope">
160
+ <h1>1.&#160; Scope</h1>
161
+ <div id="N" class="Note">
162
+ <p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
157
163
  </div>
158
- <div id="widgets">
159
- <h1>3.&#160; Widgets</h1>
160
- <div id="widgets1"><h2>3.1. </h2>
164
+ <p>
165
+ <a href="#N">Note</a>
166
+ </p>
167
+ </div>
168
+ <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
169
+ </div>
170
+ <div id="widgets">
171
+ <h1>3.&#160; Widgets</h1>
172
+ <div id="widgets1"><h2>3.1. </h2>
161
173
  <div id="note1" class="Note"><p><span class="note_label">NOTE 1</span>&#160; These results are based on a study carried out on three different types of kernel.</p></div>
162
174
  <div id="note2" class="Note"><p><span class="note_label">NOTE 2</span>&#160; These results are based on a study carried out on three different types of kernel.</p></div>
163
175
  <p> <a href="#note1">Note 1</a> <a href="#note2">Note 2</a> </p>
164
176
 
165
177
  </div>
166
- </div>
167
- <br/>
168
- <div id="annex1" class="Section3">
169
- <div id="annex1a"><h2>A.1. </h2>
178
+ </div>
179
+ <br/>
180
+ <div id="annex1" class="Section3">
181
+ <div id="annex1a"><h2>A.1. </h2>
170
182
  <div id="AN" class="Note"><p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p></div>
171
183
  </div>
172
- <div id="annex1b"><h2>A.2. </h2>
184
+ <div id="annex1b"><h2>A.2. </h2>
173
185
  <div id="Anote1" class="Note"><p><span class="note_label">NOTE 1</span>&#160; These results are based on a study carried out on three different types of kernel.</p></div>
174
186
  <div id="Anote2" class="Note"><p><span class="note_label">NOTE 2</span>&#160; These results are based on a study carried out on three different types of kernel.</p></div>
175
187
  </div>
176
- </div>
177
188
  </div>
178
- </body>
189
+ </div>
190
+ </body>
179
191
  </html>
180
192
  OUTPUT
181
193
  end
@@ -202,7 +214,7 @@ RSpec.describe IsoDoc do
202
214
  <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" imagetype="PNG"/>
203
215
  </figure>
204
216
  <clause id="xyz"><title>Preparatory</title>
205
- <figure id="N2">
217
+ <figure id="N2" unnumbered="true">
206
218
  <name>Split-it-right sample divider</name>
207
219
  <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" imagetype="PNG"/>
208
220
  </figure>
@@ -240,7 +252,7 @@ RSpec.describe IsoDoc do
240
252
  </figure>
241
253
  </clause>
242
254
  <clause id="annex1b">
243
- <figure id="Anote1">
255
+ <figure id="Anote1" unnumbered="true">
244
256
  <name>Split-it-right sample divider</name>
245
257
  <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" imagetype="PNG"/>
246
258
  </figure>
@@ -258,13 +270,13 @@ RSpec.describe IsoDoc do
258
270
  <h1 class="ForewordTitle">Foreword</h1>
259
271
  <p>
260
272
  <a href="#N1">Figure 1</a>
261
- <a href="#N2">Figure 2</a>
262
- <a href="#N">Figure 3</a>
263
- <a href="#note1">Figure 4</a>
264
- <a href="#note2">Figure 5</a>
273
+ <a href="#N2">Figure (??)</a>
274
+ <a href="#N">Figure 2</a>
275
+ <a href="#note1">Figure 3</a>
276
+ <a href="#note2">Figure 4</a>
265
277
  <a href="#AN">Figure A.1</a>
266
- <a href="#Anote1">Figure A.2</a>
267
- <a href="#Anote2">Figure A.3</a>
278
+ <a href="#Anote1">Figure (??)</a>
279
+ <a href="#Anote2">Figure A.2</a>
268
280
  </p>
269
281
  </div>
270
282
  <br/>
@@ -278,7 +290,7 @@ RSpec.describe IsoDoc do
278
290
  <div id="N2" class="figure">
279
291
 
280
292
  <img src="rice_images/rice_image1.png" height="auto" width="auto"/>
281
- <p class="FigureTitle" align="center">Figure 2&#160;&#8212; Split-it-right sample divider</p></div>
293
+ <p class="FigureTitle" align="center">Split-it-right sample divider</p></div>
282
294
  </div>
283
295
  </div>
284
296
  <p class="zzSTDTitle1"/>
@@ -287,9 +299,9 @@ RSpec.describe IsoDoc do
287
299
  <div id="N" class="figure">
288
300
 
289
301
  <img src="rice_images/rice_image1.png" height="auto" width="auto"/>
290
- <p class="FigureTitle" align="center">Figure 3&#160;&#8212; Split-it-right sample divider</p></div>
302
+ <p class="FigureTitle" align="center">Figure 2&#160;&#8212; Split-it-right sample divider</p></div>
291
303
  <p>
292
- <a href="#N">Figure 3</a>
304
+ <a href="#N">Figure 2</a>
293
305
  </p>
294
306
  </div>
295
307
  <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
@@ -300,12 +312,12 @@ RSpec.describe IsoDoc do
300
312
  <div id="note1" class="figure">
301
313
 
302
314
  <img src="rice_images/rice_image1.png" height="auto" width="auto"/>
303
- <p class="FigureTitle" align="center">Figure 4&#160;&#8212; Split-it-right sample divider</p></div>
315
+ <p class="FigureTitle" align="center">Figure 3&#160;&#8212; Split-it-right sample divider</p></div>
304
316
  <div id="note2" class="figure">
305
317
 
306
318
  <img src="rice_images/rice_image1.png" height="auto" width="auto"/>
307
- <p class="FigureTitle" align="center">Figure 5&#160;&#8212; Split-it-right sample divider</p></div>
308
- <p> <a href="#note1">Figure 4</a> <a href="#note2">Figure 5</a> </p>
319
+ <p class="FigureTitle" align="center">Figure 4&#160;&#8212; Split-it-right sample divider</p></div>
320
+ <p> <a href="#note1">Figure 3</a> <a href="#note2">Figure 4</a> </p>
309
321
  </div>
310
322
  </div>
311
323
  <br/>
@@ -320,11 +332,11 @@ RSpec.describe IsoDoc do
320
332
  <div id="Anote1" class="figure">
321
333
 
322
334
  <img src="rice_images/rice_image1.png" height="auto" width="auto"/>
323
- <p class="FigureTitle" align="center">Figure A.2&#160;&#8212; Split-it-right sample divider</p></div>
335
+ <p class="FigureTitle" align="center">Split-it-right sample divider</p></div>
324
336
  <div id="Anote2" class="figure">
325
337
 
326
338
  <img src="rice_images/rice_image1.png" height="auto" width="auto"/>
327
- <p class="FigureTitle" align="center">Figure A.3&#160;&#8212; Split-it-right sample divider</p></div>
339
+ <p class="FigureTitle" align="center">Figure A.2&#160;&#8212; Split-it-right sample divider</p></div>
328
340
  </div>
329
341
  </div>
330
342
  </div>
@@ -465,7 +477,7 @@ RSpec.describe IsoDoc do
465
477
  <p>Hello</p>
466
478
  </example>
467
479
  <clause id="xyz"><title>Preparatory</title>
468
- <example id="N2">
480
+ <example id="N2" unnumbered="true">
469
481
  <p>Hello</p>
470
482
  </example>
471
483
  </clause>
@@ -484,7 +496,7 @@ RSpec.describe IsoDoc do
484
496
  <example id="note1">
485
497
  <p>Hello</p>
486
498
  </example>
487
- <example id="note2">
499
+ <example id="note2" unnumbered="true">
488
500
  <p>Hello</p>
489
501
  </example>
490
502
  <p> <xref target="note1"/> <xref target="note2"/> </p>
@@ -498,7 +510,7 @@ RSpec.describe IsoDoc do
498
510
  </example>
499
511
  </clause>
500
512
  <clause id="annex1b">
501
- <example id="Anote1">
513
+ <example id="Anote1" unnumbered="true">
502
514
  <p>Hello</p>
503
515
  </example>
504
516
  <example id="Anote2">
@@ -514,13 +526,13 @@ RSpec.describe IsoDoc do
514
526
  <h1 class="ForewordTitle">Foreword</h1>
515
527
  <p>
516
528
  <a href="#N1">Introduction, Example</a>
517
- <a href="#N2">Preparatory, Example</a>
529
+ <a href="#N2">Preparatory, Example (??)</a>
518
530
  <a href="#N">Clause 1, Example</a>
519
531
  <a href="#note1">Clause 3.1, Example 1</a>
520
- <a href="#note2">Clause 3.1, Example 2</a>
532
+ <a href="#note2">Clause 3.1, Example (??)</a>
521
533
  <a href="#AN">Annex A.1, Example</a>
522
- <a href="#Anote1">Annex A.2, Example 1</a>
523
- <a href="#Anote2">Annex A.2, Example 2</a>
534
+ <a href="#Anote1">Annex A.2, Example (??)</a>
535
+ <a href="#Anote2">Annex A.2, Example 1</a>
524
536
  </p>
525
537
  </div>
526
538
  <br/>
@@ -553,10 +565,10 @@ RSpec.describe IsoDoc do
553
565
  <div id="note1" class="example"><p class="example-title">EXAMPLE 1</p>
554
566
  <p>Hello</p>
555
567
  </div>
556
- <div id="note2" class="example"><p class="example-title">EXAMPLE 2</p>
568
+ <div id="note2" class="example"><p class="example-title">EXAMPLE</p>
557
569
  <p>Hello</p>
558
570
  </div>
559
- <p> <a href="#note1">Example 1</a> <a href="#note2">Example 2</a> </p>
571
+ <p> <a href="#note1">Example 1</a> <a href="#note2">Example (??)</a> </p>
560
572
  </div>
561
573
  </div>
562
574
  <br/>
@@ -567,10 +579,10 @@ RSpec.describe IsoDoc do
567
579
  </div>
568
580
  </div>
569
581
  <div id="annex1b"><h2>A.2. </h2>
570
- <div id="Anote1" class="example"><p class="example-title">EXAMPLE 1</p>
582
+ <div id="Anote1" class="example"><p class="example-title">EXAMPLE</p>
571
583
  <p>Hello</p>
572
584
  </div>
573
- <div id="Anote2" class="example"><p class="example-title">EXAMPLE 2</p>
585
+ <div id="Anote2" class="example"><p class="example-title">EXAMPLE 1</p>
574
586
  <p>Hello</p>
575
587
  </div>
576
588
  </div>
@@ -602,7 +614,7 @@ RSpec.describe IsoDoc do
602
614
  <stem type="AsciiMath">r = 1 %</stem>
603
615
  </formula>
604
616
  <clause id="xyz"><title>Preparatory</title>
605
- <formula id="N2">
617
+ <formula id="N2" unnumbered="true">
606
618
  <stem type="AsciiMath">r = 1 %</stem>
607
619
  </formula>
608
620
  </clause>
@@ -635,7 +647,7 @@ RSpec.describe IsoDoc do
635
647
  </formula>
636
648
  </clause>
637
649
  <clause id="annex1b">
638
- <formula id="Anote1">
650
+ <formula id="Anote1" unnumbered="true">
639
651
  <stem type="AsciiMath">r = 1 %</stem>
640
652
  </formula>
641
653
  <formula id="Anote2">
@@ -651,13 +663,13 @@ RSpec.describe IsoDoc do
651
663
  <h1 class="ForewordTitle">Foreword</h1>
652
664
  <p>
653
665
  <a href="#N1">Introduction, Formula (1)</a>
654
- <a href="#N2">Preparatory, Formula (2)</a>
655
- <a href="#N">Clause 1, Formula (3)</a>
656
- <a href="#note1">Clause 3.1, Formula (4)</a>
657
- <a href="#note2">Clause 3.1, Formula (5)</a>
666
+ <a href="#N2">Preparatory, Formula ((??))</a>
667
+ <a href="#N">Clause 1, Formula (2)</a>
668
+ <a href="#note1">Clause 3.1, Formula (3)</a>
669
+ <a href="#note2">Clause 3.1, Formula (4)</a>
658
670
  <a href="#AN">Annex A.1, Formula (A.1)</a>
659
- <a href="#Anote1">Annex A.2, Formula (A.2)</a>
660
- <a href="#Anote2">Annex A.2, Formula (A.3)</a>
671
+ <a href="#Anote1">Annex A.2, Formula ((??))</a>
672
+ <a href="#Anote2">Annex A.2, Formula (A.2)</a>
661
673
  </p>
662
674
  </div>
663
675
  <br/>
@@ -665,15 +677,15 @@ RSpec.describe IsoDoc do
665
677
  <h1 class="IntroTitle">Introduction</h1>
666
678
  <div id="N1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div>
667
679
  <div id="xyz"><h2>Preparatory</h2>
668
- <div id="N2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (2)</p></div>
680
+ <div id="N2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div>
669
681
  </div>
670
682
  </div>
671
683
  <p class="zzSTDTitle1"/>
672
684
  <div id="scope">
673
685
  <h1>1.&#160; Scope</h1>
674
- <div id="N" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (3)</p></div>
686
+ <div id="N" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (2)</p></div>
675
687
  <p>
676
- <a href="#N">Formula (3)</a>
688
+ <a href="#N">Formula (2)</a>
677
689
  </p>
678
690
  </div>
679
691
  <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
@@ -681,9 +693,9 @@ RSpec.describe IsoDoc do
681
693
  <div id="widgets">
682
694
  <h1>3.&#160; Widgets</h1>
683
695
  <div id="widgets1"><h2>3.1. </h2>
684
- <div id="note1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (4)</p></div>
685
- <div id="note2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (5)</p></div>
686
- <p> <a href="#note1">Formula (4)</a> <a href="#note2">Formula (5)</a> </p>
696
+ <div id="note1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (3)</p></div>
697
+ <div id="note2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (4)</p></div>
698
+ <p> <a href="#note1">Formula (3)</a> <a href="#note2">Formula (4)</a> </p>
687
699
  </div>
688
700
  </div>
689
701
  <br/>
@@ -692,8 +704,8 @@ RSpec.describe IsoDoc do
692
704
  <div id="AN" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.1)</p></div>
693
705
  </div>
694
706
  <div id="annex1b"><h2>A.2. </h2>
695
- <div id="Anote1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.2)</p></div>
696
- <div id="Anote2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.3)</p></div>
707
+ <div id="Anote1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div>
708
+ <div id="Anote2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.2)</p></div>
697
709
  </div>
698
710
  </div>
699
711
  </div>
@@ -723,7 +735,7 @@ RSpec.describe IsoDoc do
723
735
  <stem type="AsciiMath">r = 1 %</stem>
724
736
  </requirement>
725
737
  <clause id="xyz"><title>Preparatory</title>
726
- <requirement id="N2">
738
+ <requirement id="N2" unnumbered="true">
727
739
  <stem type="AsciiMath">r = 1 %</stem>
728
740
  </requirement>
729
741
  </clause>
@@ -756,7 +768,7 @@ RSpec.describe IsoDoc do
756
768
  </requirement>
757
769
  </clause>
758
770
  <clause id="annex1b">
759
- <requirement id="Anote1">
771
+ <requirement id="Anote1" unnumbered="true">
760
772
  <stem type="AsciiMath">r = 1 %</stem>
761
773
  </requirement>
762
774
  <requirement id="Anote2">
@@ -772,13 +784,13 @@ RSpec.describe IsoDoc do
772
784
  <h1 class="ForewordTitle">Foreword</h1>
773
785
  <p>
774
786
  <a href="#N1">Introduction, Requirement 1</a>
775
- <a href="#N2">Preparatory, Requirement 2</a>
776
- <a href="#N">Clause 1, Requirement 3</a>
777
- <a href="#note1">Clause 3.1, Requirement 4</a>
778
- <a href="#note2">Clause 3.1, Requirement 5</a>
787
+ <a href="#N2">Preparatory, Requirement (??)</a>
788
+ <a href="#N">Clause 1, Requirement 2</a>
789
+ <a href="#note1">Clause 3.1, Requirement 3</a>
790
+ <a href="#note2">Clause 3.1, Requirement 4</a>
779
791
  <a href="#AN">Annex A.1, Requirement A.1</a>
780
- <a href="#Anote1">Annex A.2, Requirement A.2</a>
781
- <a href="#Anote2">Annex A.2, Requirement A.3</a>
792
+ <a href="#Anote1">Annex A.2, Requirement (??)</a>
793
+ <a href="#Anote2">Annex A.2, Requirement A.2</a>
782
794
  </p>
783
795
  </div>
784
796
  <br/>
@@ -788,7 +800,7 @@ RSpec.describe IsoDoc do
788
800
  <span class="stem">(#(r = 1 %)#)</span>
789
801
  </div>
790
802
  <div id="xyz"><h2>Preparatory</h2>
791
- <div class="require"><p class="AdmonitionTitle">Requirement 2:</p>
803
+ <div class="require"><p class="AdmonitionTitle"/>
792
804
  <span class="stem">(#(r = 1 %)#)</span>
793
805
  </div>
794
806
  </div>
@@ -796,11 +808,11 @@ RSpec.describe IsoDoc do
796
808
  <p class="zzSTDTitle1"/>
797
809
  <div id="scope">
798
810
  <h1>1.&#160; Scope</h1>
799
- <div class="require"><p class="AdmonitionTitle">Requirement 3:</p>
811
+ <div class="require"><p class="AdmonitionTitle">Requirement 2:</p>
800
812
  <span class="stem">(#(r = 1 %)#)</span>
801
813
  </div>
802
814
  <p>
803
- <a href="#N">Requirement 3</a>
815
+ <a href="#N">Requirement 2</a>
804
816
  </p>
805
817
  </div>
806
818
  <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
@@ -808,13 +820,13 @@ RSpec.describe IsoDoc do
808
820
  <div id="widgets">
809
821
  <h1>3.&#160; Widgets</h1>
810
822
  <div id="widgets1"><h2>3.1. </h2>
811
- <div class="require"><p class="AdmonitionTitle">Requirement 4:</p>
823
+ <div class="require"><p class="AdmonitionTitle">Requirement 3:</p>
812
824
  <span class="stem">(#(r = 1 %)#)</span>
813
825
  </div>
814
- <div class="require"><p class="AdmonitionTitle">Requirement 5:</p>
826
+ <div class="require"><p class="AdmonitionTitle">Requirement 4:</p>
815
827
  <span class="stem">(#(r = 1 %)#)</span>
816
828
  </div>
817
- <p> <a href="#note1">Requirement 4</a> <a href="#note2">Requirement 5</a> </p>
829
+ <p> <a href="#note1">Requirement 3</a> <a href="#note2">Requirement 4</a> </p>
818
830
  </div>
819
831
  </div>
820
832
  <br/>
@@ -825,10 +837,10 @@ RSpec.describe IsoDoc do
825
837
  </div>
826
838
  </div>
827
839
  <div id="annex1b"><h2>A.2. </h2>
828
- <div class="require"><p class="AdmonitionTitle">Requirement A.2:</p>
840
+ <div class="require"><p class="AdmonitionTitle"/>
829
841
  <span class="stem">(#(r = 1 %)#)</span>
830
842
  </div>
831
- <div class="require"><p class="AdmonitionTitle">Requirement A.3:</p>
843
+ <div class="require"><p class="AdmonitionTitle">Requirement A.2:</p>
832
844
  <span class="stem">(#(r = 1 %)#)</span>
833
845
  </div>
834
846
  </div>
@@ -860,7 +872,7 @@ OUTPUT
860
872
  <stem type="AsciiMath">r = 1 %</stem>
861
873
  </recommendation>
862
874
  <clause id="xyz"><title>Preparatory</title>
863
- <recommendation id="N2">
875
+ <recommendation id="N2" unnumbered="true">
864
876
  <stem type="AsciiMath">r = 1 %</stem>
865
877
  </recommendation>
866
878
  </clause>
@@ -893,7 +905,7 @@ OUTPUT
893
905
  </recommendation>
894
906
  </clause>
895
907
  <clause id="annex1b">
896
- <recommendation id="Anote1">
908
+ <recommendation id="Anote1" unnumbered="true">
897
909
  <stem type="AsciiMath">r = 1 %</stem>
898
910
  </recommendation>
899
911
  <recommendation id="Anote2">
@@ -909,13 +921,13 @@ OUTPUT
909
921
  <h1 class="ForewordTitle">Foreword</h1>
910
922
  <p>
911
923
  <a href="#N1">Introduction, Recommendation 1</a>
912
- <a href="#N2">Preparatory, Recommendation 2</a>
913
- <a href="#N">Clause 1, Recommendation 3</a>
914
- <a href="#note1">Clause 3.1, Recommendation 4</a>
915
- <a href="#note2">Clause 3.1, Recommendation 5</a>
924
+ <a href="#N2">Preparatory, Recommendation (??)</a>
925
+ <a href="#N">Clause 1, Recommendation 2</a>
926
+ <a href="#note1">Clause 3.1, Recommendation 3</a>
927
+ <a href="#note2">Clause 3.1, Recommendation 4</a>
916
928
  <a href="#AN">Annex A.1, Recommendation A.1</a>
917
- <a href="#Anote1">Annex A.2, Recommendation A.2</a>
918
- <a href="#Anote2">Annex A.2, Recommendation A.3</a>
929
+ <a href="#Anote1">Annex A.2, Recommendation (??)</a>
930
+ <a href="#Anote2">Annex A.2, Recommendation A.2</a>
919
931
  </p>
920
932
  </div>
921
933
  <br/>
@@ -925,7 +937,7 @@ OUTPUT
925
937
  <span class="stem">(#(r = 1 %)#)</span>
926
938
  </div>
927
939
  <div id="xyz"><h2>Preparatory</h2>
928
- <div class="recommend"><p class="AdmonitionTitle">Recommendation 2:</p>
940
+ <div class="recommend"><p class="AdmonitionTitle"/>
929
941
  <span class="stem">(#(r = 1 %)#)</span>
930
942
  </div>
931
943
  </div>
@@ -933,11 +945,11 @@ OUTPUT
933
945
  <p class="zzSTDTitle1"/>
934
946
  <div id="scope">
935
947
  <h1>1.&#160; Scope</h1>
936
- <div class="recommend"><p class="AdmonitionTitle">Recommendation 3:</p>
948
+ <div class="recommend"><p class="AdmonitionTitle">Recommendation 2:</p>
937
949
  <span class="stem">(#(r = 1 %)#)</span>
938
950
  </div>
939
951
  <p>
940
- <a href="#N">Recommendation 3</a>
952
+ <a href="#N">Recommendation 2</a>
941
953
  </p>
942
954
  </div>
943
955
  <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
@@ -945,13 +957,13 @@ OUTPUT
945
957
  <div id="widgets">
946
958
  <h1>3.&#160; Widgets</h1>
947
959
  <div id="widgets1"><h2>3.1. </h2>
948
- <div class="recommend"><p class="AdmonitionTitle">Recommendation 4:</p>
960
+ <div class="recommend"><p class="AdmonitionTitle">Recommendation 3:</p>
949
961
  <span class="stem">(#(r = 1 %)#)</span>
950
962
  </div>
951
- <div class="recommend"><p class="AdmonitionTitle">Recommendation 5:</p>
963
+ <div class="recommend"><p class="AdmonitionTitle">Recommendation 4:</p>
952
964
  <span class="stem">(#(r = 1 %)#)</span>
953
965
  </div>
954
- <p> <a href="#note1">Recommendation 4</a> <a href="#note2">Recommendation 5</a> </p>
966
+ <p> <a href="#note1">Recommendation 3</a> <a href="#note2">Recommendation 4</a> </p>
955
967
  </div>
956
968
  </div>
957
969
  <br/>
@@ -962,10 +974,10 @@ OUTPUT
962
974
  </div>
963
975
  </div>
964
976
  <div id="annex1b"><h2>A.2. </h2>
965
- <div class="recommend"><p class="AdmonitionTitle">Recommendation A.2:</p>
977
+ <div class="recommend"><p class="AdmonitionTitle"/>
966
978
  <span class="stem">(#(r = 1 %)#)</span>
967
979
  </div>
968
- <div class="recommend"><p class="AdmonitionTitle">Recommendation A.3:</p>
980
+ <div class="recommend"><p class="AdmonitionTitle">Recommendation A.2:</p>
969
981
  <span class="stem">(#(r = 1 %)#)</span>
970
982
  </div>
971
983
  </div>
@@ -997,7 +1009,7 @@ OUTPUT
997
1009
  <stem type="AsciiMath">r = 1 %</stem>
998
1010
  </permission>
999
1011
  <clause id="xyz"><title>Preparatory</title>
1000
- <permission id="N2">
1012
+ <permission id="N2" unnumbered="true">
1001
1013
  <stem type="AsciiMath">r = 1 %</stem>
1002
1014
  </permission>
1003
1015
  </clause>
@@ -1030,7 +1042,7 @@ OUTPUT
1030
1042
  </permission>
1031
1043
  </clause>
1032
1044
  <clause id="annex1b">
1033
- <permission id="Anote1">
1045
+ <permission id="Anote1" unnumbered="true">
1034
1046
  <stem type="AsciiMath">r = 1 %</stem>
1035
1047
  </permission>
1036
1048
  <permission id="Anote2">
@@ -1046,13 +1058,13 @@ OUTPUT
1046
1058
  <h1 class="ForewordTitle">Foreword</h1>
1047
1059
  <p>
1048
1060
  <a href="#N1">Introduction, Permission 1</a>
1049
- <a href="#N2">Preparatory, Permission 2</a>
1050
- <a href="#N">Clause 1, Permission 3</a>
1051
- <a href="#note1">Clause 3.1, Permission 4</a>
1052
- <a href="#note2">Clause 3.1, Permission 5</a>
1061
+ <a href="#N2">Preparatory, Permission (??)</a>
1062
+ <a href="#N">Clause 1, Permission 2</a>
1063
+ <a href="#note1">Clause 3.1, Permission 3</a>
1064
+ <a href="#note2">Clause 3.1, Permission 4</a>
1053
1065
  <a href="#AN">Annex A.1, Permission A.1</a>
1054
- <a href="#Anote1">Annex A.2, Permission A.2</a>
1055
- <a href="#Anote2">Annex A.2, Permission A.3</a>
1066
+ <a href="#Anote1">Annex A.2, Permission (??)</a>
1067
+ <a href="#Anote2">Annex A.2, Permission A.2</a>
1056
1068
  </p>
1057
1069
  </div>
1058
1070
  <br/>
@@ -1062,7 +1074,7 @@ OUTPUT
1062
1074
  <span class="stem">(#(r = 1 %)#)</span>
1063
1075
  </div>
1064
1076
  <div id="xyz"><h2>Preparatory</h2>
1065
- <div class="permission"><p class="AdmonitionTitle">Permission 2:</p>
1077
+ <div class="permission"><p class="AdmonitionTitle"/>
1066
1078
  <span class="stem">(#(r = 1 %)#)</span>
1067
1079
  </div>
1068
1080
  </div>
@@ -1070,11 +1082,11 @@ OUTPUT
1070
1082
  <p class="zzSTDTitle1"/>
1071
1083
  <div id="scope">
1072
1084
  <h1>1.&#160; Scope</h1>
1073
- <div class="permission"><p class="AdmonitionTitle">Permission 3:</p>
1085
+ <div class="permission"><p class="AdmonitionTitle">Permission 2:</p>
1074
1086
  <span class="stem">(#(r = 1 %)#)</span>
1075
1087
  </div>
1076
1088
  <p>
1077
- <a href="#N">Permission 3</a>
1089
+ <a href="#N">Permission 2</a>
1078
1090
  </p>
1079
1091
  </div>
1080
1092
  <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
@@ -1082,13 +1094,13 @@ OUTPUT
1082
1094
  <div id="widgets">
1083
1095
  <h1>3.&#160; Widgets</h1>
1084
1096
  <div id="widgets1"><h2>3.1. </h2>
1085
- <div class="permission"><p class="AdmonitionTitle">Permission 4:</p>
1097
+ <div class="permission"><p class="AdmonitionTitle">Permission 3:</p>
1086
1098
  <span class="stem">(#(r = 1 %)#)</span>
1087
1099
  </div>
1088
- <div class="permission"><p class="AdmonitionTitle">Permission 5:</p>
1100
+ <div class="permission"><p class="AdmonitionTitle">Permission 4:</p>
1089
1101
  <span class="stem">(#(r = 1 %)#)</span>
1090
1102
  </div>
1091
- <p> <a href="#note1">Permission 4</a> <a href="#note2">Permission 5</a> </p>
1103
+ <p> <a href="#note1">Permission 3</a> <a href="#note2">Permission 4</a> </p>
1092
1104
  </div>
1093
1105
  </div>
1094
1106
  <br/>
@@ -1099,10 +1111,10 @@ OUTPUT
1099
1111
  </div>
1100
1112
  </div>
1101
1113
  <div id="annex1b"><h2>A.2. </h2>
1102
- <div class="permission"><p class="AdmonitionTitle">Permission A.2:</p>
1114
+ <div class="permission"><p class="AdmonitionTitle"/>
1103
1115
  <span class="stem">(#(r = 1 %)#)</span>
1104
1116
  </div>
1105
- <div class="permission"><p class="AdmonitionTitle">Permission A.3:</p>
1117
+ <div class="permission"><p class="AdmonitionTitle">Permission A.2:</p>
1106
1118
  <span class="stem">(#(r = 1 %)#)</span>
1107
1119
  </div>
1108
1120
  </div>
@@ -1240,7 +1252,7 @@ OUTPUT
1240
1252
  </tbody>
1241
1253
  </table>
1242
1254
  <clause id="xyz"><title>Preparatory</title>
1243
- <table id="N2">
1255
+ <table id="N2" unnumbered="true">
1244
1256
  <name>Repeatability and reproducibility of husked rice yield</name>
1245
1257
  <tbody>
1246
1258
  <tr>
@@ -1308,7 +1320,7 @@ OUTPUT
1308
1320
  </table>
1309
1321
  </clause>
1310
1322
  <clause id="annex1b">
1311
- <table id="Anote1">
1323
+ <table id="Anote1" unnumbered="true">
1312
1324
  <name>Repeatability and reproducibility of husked rice yield</name>
1313
1325
  <tbody>
1314
1326
  <tr>
@@ -1338,13 +1350,13 @@ OUTPUT
1338
1350
  <h1 class="ForewordTitle">Foreword</h1>
1339
1351
  <p>
1340
1352
  <a href="#N1">Table 1</a>
1341
- <a href="#N2">Table 2</a>
1342
- <a href="#N">Table 3</a>
1343
- <a href="#note1">Table 4</a>
1344
- <a href="#note2">Table 5</a>
1353
+ <a href="#N2">Table (??)</a>
1354
+ <a href="#N">Table 2</a>
1355
+ <a href="#note1">Table 3</a>
1356
+ <a href="#note2">Table 4</a>
1345
1357
  <a href="#AN">Table A.1</a>
1346
- <a href="#Anote1">Table A.2</a>
1347
- <a href="#Anote2">Table A.3</a>
1358
+ <a href="#Anote1">Table (??)</a>
1359
+ <a href="#Anote2">Table A.2</a>
1348
1360
  </p>
1349
1361
  </div>
1350
1362
  <br/>
@@ -1361,14 +1373,14 @@ OUTPUT
1361
1373
  </tbody>
1362
1374
  </table>
1363
1375
  <div id="xyz"><h2>Preparatory</h2>
1364
- <p class="TableTitle" align="center">Table 2&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="N2" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1376
+ <p class="TableTitle" align="center">Repeatability and reproducibility of husked rice yield</p><table id="N2" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1365
1377
  </div>
1366
1378
  </div>
1367
1379
  <p class="zzSTDTitle1"/>
1368
1380
  <div id="scope">
1369
1381
  <h1>1.&#160; Scope</h1>
1370
1382
  <p class="TableTitle" align="center">
1371
- Table 3&#160;&#8212; Repeatability and reproducibility of husked rice yield
1383
+ Table 2&#160;&#8212; Repeatability and reproducibility of husked rice yield
1372
1384
  </p>
1373
1385
  <table id="N" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0">
1374
1386
  <tbody>
@@ -1380,7 +1392,7 @@ OUTPUT
1380
1392
  </tbody>
1381
1393
  </table>
1382
1394
  <p>
1383
- <a href="#N">Table 3</a>
1395
+ <a href="#N">Table 2</a>
1384
1396
  </p>
1385
1397
  </div>
1386
1398
  <div id="terms"><h1>2.&#160; Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
@@ -1388,9 +1400,9 @@ OUTPUT
1388
1400
  <div id="widgets">
1389
1401
  <h1>3.&#160; Widgets</h1>
1390
1402
  <div id="widgets1"><h2>3.1. </h2>
1391
- <p class="TableTitle" align="center">Table 4&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note1" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1392
- <p class="TableTitle" align="center">Table 5&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note2" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1393
- <p> <a href="#note1">Table 4</a> <a href="#note2">Table 5</a> </p>
1403
+ <p class="TableTitle" align="center">Table 3&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note1" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1404
+ <p class="TableTitle" align="center">Table 4&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note2" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1405
+ <p> <a href="#note1">Table 3</a> <a href="#note2">Table 4</a> </p>
1394
1406
  </div>
1395
1407
  </div>
1396
1408
  <br/>
@@ -1399,8 +1411,8 @@ OUTPUT
1399
1411
  <p class="TableTitle" align="center">Table A.1&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="AN" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1400
1412
  </div>
1401
1413
  <div id="annex1b"><h2>A.2. </h2>
1402
- <p class="TableTitle" align="center">Table A.2&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="Anote1" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1403
- <p class="TableTitle" align="center">Table A.3&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="Anote2" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1414
+ <p class="TableTitle" align="center">Repeatability and reproducibility of husked rice yield</p><table id="Anote1" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1415
+ <p class="TableTitle" align="center">Table A.2&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="Anote2" class="MsoISOTable" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td align="left" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1404
1416
  </div>
1405
1417
  </div>
1406
1418
  </div>