Skip to content

Commit 203c466

Browse files
committed
table footnote ) delimiter moved to Presentation XML: metanorma/isodoc#613
1 parent 5a67335 commit 203c466

File tree

4 files changed

+181
-108
lines changed

4 files changed

+181
-108
lines changed

lib/isodoc/itu/base_convert.rb

+1-6
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def ol_depth(node)
5454
ol_style(type)
5555
end
5656

57-
def annex_name(annex, name, div)
57+
def annex_name(_annex, name, div)
5858
r_a = @meta.get[:doctype_original] == "recommendation-annex"
5959
div.h1 class: r_a ? "RecommendationAnnex" : "Annex" do |t|
6060
name&.children&.each { |c2| parse(c2, t) }
@@ -103,11 +103,6 @@ def note_parse1(node, div)
103103
node.children.each { |n| parse(n, div) }
104104
end
105105

106-
# TODO to Presentation XML
107-
def table_footnote_reference_format(node)
108-
node.content += ")"
109-
end
110-
111106
def note_parse(node, out)
112107
node["type"] == "title-footnote" and return
113108
super

lib/isodoc/itu/presentation_xml_convert.rb

+7-14
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,7 @@
66
require_relative "presentation_preface"
77
require_relative "presentation_ref"
88
require_relative "presentation_contribution"
9-
10-
module Nokogiri
11-
module XML
12-
class Node
13-
def traverse_topdown(&block)
14-
yield(self)
15-
children.each { |j| j.traverse_topdown(&block) }
16-
end
17-
end
18-
end
19-
end
9+
require_relative "../../nokogiri/xml"
2010

2111
module IsoDoc
2212
module Itu
@@ -57,7 +47,7 @@ def termsource1(elem)
5747
while elem&.next_element&.name == "termsource"
5848
elem << "; #{to_xml(elem.next_element.remove.children)}"
5949
end
60-
elem.children = l10n("#{to_xml(elem.children).strip}")
50+
elem.children = l10n(to_xml(elem.children).strip)
6151
end
6252

6353
def eref1(elem)
@@ -72,8 +62,7 @@ def note1(elem)
7262
def note_delim(elem)
7363
if elem.at(ns("./*[local-name() != 'name'][1]"))&.name == "p"
7464
"\u00a0\u2013\u00a0"
75-
else
76-
""
65+
else ""
7766
end
7867
end
7968

@@ -96,6 +85,10 @@ def capitalise_unless_text_transform(elem)
9685
end
9786
end
9887

88+
def table_fn1(_table, fnote, _idx)
89+
fnote["reference"] += ")"
90+
end
91+
9992
def get_eref_linkend(node)
10093
non_locality_elems(node).select do |c|
10194
!c.text? || /\S/.match(c)

lib/nokogiri/xml.rb

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module Nokogiri
2+
module XML
3+
class Node
4+
def traverse_topdown(&block)
5+
yield(self)
6+
children.each { |j| j.traverse_topdown(&block) }
7+
end
8+
end
9+
end
10+
end

spec/isodoc/ituconvert_spec.rb

+163-88
Original file line numberDiff line numberDiff line change
@@ -490,8 +490,8 @@
490490
<tbody>
491491
<tr>
492492
<td align="left">Arborio</td>
493-
<td align="center">Drago<fn reference="a"><p id="_">Parboiled rice.</p></fn></td>
494-
<td align="center">Balilla<fn reference="a"><p id="_">Parboiled rice.</p></fn></td>
493+
<td align="center">Drago<fn reference="a)"><p id="_">Parboiled rice.</p></fn></td>
494+
<td align="center">Balilla<fn reference="a)"><p id="_">Parboiled rice.</p></fn></td>
495495
<td align="center">Thaibonnet</td>
496496
</tr>
497497
</tbody>
@@ -518,64 +518,123 @@
518518
.gsub(%r{<script>.+?</script>}i, "")
519519
.gsub(/fn:[0-9a-f][0-9a-f-]+/, "fn:_"))))
520520
.to be_equivalent_to Xml::C14n.format(<<~OUTPUT)
521-
<main xmlns:epub="epub" class="main-section">
522-
<button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
523-
<br/>
524-
<div>
525-
<h1 class="IntroTitle" id="_">Foreword</h1>
526-
<p>A.<a class="FootnoteRef" href="#fn:1" id="fnref:1"><sup>1</sup></a></p>
527-
<p>B.<a class="FootnoteRef" href="#fn:1"><sup>1</sup></a></p>
528-
<p>C.<a class="FootnoteRef" href="#fn:3" id="fnref:3"><sup>2</sup></a></p>
529-
<p class="TableTitle" style="text-align:center;">Table 1 — Table 1 — Repeatability and reproducibility of <i>husked</i> rice yield</p>
530-
<table id="tableD-1" class="MsoISOTable" style="border-width:1px;border-spacing:0;" title="tool tip">
531-
<caption>
532-
<span style="display:none">long desc</span>
533-
</caption>
534-
<thead>
535-
<tr>
536-
<td rowspan="2" style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;" scope="col">Description</td>
537-
<td colspan="4" style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;" scope="colgroup">Rice sample</td>
538-
</tr>
539-
</thead>
540-
<tbody>
541-
<tr>
542-
<td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Arborio</td>
543-
<td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Drago<a href="#tableD-1a" class="TableFootnoteRef">a)</a></td>
544-
<td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Balilla<a href="#tableD-1a" class="TableFootnoteRef">a)</a></td>
545-
<td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Thaibonnet</td>
546-
</tr>
547-
</tbody>
548-
<tfoot>
549-
<tr>
550-
<td colspan="5" style="border-top:0pt;border-bottom:solid windowtext 1.5pt;">
551-
<div class="TableFootnote">
552-
<div id="fn:tableD-1a">
553-
<p id="_" class="TableFootnote"><span><span id="tableD-1a" class="TableFootnoteRef">a)</span>  </span>Parboiled rice.</p>
554-
</div>
555-
</div>
556-
</td>
557-
</tr>
558-
</tfoot>
559-
</table>
560-
</div>
561-
<p class="zzSTDTitle2">An ITU Standard<a class="FootnoteRef" href="#fn:4" id="fnref:4"><sup>3</sup></a><a class="FootnoteRef" href="#fn:5" id="fnref:5"><sup>4</sup></a></p>
562-
<div/>
563-
<aside id="fn:1" class="footnote">
564-
<p id="_"><a class="FootnoteRef" href="#fn:1"><sup>1</sup></a>Formerly denoted as 15 % (m/m).</p>
565-
<a href="#fnref:1">↩</a>
566-
</aside>
567-
<aside id="fn:3" class="footnote">
568-
<p id="_"><a class="FootnoteRef" href="#fn:3"><sup>2</sup></a>Hello! denoted as 15 % (m/m).</p>
569-
<a href="#fnref:3">↩</a>
570-
</aside>
571-
<aside id="fn:4" class="footnote">
572-
<p><a class="FootnoteRef" href="#fn:4"><sup>3</sup></a>One fn</p>
573-
<a href="#fnref:4">↩</a>
574-
</aside>
575-
<aside id="fn:5" class="footnote">
576-
<p><a class="FootnoteRef" href="#fn:5"><sup>4</sup></a>Another fn</p>
577-
<a href="#fnref:5">↩</a>
578-
</aside>
521+
<main xmlns:epub="epub" class="main-section">
522+
<button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
523+
<br/>
524+
<div>
525+
<h1 class="IntroTitle" id="_">Foreword</h1>
526+
<p>
527+
A.
528+
<a class="FootnoteRef" href="#fn:1" id="fnref:1">
529+
<sup>1</sup>
530+
</a>
531+
</p>
532+
<p>
533+
B.
534+
<a class="FootnoteRef" href="#fn:1">
535+
<sup>1</sup>
536+
</a>
537+
</p>
538+
<p>
539+
C.
540+
<a class="FootnoteRef" href="#fn:3" id="fnref:3">
541+
<sup>2</sup>
542+
</a>
543+
</p>
544+
<p class="TableTitle" style="text-align:center;">
545+
Table 1 — Table 1 — Repeatability and reproducibility of
546+
<i>husked</i>
547+
rice yield
548+
</p>
549+
<table id="tableD-1" class="MsoISOTable" style="border-width:1px;border-spacing:0;" title="tool tip">
550+
<caption>
551+
<span style="display:none">long desc</span>
552+
</caption>
553+
<thead>
554+
<tr>
555+
<td rowspan="2" style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;" scope="col">Description</td>
556+
<td colspan="4" style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;" scope="colgroup">Rice sample</td>
557+
</tr>
558+
</thead>
559+
<tbody>
560+
<tr>
561+
<td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Arborio</td>
562+
<td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">
563+
Drago
564+
<a href="#tableD-1a)" class="TableFootnoteRef">a)</a>
565+
</td>
566+
<td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">
567+
Balilla
568+
<a href="#tableD-1a)" class="TableFootnoteRef">a)</a>
569+
</td>
570+
<td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Thaibonnet</td>
571+
</tr>
572+
</tbody>
573+
<tfoot>
574+
<tr>
575+
<td colspan="5" style="border-top:0pt;border-bottom:solid windowtext 1.5pt;">
576+
<div class="TableFootnote">
577+
<div id="fn:tableD-1a)">
578+
<p id="_" class="TableFootnote">
579+
<span>
580+
<span id="tableD-1a)" class="TableFootnoteRef">a)</span>
581+
 
582+
</span>
583+
Parboiled rice.
584+
</p>
585+
</div>
586+
</div>
587+
</td>
588+
</tr>
589+
</tfoot>
590+
</table>
591+
</div>
592+
<p class="zzSTDTitle2">
593+
An ITU Standard
594+
<a class="FootnoteRef" href="#fn:4" id="fnref:4">
595+
<sup>3</sup>
596+
</a>
597+
<a class="FootnoteRef" href="#fn:5" id="fnref:5">
598+
<sup>4</sup>
599+
</a>
600+
</p>
601+
<div/>
602+
<aside id="fn:1" class="footnote">
603+
<p id="_">
604+
<a class="FootnoteRef" href="#fn:1">
605+
<sup>1</sup>
606+
</a>
607+
Formerly denoted as 15 % (m/m).
608+
</p>
609+
<a href="#fnref:1">↩</a>
610+
</aside>
611+
<aside id="fn:3" class="footnote">
612+
<p id="_">
613+
<a class="FootnoteRef" href="#fn:3">
614+
<sup>2</sup>
615+
</a>
616+
Hello! denoted as 15 % (m/m).
617+
</p>
618+
<a href="#fnref:3">↩</a>
619+
</aside>
620+
<aside id="fn:4" class="footnote">
621+
<p>
622+
<a class="FootnoteRef" href="#fn:4">
623+
<sup>3</sup>
624+
</a>
625+
One fn
626+
</p>
627+
<a href="#fnref:4">↩</a>
628+
</aside>
629+
<aside id="fn:5" class="footnote">
630+
<p>
631+
<a class="FootnoteRef" href="#fn:5">
632+
<sup>4</sup>
633+
</a>
634+
Another fn
635+
</p>
636+
<a href="#fnref:5">↩</a>
637+
</aside>
579638
</main>
580639
OUTPUT
581640

@@ -587,34 +646,50 @@
587646
.sub(%r{^.*<div align="center" class="table_container">}m, "")
588647
.sub(%r{</table>.*$}m, "</table>")))
589648
.to be_equivalent_to Xml::C14n.format(<<~OUTPUT)
590-
<table class="MsoISOTable" style="mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;" title="tool tip" summary="long desc">
591-
<a name="tableD-1" id="tableD-1"/>
592-
<thead>
593-
<tr>
594-
<td rowspan="2" valign="top" align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:avoid;">Description</td>
595-
<td colspan="4" valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:avoid;">Rice sample</td>
596-
</tr>
597-
</thead>
598-
<tbody>
599-
<tr>
600-
<td valign="top" align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">Arborio</td>
601-
<td valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">Drago<a href="#tableD-1a" class="TableFootnoteRef">a)</a></td>
602-
<td valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">Balilla<a href="#tableD-1a" class="TableFootnoteRef">a)</a></td>
603-
<td valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">Thaibonnet</td>
604-
</tr>
605-
</tbody>
606-
<tfoot>
607-
<tr>
608-
<td colspan="5" style="border-top:0pt;mso-border-top-alt:0pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;">
609-
<div class="TableFootnote">
610-
<div>
611-
<a name="ftntableD-1a" id="ftntableD-1a"/>
612-
<p class="TableFootnote"><a name="_0fe65e9a-5531-408e-8295-eeff35f41a55" id="_0fe65e9a-5531-408e-8295-eeff35f41a55"/><span><span class="TableFootnoteRef"><a name="tableD-1a" id="tableD-1a"/>a)</span><span style="mso-tab-count:1">  </span></span>Parboiled rice.</p>
613-
</div>
614-
</div>
615-
</td>
616-
</tr>
617-
</tfoot>
649+
<table class="MsoISOTable" style="mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;" title="tool tip" summary="long desc">
650+
<a name="tableD-1" id="tableD-1"/>
651+
<thead>
652+
<tr>
653+
<td rowspan="2" valign="top" align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:avoid;">Description</td>
654+
<td colspan="4" valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:avoid;">Rice sample</td>
655+
</tr>
656+
</thead>
657+
<tbody>
658+
<tr>
659+
<td valign="top" align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">Arborio</td>
660+
<td valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">
661+
Drago
662+
<a href="#tableD-1a)" class="TableFootnoteRef">a)</a>
663+
</td>
664+
<td valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">
665+
Balilla
666+
<a href="#tableD-1a)" class="TableFootnoteRef">a)</a>
667+
</td>
668+
<td valign="top" align="center" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;page-break-after:auto;">Thaibonnet</td>
669+
</tr>
670+
</tbody>
671+
<tfoot>
672+
<tr>
673+
<td colspan="5" style="border-top:0pt;mso-border-top-alt:0pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;">
674+
<div class="TableFootnote">
675+
<div>
676+
<a name="ftntableD-1a)" id="ftntableD-1a)"/>
677+
<p class="TableFootnote">
678+
<a name="_0fe65e9a-5531-408e-8295-eeff35f41a55" id="_0fe65e9a-5531-408e-8295-eeff35f41a55"/>
679+
<span>
680+
<span class="TableFootnoteRef">
681+
<a name="tableD-1a)" id="tableD-1a)"/>
682+
a)
683+
</span>
684+
<span style="mso-tab-count:1">  </span>
685+
</span>
686+
Parboiled rice.
687+
</p>
688+
</div>
689+
</div>
690+
</td>
691+
</tr>
692+
</tfoot>
618693
</table>
619694
OUTPUT
620695
end

0 commit comments

Comments
 (0)