metanorma-iso 2.1.3 → 2.1.6
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.
- checksums.yaml +4 -4
- data/lib/isodoc/iso/html/isodoc-dis.css +1 -10
- data/lib/isodoc/iso/html/isodoc-dis.scss +1 -13
- data/lib/isodoc/iso/html/isodoc.css +4 -11
- data/lib/isodoc/iso/html/isodoc.scss +5 -15
- data/lib/isodoc/iso/html/style-human.css +3 -0
- data/lib/isodoc/iso/html/style-human.scss +4 -0
- data/lib/isodoc/iso/html/style-iso.css +3 -0
- data/lib/isodoc/iso/html/style-iso.scss +4 -0
- data/lib/isodoc/iso/i18n-en.yaml +1 -1
- data/lib/isodoc/iso/iso.amendment.xsl +3611 -2912
- data/lib/isodoc/iso/iso.international-standard.xsl +3611 -2912
- data/lib/isodoc/iso/metadata.rb +1 -1
- data/lib/isodoc/iso/presentation_xml_convert.rb +4 -0
- data/lib/isodoc/iso/word_cleanup.rb +50 -19
- data/lib/isodoc/iso/word_dis_cleanup.rb +10 -14
- data/lib/isodoc/iso/word_dis_convert.rb +1 -1
- data/lib/metanorma/iso/base.rb +0 -6
- data/lib/metanorma/iso/boilerplate-fr.xml +1 -1
- data/lib/metanorma/iso/boilerplate-ru.xml +1 -1
- data/lib/metanorma/iso/boilerplate.xml +1 -1
- data/lib/metanorma/iso/cleanup.rb +4 -2
- data/lib/metanorma/iso/front_id.rb +28 -0
- data/lib/metanorma/iso/isodoc.rng +32 -1
- data/lib/metanorma/iso/isostandard.rng +3 -1
- data/lib/metanorma/iso/reqt.rng +1 -1
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +2 -1
- data/spec/isodoc/blocks_spec.rb +3 -3
- data/spec/isodoc/metadata_spec.rb +1 -2
- data/spec/isodoc/postproc_spec.rb +8 -75
- data/spec/isodoc/terms_spec.rb +62 -0
- data/spec/isodoc/word_dis_spec.rb +133 -15
- data/spec/metanorma/base_spec.rb +6 -17
- data/spec/metanorma/blocks_spec.rb +0 -33
- data/spec/metanorma/cleanup_spec.rb +201 -201
- data/spec/metanorma/processor_spec.rb +1 -2
- data/spec/metanorma/refs_spec.rb +5 -3
- data/spec/metanorma/section_spec.rb +6 -6
- data/spec/spec_helper.rb +1 -1
- data/spec/vcr_cassettes/withdrawn_iso.yml +28 -28
- metadata +18 -5
- data/lib/metanorma/iso/macros.rb +0 -29
@@ -1010,9 +1010,9 @@ RSpec.describe IsoDoc do
|
|
1010
1010
|
Note
|
1011
1011
|
</p>
|
1012
1012
|
</div>
|
1013
|
-
<div style='page-break-after:avoid;'>
|
1013
|
+
<div class="Figureexample" style='page-break-after:avoid;'>
|
1014
1014
|
<a name='D' id='D'/>
|
1015
|
-
<p class='
|
1015
|
+
<p class='Figureexample'>
|
1016
1016
|
<span style='mso-tab-count:1'> </span>
|
1017
1017
|
Example
|
1018
1018
|
</p>
|
@@ -1687,7 +1687,7 @@ RSpec.describe IsoDoc do
|
|
1687
1687
|
<span style='mso-tab-count:1'> </span>
|
1688
1688
|
Example start
|
1689
1689
|
</p>
|
1690
|
-
<p class='Code--'>X</p>
|
1690
|
+
<p class='Code--' style='margin-bottom:12pt;'>X</p>
|
1691
1691
|
<p class='Exampleindentcontinued'>Example continued</p>
|
1692
1692
|
</div>
|
1693
1693
|
<p class='Code-'>X</p>
|
@@ -1728,7 +1728,7 @@ RSpec.describe IsoDoc do
|
|
1728
1728
|
<div class='WordSection3'>
|
1729
1729
|
<p class='zzSTDTitle'>
|
1730
1730
|
Date and time — Representations for information interchange —
|
1731
|
-
<span style='font-weight:normal'>Part 1
|
1731
|
+
<span style='font-weight:normal'>Part 1:</span>
|
1732
1732
|
Basic rules
|
1733
1733
|
</p>
|
1734
1734
|
<div>
|
@@ -1799,7 +1799,7 @@ RSpec.describe IsoDoc do
|
|
1799
1799
|
<div class='WordSection3'>
|
1800
1800
|
<p class='zzSTDTitle'>
|
1801
1801
|
Date and time — Representations for information interchange —
|
1802
|
-
<span style='font-weight:normal'>Part 1
|
1802
|
+
<span style='font-weight:normal'>Part 1:</span>
|
1803
1803
|
Basic rules
|
1804
1804
|
<span style='font-weight:normal'> AMENDMENT 1: Technical corrections</span>
|
1805
1805
|
</p>
|
@@ -1842,11 +1842,9 @@ RSpec.describe IsoDoc do
|
|
1842
1842
|
<br/>
|
1843
1843
|
CH-1214 Vernier, Geneva, Switzerland
|
1844
1844
|
<br/>
|
1845
|
-
|
1845
|
+
Phone: +41 22 749 01 11
|
1846
1846
|
<br/>
|
1847
|
-
|
1848
|
-
<br/>
|
1849
|
-
copyright@iso.org
|
1847
|
+
Email: copyright@iso.org
|
1850
1848
|
<br/>
|
1851
1849
|
www.iso.org</p>
|
1852
1850
|
</clause>
|
@@ -1896,9 +1894,8 @@ RSpec.describe IsoDoc do
|
|
1896
1894
|
</p>
|
1897
1895
|
<p class='zzCopyright'> Ch. de Blandonnet 8 ?~@? CP 401 </p>
|
1898
1896
|
<p class='zzCopyright'> CH-1214 Vernier, Geneva, Switzerland </p>
|
1899
|
-
<p class='zzCopyright'>
|
1900
|
-
<p class='zzCopyright'>
|
1901
|
-
<p class='zzCopyright'> copyright@iso.org </p>
|
1897
|
+
<p class='zzCopyright'> Phone: +41 22 749 01 11 </p>
|
1898
|
+
<p class='zzCopyright'> Email: copyright@iso.org </p>
|
1902
1899
|
<p class='zzCopyright'> www.iso.org</p>
|
1903
1900
|
</div>
|
1904
1901
|
</div>
|
@@ -1935,12 +1932,133 @@ RSpec.describe IsoDoc do
|
|
1935
1932
|
</p>
|
1936
1933
|
<p class='zzCopyright' style='text-indent:20.15pt;'> Ch. de Blandonnet 8 ?~@? CP 401 </p>
|
1937
1934
|
<p class='zzCopyright' style='text-indent:20.15pt;'> CH-1214 Vernier, Geneva, Switzerland </p>
|
1938
|
-
<p class='zzCopyright' style='text-indent:20.15pt;'>
|
1939
|
-
<p class='zzCopyright' style='text-indent:20.15pt;'>
|
1940
|
-
<p class='zzCopyright' style='text-indent:20.15pt;'> copyright@iso.org </p>
|
1935
|
+
<p class='zzCopyright' style='text-indent:20.15pt;'> Phone: +41 22 749 01 11 </p>
|
1936
|
+
<p class='zzCopyright' style='text-indent:20.15pt;'> Email: copyright@iso.org </p>
|
1941
1937
|
<p class='zzCopyright' style='text-indent:20.15pt;'> www.iso.org</p>
|
1942
1938
|
</div>
|
1943
1939
|
</div>
|
1944
1940
|
OUTPUT
|
1945
1941
|
end
|
1942
|
+
|
1943
|
+
it "deals with Simple Template styles" do
|
1944
|
+
input = <<~INPUT
|
1945
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
1946
|
+
<bibdata>
|
1947
|
+
<status><stage>20</stage></status>
|
1948
|
+
</bibdata>
|
1949
|
+
<sections>
|
1950
|
+
<clause id="A"><title>Clause Title</title>
|
1951
|
+
<ul><li>List</li></ul>
|
1952
|
+
<note id="B"><p>Note</p>
|
1953
|
+
<ul><li>Note List</li></ul>
|
1954
|
+
</note>
|
1955
|
+
<example id="C"><p>Example</p>
|
1956
|
+
<ul><li>Example List</li></ul>
|
1957
|
+
</example>
|
1958
|
+
<figure id="D"><name>Figure Title</name></figure>
|
1959
|
+
<sourcecode id="E">XYZ</sourcecode>
|
1960
|
+
<table id="F"><name>Table</name></table>
|
1961
|
+
</clause>
|
1962
|
+
</sections>
|
1963
|
+
<annex id="G"><title>Annex Title</title>
|
1964
|
+
<table id="H"><name>Annex Table</name></table>
|
1965
|
+
<clause id="I"><title>Annex Clause Title</title>
|
1966
|
+
</clause>
|
1967
|
+
</annex>
|
1968
|
+
<bibliography>
|
1969
|
+
<references id="_normative_references" normative="false" obligation="informative">
|
1970
|
+
<title>Bibliography</title>
|
1971
|
+
<bibitem id="ISO712" type="standard">
|
1972
|
+
<formattedref>ALUFFI, Paolo, ed. (2022). <em><span class="std_class">Facets of Algebraic Geometry: A Collection in Honor of William Fulton's 80th Birthday</span></em>, 1st edition. Cambridge, UK: CUP.</formattedref>
|
1973
|
+
<docidentifier type="ISO">ISO/IEC 712-3:2022</docidentifier>
|
1974
|
+
</bibitem>
|
1975
|
+
</references>
|
1976
|
+
</bibliography>
|
1977
|
+
</iso-standard>
|
1978
|
+
INPUT
|
1979
|
+
word = <<~WORD
|
1980
|
+
<div class='WordSection3'>
|
1981
|
+
<p class='zzSTDTitle1'/>
|
1982
|
+
<div>
|
1983
|
+
<a name='A' id='A'/>
|
1984
|
+
<h1>Clause Title</h1>
|
1985
|
+
<p style='mso-list:l3 level1 lfo1;' class='MsoListParagraphCxSpFirst'>List</p>
|
1986
|
+
<div class='Note'>
|
1987
|
+
<a name='B' id='B'/>
|
1988
|
+
<p class='Note'>
|
1989
|
+
<span class='note_label'/>
|
1990
|
+
<span style='mso-tab-count:1'> </span>
|
1991
|
+
Note
|
1992
|
+
</p>
|
1993
|
+
<p style='font-size:10.0pt;;mso-list:l3 level1 lfo2;' class='MsoListParagraphCxSpFirst'>Note List</p>
|
1994
|
+
</div>
|
1995
|
+
<div class='Example'>
|
1996
|
+
<a name='C' id='C'/>
|
1997
|
+
<p class='Example'>
|
1998
|
+
<span style='mso-tab-count:1'> </span>
|
1999
|
+
Example
|
2000
|
+
</p>
|
2001
|
+
<p style='font-size:10.0pt;;mso-list:l3 level1 lfo3;' class='MsoListParagraphCxSpFirst'>Example List</p>
|
2002
|
+
</div>
|
2003
|
+
<div class='MsoNormal' style='text-align:center;'>
|
2004
|
+
<a name='D' id='D'/>
|
2005
|
+
<p class='FigureTitle' style='text-align:center;'>Figure Title</p>
|
2006
|
+
</div>
|
2007
|
+
<p class='Code'>
|
2008
|
+
<a name='E' id='E'/>
|
2009
|
+
XYZ
|
2010
|
+
</p>
|
2011
|
+
<p class='Tabletitle' style='text-align:center;'>Table</p>
|
2012
|
+
<div align='center' class='table_container'>
|
2013
|
+
<table class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;'>
|
2014
|
+
<a name='F' id='F'/>
|
2015
|
+
</table>
|
2016
|
+
</div>
|
2017
|
+
</div>
|
2018
|
+
<p class='MsoNormal'>
|
2019
|
+
<br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
|
2020
|
+
</p>
|
2021
|
+
<div class='Section3'>
|
2022
|
+
<a name='G' id='G'/>
|
2023
|
+
<p class='ANNEX'>Annex Title</p>
|
2024
|
+
<p class='AnnexTableTitle' style='text-align:center;'>Annex Table</p>
|
2025
|
+
<div align='center' class='table_container'>
|
2026
|
+
<table class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;'>
|
2027
|
+
<a name='H' id='H'/>
|
2028
|
+
</table>
|
2029
|
+
</div>
|
2030
|
+
<div>
|
2031
|
+
<a name='I' id='I'/>
|
2032
|
+
<p class='a2'>Annex Clause Title</p>
|
2033
|
+
</div>
|
2034
|
+
</div>
|
2035
|
+
<p class='MsoNormal'>
|
2036
|
+
<br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
|
2037
|
+
</p>
|
2038
|
+
<div>
|
2039
|
+
<p class='BiblioTitle'>Bibliography</p>
|
2040
|
+
<p class='MsoNormal'>
|
2041
|
+
<a name='ISO712' id='ISO712'/>
|
2042
|
+
[1]
|
2043
|
+
<span style='mso-tab-count:1'> </span>
|
2044
|
+
ISO/IEC 712-3:2022, ALUFFI, Paolo, ed. (2022).
|
2045
|
+
<i>
|
2046
|
+
Facets of Algebraic Geometry: A Collection in Honor of William Fulton's
|
2047
|
+
80th Birthday
|
2048
|
+
</i>
|
2049
|
+
, 1st edition. Cambridge, UK: CUP.
|
2050
|
+
</p>
|
2051
|
+
</div>
|
2052
|
+
</div>
|
2053
|
+
WORD
|
2054
|
+
FileUtils.rm_f "test.doc"
|
2055
|
+
IsoDoc::Iso::WordConvert.new({}).convert("test", input, false)
|
2056
|
+
expect(File.exist?("test.doc")).to be true
|
2057
|
+
output = File.read("test.doc", encoding: "UTF-8")
|
2058
|
+
.sub(/^.*<html/m, "<html")
|
2059
|
+
.sub(/<\/html>.*$/m, "</html>")
|
2060
|
+
expect(strip_guid(xmlpp(Nokogiri::XML(output)
|
2061
|
+
.at("//xmlns:div[@class = 'WordSection3']").to_xml)))
|
2062
|
+
.to be_equivalent_to xmlpp(word)
|
2063
|
+
end
|
1946
2064
|
end
|
data/spec/metanorma/base_spec.rb
CHANGED
@@ -1008,14 +1008,11 @@ RSpec.describe Metanorma::ISO do
|
|
1008
1008
|
<title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
|
1009
1009
|
<title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
|
1010
1010
|
<title type='main' format='text/plain' language='en' script='Latn'>Rubber latex — Sampling</title>
|
1011
|
-
<title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
|
1012
|
-
<title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
|
1013
|
-
<title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc — Échantillonnage</title>
|
1014
1011
|
<uri type='src'>https://www.iso.org/standard/23281.html</uri>
|
1015
1012
|
<uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
|
1016
1013
|
<uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
|
1017
1014
|
<docidentifier type='ISO' primary="true">ISO 123:2001</docidentifier>
|
1018
|
-
<docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3
|
1015
|
+
<docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
|
1019
1016
|
<docnumber>123</docnumber>
|
1020
1017
|
<date type='published'><on>2001-05</on></date>
|
1021
1018
|
<contributor>
|
@@ -1028,7 +1025,6 @@ RSpec.describe Metanorma::ISO do
|
|
1028
1025
|
</contributor>
|
1029
1026
|
<edition>3</edition>
|
1030
1027
|
<language>en</language>
|
1031
|
-
<language>fr</language>
|
1032
1028
|
<script>Latn</script>
|
1033
1029
|
<abstract format='text/plain' language='en' script='Latn'>
|
1034
1030
|
This International Standard specifies procedures for sampling natural
|
@@ -1036,16 +1032,6 @@ RSpec.describe Metanorma::ISO do
|
|
1036
1032
|
artificial latices. It is also suitable for sampling rubber latex
|
1037
1033
|
contained in drums, tank cars or tanks. The procedures may also be
|
1038
1034
|
used for sampling plastics dispersions.
|
1039
|
-
</abstract>
|
1040
|
-
<abstract format='text/plain' language='fr' script='Latn'>
|
1041
|
-
La présente Norme internationale spécifie des méthodes
|
1042
|
-
d’échantillonnage pour des concentrés de latex de
|
1043
|
-
caoutchouc naturel et pour échantillonner des latex de caoutchouc
|
1044
|
-
synthétique et des latex artificiels. Elle s’applique
|
1045
|
-
également à l’échantillonnage de latex de
|
1046
|
-
caoutchouc contenus dans des fûts, citernes routières ou de
|
1047
|
-
stockage. Le mode opératoire peut aussi être utilisé
|
1048
|
-
pour l’échantillonnage de dispersions de plastiques.
|
1049
1035
|
</abstract>
|
1050
1036
|
<status>
|
1051
1037
|
<stage>90</stage>
|
@@ -1062,6 +1048,7 @@ RSpec.describe Metanorma::ISO do
|
|
1062
1048
|
<relation type='obsoletes'>
|
1063
1049
|
<bibitem type='standard'>
|
1064
1050
|
<formattedref format='text/plain'>ISO 123:1985</formattedref>
|
1051
|
+
<docidentifier type='ISO' primary='true'>ISO 123:1985</docidentifier>
|
1065
1052
|
</bibitem>
|
1066
1053
|
</relation>
|
1067
1054
|
<place>Geneva</place>
|
@@ -1088,7 +1075,7 @@ RSpec.describe Metanorma::ISO do
|
|
1088
1075
|
<uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
|
1089
1076
|
<uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
|
1090
1077
|
<docidentifier type='ISO' primary="true">ISO 125</docidentifier>
|
1091
|
-
<docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7
|
1078
|
+
<docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
|
1092
1079
|
<docnumber>125</docnumber>
|
1093
1080
|
<contributor>
|
1094
1081
|
<role type='publisher'/>
|
@@ -1117,6 +1104,7 @@ RSpec.describe Metanorma::ISO do
|
|
1117
1104
|
<relation type='obsoletes'>
|
1118
1105
|
<bibitem type='standard'>
|
1119
1106
|
<formattedref format='text/plain'>ISO 125:2011</formattedref>
|
1107
|
+
<docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
|
1120
1108
|
</bibitem>
|
1121
1109
|
</relation>
|
1122
1110
|
<relation type='instance'>
|
@@ -1139,7 +1127,7 @@ RSpec.describe Metanorma::ISO do
|
|
1139
1127
|
<uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:72849:en</uri>
|
1140
1128
|
<uri type='rss'>https://www.iso.org/contents/data/standard/07/28/72849.detail.rss</uri>
|
1141
1129
|
<docidentifier type='ISO' primary="true">ISO 125:2020</docidentifier>
|
1142
|
-
<docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7
|
1130
|
+
<docidentifier type='URN'>urn:iso:std:iso:125:stage-60.60:ed-7</docidentifier>
|
1143
1131
|
<docnumber>125</docnumber>
|
1144
1132
|
<date type='published'>
|
1145
1133
|
<on>2020-02</on>
|
@@ -1192,6 +1180,7 @@ RSpec.describe Metanorma::ISO do
|
|
1192
1180
|
<relation type='obsoletes'>
|
1193
1181
|
<bibitem type='standard'>
|
1194
1182
|
<formattedref format='text/plain'>ISO 125:2011</formattedref>
|
1183
|
+
<docidentifier type='ISO' primary='true'>ISO 125:2011</docidentifier>
|
1195
1184
|
</bibitem>
|
1196
1185
|
</relation>
|
1197
1186
|
<place>Geneva</place>
|
@@ -621,37 +621,4 @@ RSpec.describe Metanorma::ISO do
|
|
621
621
|
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
622
622
|
.to be_equivalent_to xmlpp(output)
|
623
623
|
end
|
624
|
-
|
625
|
-
it "processes the macro for editorial notes" do
|
626
|
-
input = <<~INPUT
|
627
|
-
#{ASCIIDOC_BLANK_HDR}
|
628
|
-
EDITOR: Note1
|
629
|
-
|
630
|
-
[EDITOR]
|
631
|
-
====
|
632
|
-
Note2
|
633
|
-
====
|
634
|
-
|
635
|
-
[EDITOR]
|
636
|
-
Note3
|
637
|
-
INPUT
|
638
|
-
output = <<~OUTPUT
|
639
|
-
#{BLANK_HDR}
|
640
|
-
<sections>
|
641
|
-
<admonition id='_' type='editorial'>
|
642
|
-
<p id='_'>Note1</p>
|
643
|
-
</admonition>
|
644
|
-
<admonition id='_' type='editorial'>
|
645
|
-
<p id='_'>Note2</p>
|
646
|
-
</admonition>
|
647
|
-
<admonition id='_' type='editorial'>
|
648
|
-
<p id='_'>Note3</p>
|
649
|
-
</admonition>
|
650
|
-
</sections>
|
651
|
-
</iso-standard>
|
652
|
-
OUTPUT
|
653
|
-
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
654
|
-
.to be_equivalent_to xmlpp(output)
|
655
|
-
end
|
656
|
-
|
657
624
|
end
|