metanorma-iec 1.2.1 → 1.2.7
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/.github/workflows/rake.yml +44 -0
 - data/lib/asciidoctor/iec/basicdoc.rng +23 -0
 - data/lib/asciidoctor/iec/converter.rb +1 -0
 - data/lib/asciidoctor/iec/front.rb +9 -7
 - data/lib/asciidoctor/iec/iec.rng +7 -0
 - data/lib/asciidoctor/iec/isodoc.rng +125 -58
 - data/lib/asciidoctor/iec/isostandard.rng +8 -1
 - data/lib/isodoc/iec/base_convert.rb +0 -20
 - data/lib/isodoc/iec/html/htmlstyle.css +5 -1
 - data/lib/isodoc/iec/html/isodoc.css +16 -4
 - data/lib/isodoc/iec/html/isodoc.scss +19 -4
 - data/lib/isodoc/iec/html/wordstyle.css +10 -10
 - data/lib/isodoc/iec/html/wordstyle.scss +15 -10
 - data/lib/isodoc/iec/iec.international-standard.xsl +1279 -391
 - data/lib/metanorma/iec/version.rb +1 -1
 - data/metanorma-iec.gemspec +1 -1
 - data/spec/asciidoctor-iec/base_spec.rb +14 -5
 - data/spec/asciidoctor-iec/cleanup_spec.rb +30 -6
 - data/spec/asciidoctor-iec/iev_spec.rb +3 -3
 - data/spec/asciidoctor-iec/inline_spec.rb +7 -1
 - data/spec/asciidoctor-iec/validate_spec.rb +21 -1
 - data/spec/assets/xref_error.adoc +7 -0
 - data/spec/isodoc/blocks_spec.rb +1 -1
 - data/spec/isodoc/i18n_spec.rb +9 -9
 - data/spec/isodoc/iev_spec.rb +13 -17
 - data/spec/isodoc/inline_spec.rb +1 -1
 - data/spec/isodoc/metadata_spec.rb +36 -23
 - data/spec/isodoc/ref_spec.rb +15 -15
 - data/spec/isodoc/section_spec.rb +2 -2
 - data/spec/isodoc/terms_spec.rb +1 -1
 - data/spec/spec_helper.rb +5 -1
 - metadata +6 -7
 - data/.github/workflows/macos.yml +0 -38
 - data/.github/workflows/ubuntu.yml +0 -56
 - data/.github/workflows/windows.yml +0 -40
 
    
        data/metanorma-iec.gemspec
    CHANGED
    
    | 
         @@ -29,7 +29,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
              spec.add_dependency "ruby-jing"
         
     | 
| 
       31 
31 
     | 
    
         
             
              spec.add_dependency "isodoc", "~> 1.2.0"
         
     | 
| 
       32 
     | 
    
         
            -
              spec.add_dependency "metanorma-iso", "~> 1.5. 
     | 
| 
      
 32 
     | 
    
         
            +
              spec.add_dependency "metanorma-iso", "~> 1.5.10"
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
              spec.add_development_dependency "byebug"
         
     | 
| 
       35 
35 
     | 
    
         
             
              spec.add_development_dependency "sassc", "2.4.0"
         
     | 
| 
         @@ -29,6 +29,8 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
              it "converts a blank document" do
         
     | 
| 
       31 
31 
     | 
    
         
             
                FileUtils.rm_f "test.doc"
         
     | 
| 
      
 32 
     | 
    
         
            +
                FileUtils.rm_f "test.html"
         
     | 
| 
      
 33 
     | 
    
         
            +
                FileUtils.rm_f "test.pdf"
         
     | 
| 
       32 
34 
     | 
    
         
             
                expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
         
     | 
| 
       33 
35 
     | 
    
         
             
                  = Document title
         
     | 
| 
       34 
36 
     | 
    
         
             
                  Author
         
     | 
| 
         @@ -40,6 +42,8 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       40 
42 
     | 
    
         
             
            <sections/>
         
     | 
| 
       41 
43 
     | 
    
         
             
            </iec-standard>
         
     | 
| 
       42 
44 
     | 
    
         
             
                OUTPUT
         
     | 
| 
      
 45 
     | 
    
         
            +
                expect(File.exist?("test.pdf")).to be true
         
     | 
| 
      
 46 
     | 
    
         
            +
                expect(File.exist?("test.html")).to be true
         
     | 
| 
       43 
47 
     | 
    
         
             
                expect(File.exist?("test.doc")).to be true
         
     | 
| 
       44 
48 
     | 
    
         
             
                expect(File.exist?("htmlstyle.css")).to be false
         
     | 
| 
       45 
49 
     | 
    
         
             
              end
         
     | 
| 
         @@ -89,7 +93,7 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       89 
93 
     | 
    
         
             
                  :library-ics: 1,2,3
         
     | 
| 
       90 
94 
     | 
    
         
             
                INPUT
         
     | 
| 
       91 
95 
     | 
    
         
             
                       <?xml version="1.0" encoding="UTF-8"?>
         
     | 
| 
       92 
     | 
    
         
            -
                   <iec-standard xmlns="https://www.metanorma.org/ns/iec">
         
     | 
| 
      
 96 
     | 
    
         
            +
                   <iec-standard xmlns="https://www.metanorma.org/ns/iec" type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       93 
97 
     | 
    
         
             
                   <bibdata type="standard">
         
     | 
| 
       94 
98 
     | 
    
         
             
               <title language="en" format="text/plain" type="main">Introduction — Main Title — Title — Title Part</title>
         
     | 
| 
       95 
99 
     | 
    
         
             
               <title language="en" format="text/plain" type="title-intro">Introduction</title>
         
     | 
| 
         @@ -188,7 +192,7 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       188 
192 
     | 
    
         
             
                  :doctype: technical-specification
         
     | 
| 
       189 
193 
     | 
    
         
             
                INPUT
         
     | 
| 
       190 
194 
     | 
    
         
             
                       <?xml version="1.0" encoding="UTF-8"?>
         
     | 
| 
       191 
     | 
    
         
            -
                   <iec-standard xmlns="https://www.metanorma.org/ns/iec">
         
     | 
| 
      
 195 
     | 
    
         
            +
                   <iec-standard xmlns="https://www.metanorma.org/ns/iec" type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       192 
196 
     | 
    
         
             
                   <bibdata type="standard">
         
     | 
| 
       193 
197 
     | 
    
         
             
                     <docidentifier type="ISO">ISO/IEC/IETF/2CDTS 1000-1-1 ED 1</docidentifier>
         
     | 
| 
       194 
198 
     | 
    
         
             
                     <docidentifier type="iso-tc">2000</docidentifier>
         
     | 
| 
         @@ -336,7 +340,7 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       336 
340 
     | 
    
         
             
                  :docnumber: 1000
         
     | 
| 
       337 
341 
     | 
    
         
             
                  :docstage: 50
         
     | 
| 
       338 
342 
     | 
    
         
             
                INPUT
         
     | 
| 
       339 
     | 
    
         
            -
                <iec-standard xmlns="https://www.metanorma.org/ns/iec">
         
     | 
| 
      
 343 
     | 
    
         
            +
                <iec-standard xmlns="https://www.metanorma.org/ns/iec"  type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       340 
344 
     | 
    
         
             
            <bibdata type="standard">
         
     | 
| 
       341 
345 
     | 
    
         
             
              <docidentifier type="ISO">IEC/FDIS 1000 ED 1</docidentifier>
         
     | 
| 
       342 
346 
     | 
    
         
             
              <docnumber>1000</docnumber>
         
     | 
| 
         @@ -400,7 +404,7 @@ OUTPUT 
     | 
|
| 
       400 
404 
     | 
    
         
             
                  :docnumber: 1000
         
     | 
| 
       401 
405 
     | 
    
         
             
                  :docstage: 60
         
     | 
| 
       402 
406 
     | 
    
         
             
                INPUT
         
     | 
| 
       403 
     | 
    
         
            -
            <iec-standard xmlns="https://www.metanorma.org/ns/iec">
         
     | 
| 
      
 407 
     | 
    
         
            +
            <iec-standard xmlns="https://www.metanorma.org/ns/iec" type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       404 
408 
     | 
    
         
             
            <bibdata type="standard">
         
     | 
| 
       405 
409 
     | 
    
         
             
              <docidentifier type="ISO">IEC 1000 ED 1</docidentifier>
         
     | 
| 
       406 
410 
     | 
    
         
             
              <docnumber>1000</docnumber>
         
     | 
| 
         @@ -465,7 +469,7 @@ OUTPUT 
     | 
|
| 
       465 
469 
     | 
    
         
             
                  :docstage: 60
         
     | 
| 
       466 
470 
     | 
    
         
             
                  :docsubstage: 00
         
     | 
| 
       467 
471 
     | 
    
         
             
                INPUT
         
     | 
| 
       468 
     | 
    
         
            -
            <iec-standard xmlns="https://www.metanorma.org/ns/iec">
         
     | 
| 
      
 472 
     | 
    
         
            +
            <iec-standard xmlns="https://www.metanorma.org/ns/iec" type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       469 
473 
     | 
    
         
             
            <bibdata type="standard">
         
     | 
| 
       470 
474 
     | 
    
         
             
              <docidentifier type="ISO">IEC 1000 ED 1</docidentifier>
         
     | 
| 
       471 
475 
     | 
    
         
             
              <docnumber>1000</docnumber>
         
     | 
| 
         @@ -527,6 +531,7 @@ OUTPUT 
     | 
|
| 
       527 
531 
     | 
    
         
             
                  :docfile: test.adoc
         
     | 
| 
       528 
532 
     | 
    
         
             
                  :novalid:
         
     | 
| 
       529 
533 
     | 
    
         
             
                  :no-isobib:
         
     | 
| 
      
 534 
     | 
    
         
            +
                  :no-pdf:
         
     | 
| 
       530 
535 
     | 
    
         
             
                INPUT
         
     | 
| 
       531 
536 
     | 
    
         
             
                html = File.read("test.html", encoding: "utf-8")
         
     | 
| 
       532 
537 
     | 
    
         
             
                expect(html).to match(%r{<script>})
         
     | 
| 
         @@ -540,6 +545,7 @@ OUTPUT 
     | 
|
| 
       540 
545 
     | 
    
         
             
                  :docfile: test.adoc
         
     | 
| 
       541 
546 
     | 
    
         
             
                  :novalid:
         
     | 
| 
       542 
547 
     | 
    
         
             
                  :no-isobib:
         
     | 
| 
      
 548 
     | 
    
         
            +
                  :no-pdf:
         
     | 
| 
       543 
549 
     | 
    
         
             
                INPUT
         
     | 
| 
       544 
550 
     | 
    
         
             
                html = File.read("test.html", encoding: "utf-8")
         
     | 
| 
       545 
551 
     | 
    
         
             
                expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
         
     | 
| 
         @@ -556,6 +562,7 @@ OUTPUT 
     | 
|
| 
       556 
562 
     | 
    
         
             
                  :novalid:
         
     | 
| 
       557 
563 
     | 
    
         
             
                  :no-isobib:
         
     | 
| 
       558 
564 
     | 
    
         
             
                  :script: Hans
         
     | 
| 
      
 565 
     | 
    
         
            +
                  :no-pdf:
         
     | 
| 
       559 
566 
     | 
    
         
             
                INPUT
         
     | 
| 
       560 
567 
     | 
    
         
             
                html = File.read("test.html", encoding: "utf-8")
         
     | 
| 
       561 
568 
     | 
    
         
             
                expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
         
     | 
| 
         @@ -575,6 +582,7 @@ OUTPUT 
     | 
|
| 
       575 
582 
     | 
    
         
             
                  :body-font: Zapf Chancery
         
     | 
| 
       576 
583 
     | 
    
         
             
                  :header-font: Comic Sans
         
     | 
| 
       577 
584 
     | 
    
         
             
                  :monospace-font: Andale Mono
         
     | 
| 
      
 585 
     | 
    
         
            +
                  :no-pdf:
         
     | 
| 
       578 
586 
     | 
    
         
             
                INPUT
         
     | 
| 
       579 
587 
     | 
    
         
             
                html = File.read("test.html", encoding: "utf-8")
         
     | 
| 
       580 
588 
     | 
    
         
             
                expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: Andale Mono;]m)
         
     | 
| 
         @@ -591,6 +599,7 @@ OUTPUT 
     | 
|
| 
       591 
599 
     | 
    
         
             
                  :docfile: test.adoc
         
     | 
| 
       592 
600 
     | 
    
         
             
                  :novalid:
         
     | 
| 
       593 
601 
     | 
    
         
             
                  :no-isobib:
         
     | 
| 
      
 602 
     | 
    
         
            +
                  :no-pdf:
         
     | 
| 
       594 
603 
     | 
    
         
             
                INPUT
         
     | 
| 
       595 
604 
     | 
    
         
             
                word = File.read("test.doc", encoding: "utf-8")
         
     | 
| 
       596 
605 
     | 
    
         
             
                html = File.read("test.html", encoding: "utf-8")
         
     | 
| 
         @@ -34,7 +34,19 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       34 
34 
     | 
    
         
             
                     <p id="_">For the purposes of this document, 
         
     | 
| 
       35 
35 
     | 
    
         
             
                   the following terms and definitions apply.</p>
         
     | 
| 
       36 
36 
     | 
    
         
             
                    #{TERMS_BOILERPLATE}
         
     | 
| 
       37 
     | 
    
         
            -
                     <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub>< 
     | 
| 
      
 37 
     | 
    
         
            +
                     <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
         
     | 
| 
      
 38 
     | 
    
         
            +
              <mi>t</mi>
         
     | 
| 
      
 39 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 40 
     | 
    
         
            +
            <mrow>
         
     | 
| 
      
 41 
     | 
    
         
            +
              <mn>90</mn>
         
     | 
| 
      
 42 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 43 
     | 
    
         
            +
            </msub></math></stem></preferred><admitted><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
         
     | 
| 
      
 44 
     | 
    
         
            +
              <mi>t</mi>
         
     | 
| 
      
 45 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 46 
     | 
    
         
            +
            <mrow>
         
     | 
| 
      
 47 
     | 
    
         
            +
              <mn>91</mn>
         
     | 
| 
      
 48 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 49 
     | 
    
         
            +
            </msub></math></stem></admitted>
         
     | 
| 
       38 
50 
     | 
    
         
             
                   <definition><p id="_">Time</p></definition></term>
         
     | 
| 
       39 
51 
     | 
    
         
             
                   </terms>
         
     | 
| 
       40 
52 
     | 
    
         
             
                   </sections>
         
     | 
| 
         @@ -70,8 +82,20 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       70 
82 
     | 
    
         
             
                     <p id="_">For the purposes of this document, 
         
     | 
| 
       71 
83 
     | 
    
         
             
                   the following terms and definitions apply.</p>
         
     | 
| 
       72 
84 
     | 
    
         
             
                    #{TERMS_BOILERPLATE}
         
     | 
| 
       73 
     | 
    
         
            -
                     <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub>< 
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
      
 85 
     | 
    
         
            +
                     <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
         
     | 
| 
      
 86 
     | 
    
         
            +
              <mi>t</mi>
         
     | 
| 
      
 87 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 88 
     | 
    
         
            +
            <mrow>
         
     | 
| 
      
 89 
     | 
    
         
            +
              <mn>90</mn>
         
     | 
| 
      
 90 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 91 
     | 
    
         
            +
            </msub></math></stem></preferred><definition><formula id="_">
         
     | 
| 
      
 92 
     | 
    
         
            +
                     <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
         
     | 
| 
      
 93 
     | 
    
         
            +
              <mi>t</mi>
         
     | 
| 
      
 94 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 95 
     | 
    
         
            +
            <mrow>
         
     | 
| 
      
 96 
     | 
    
         
            +
              <mi>A</mi>
         
     | 
| 
      
 97 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 98 
     | 
    
         
            +
            </msub></math></stem>
         
     | 
| 
       75 
99 
     | 
    
         
             
                   </formula><p id="_">This paragraph is extraneous</p></definition>
         
     | 
| 
       76 
100 
     | 
    
         
             
                   </term>
         
     | 
| 
       77 
101 
     | 
    
         
             
                   </terms>
         
     | 
| 
         @@ -257,9 +281,9 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       257 
281 
     | 
    
         
             
                   <sections><table id="_">
         
     | 
| 
       258 
282 
     | 
    
         
             
                     <tbody>
         
     | 
| 
       259 
283 
     | 
    
         
             
                       <tr>
         
     | 
| 
       260 
     | 
    
         
            -
                         <td align="left">a</td>
         
     | 
| 
       261 
     | 
    
         
            -
                         <td align="left">b</td>
         
     | 
| 
       262 
     | 
    
         
            -
                         <td align="left">c</td>
         
     | 
| 
      
 284 
     | 
    
         
            +
                         <td valign="top" align="left">a</td>
         
     | 
| 
      
 285 
     | 
    
         
            +
                         <td valign="top" align="left">b</td>
         
     | 
| 
      
 286 
     | 
    
         
            +
                         <td valign="top" align="left">c</td>
         
     | 
| 
       263 
287 
     | 
    
         
             
                       </tr>
         
     | 
| 
       264 
288 
     | 
    
         
             
                     </tbody>
         
     | 
| 
       265 
289 
     | 
    
         
             
                   <dl id="_">
         
     | 
| 
         @@ -18,7 +18,7 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       18 
18 
     | 
    
         
             
                  * [[[A,B]]], _TITLE_
         
     | 
| 
       19 
19 
     | 
    
         
             
                INPUT
         
     | 
| 
       20 
20 
     | 
    
         
             
            <?xml version='1.0' encoding='UTF-8'?>
         
     | 
| 
       21 
     | 
    
         
            -
                   <iec-standard xmlns='https://www.metanorma.org/ns/iec'>
         
     | 
| 
      
 21 
     | 
    
         
            +
                   <iec-standard xmlns='https://www.metanorma.org/ns/iec' type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       22 
22 
     | 
    
         
             
                     <bibdata type='standard'>
         
     | 
| 
       23 
23 
     | 
    
         
             
                       <docidentifier type='ISO'>IEC 60050 ED 1</docidentifier>
         
     | 
| 
       24 
24 
     | 
    
         
             
                       <docnumber>60050</docnumber>
         
     | 
| 
         @@ -96,7 +96,7 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       96 
96 
     | 
    
         
             
                  === General
         
     | 
| 
       97 
97 
     | 
    
         
             
                  ==== Term 1
         
     | 
| 
       98 
98 
     | 
    
         
             
            INPUT
         
     | 
| 
       99 
     | 
    
         
            -
            <iec-standard xmlns='https://www.metanorma.org/ns/iec'>
         
     | 
| 
      
 99 
     | 
    
         
            +
            <iec-standard xmlns='https://www.metanorma.org/ns/iec' type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       100 
100 
     | 
    
         
             
              <bibdata type='standard'>
         
     | 
| 
       101 
101 
     | 
    
         
             
                <docidentifier type='ISO'>IEC 60050 ED 1</docidentifier>
         
     | 
| 
       102 
102 
     | 
    
         
             
                <docnumber>60050</docnumber>
         
     | 
| 
         @@ -174,7 +174,7 @@ OUTPUT 
     | 
|
| 
       174 
174 
     | 
    
         
             
                  Text
         
     | 
| 
       175 
175 
     | 
    
         
             
                INPUT
         
     | 
| 
       176 
176 
     | 
    
         
             
                <?xml version='1.0' encoding='UTF-8'?>
         
     | 
| 
       177 
     | 
    
         
            -
                <iec-standard xmlns='https://www.metanorma.org/ns/iec'>
         
     | 
| 
      
 177 
     | 
    
         
            +
                <iec-standard xmlns='https://www.metanorma.org/ns/iec' type="semantic" version="#{Metanorma::Iec::VERSION}">
         
     | 
| 
       178 
178 
     | 
    
         
             
                     <bibdata type='standard'>
         
     | 
| 
       179 
179 
     | 
    
         
             
                       <docidentifier type='ISO'>IEC 60050 ED 1</docidentifier>
         
     | 
| 
       180 
180 
     | 
    
         
             
                       <docnumber>60050</docnumber>
         
     | 
| 
         @@ -28,7 +28,13 @@ RSpec.describe Asciidoctor::Iec do 
     | 
|
| 
       28 
28 
     | 
    
         
             
                   ‘single quote’
         
     | 
| 
       29 
29 
     | 
    
         
             
                   super<sup>script</sup>
         
     | 
| 
       30 
30 
     | 
    
         
             
                   sub<sub>script</sub>
         
     | 
| 
       31 
     | 
    
         
            -
                   <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub>< 
     | 
| 
      
 31 
     | 
    
         
            +
                   <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
         
     | 
| 
      
 32 
     | 
    
         
            +
              <mi>a</mi>
         
     | 
| 
      
 33 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 34 
     | 
    
         
            +
            <mrow>
         
     | 
| 
      
 35 
     | 
    
         
            +
              <mn>90</mn>
         
     | 
| 
      
 36 
     | 
    
         
            +
            </mrow>
         
     | 
| 
      
 37 
     | 
    
         
            +
            </msub></math></stem>
         
     | 
| 
       32 
38 
     | 
    
         
             
                   <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub> <mrow> <mrow> <mi mathvariant="bold-italic">F</mi> </mrow> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">Α</mi> </mrow> </mrow> </msub> </math></stem>
         
     | 
| 
       33 
39 
     | 
    
         
             
                   <admitted>alt</admitted>
         
     | 
| 
       34 
40 
     | 
    
         
             
                   <deprecates>deprecated</deprecates>
         
     | 
| 
         @@ -2,10 +2,30 @@ require "spec_helper" 
     | 
|
| 
       2 
2 
     | 
    
         
             
            require "fileutils"
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            RSpec.describe Asciidoctor::Iec do
         
     | 
| 
      
 5 
     | 
    
         
            +
              context "when xref_error.adoc compilation" do
         
     | 
| 
      
 6 
     | 
    
         
            +
                around do |example|
         
     | 
| 
      
 7 
     | 
    
         
            +
                  FileUtils.rm_f "spec/assets/xref_error.err"
         
     | 
| 
      
 8 
     | 
    
         
            +
                  example.run
         
     | 
| 
      
 9 
     | 
    
         
            +
                  Dir["spec/assets/xref_error*"].each do |file|
         
     | 
| 
      
 10 
     | 
    
         
            +
                    next if file.match?(/adoc$/)
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                    FileUtils.rm_f(file)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                it "generates error file" do
         
     | 
| 
      
 17 
     | 
    
         
            +
                  expect do
         
     | 
| 
      
 18 
     | 
    
         
            +
                    Metanorma::Compile
         
     | 
| 
      
 19 
     | 
    
         
            +
                      .new
         
     | 
| 
      
 20 
     | 
    
         
            +
                      .compile("spec/assets/xref_error.adoc", type: "iec")
         
     | 
| 
      
 21 
     | 
    
         
            +
                  end.to(change { File.exist?("spec/assets/xref_error.err") }
         
     | 
| 
      
 22 
     | 
    
         
            +
                          .from(false).to(true))
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
       5 
25 
     | 
    
         | 
| 
       6 
26 
     | 
    
         
             
            it "Warns of illegal doctype" do
         
     | 
| 
       7 
27 
     | 
    
         
             
                FileUtils.rm_f "test.err"
         
     | 
| 
       8 
     | 
    
         
            -
                Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true) 
     | 
| 
      
 28 
     | 
    
         
            +
                Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true)
         
     | 
| 
       9 
29 
     | 
    
         
             
              = Document title
         
     | 
| 
       10 
30 
     | 
    
         
             
              Author
         
     | 
| 
       11 
31 
     | 
    
         
             
              :docfile: test.adoc
         
     | 
    
        data/spec/isodoc/blocks_spec.rb
    CHANGED
    
    
    
        data/spec/isodoc/i18n_spec.rb
    CHANGED
    
    | 
         @@ -73,10 +73,10 @@ RSpec.describe IsoDoc do 
     | 
|
| 
       73 
73 
     | 
    
         
             
                    INPUT
         
     | 
| 
       74 
74 
     | 
    
         | 
| 
       75 
75 
     | 
    
         
             
                    presxml = <<~OUTPUT
         
     | 
| 
       76 
     | 
    
         
            -
                    <iso-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
      
 76 
     | 
    
         
            +
                    <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
         
     | 
| 
       77 
77 
     | 
    
         
             
                   <bibdata>
         
     | 
| 
       78 
78 
     | 
    
         
             
                   <docnumber>1</docnumber>
         
     | 
| 
       79 
     | 
    
         
            -
                   <language>en</language>
         
     | 
| 
      
 79 
     | 
    
         
            +
                   <language current="true">en</language>
         
     | 
| 
       80 
80 
     | 
    
         
             
                   </bibdata>
         
     | 
| 
       81 
81 
     | 
    
         
             
                   <preface>
         
     | 
| 
       82 
82 
     | 
    
         
             
                   <foreword obligation="informative">
         
     | 
| 
         @@ -216,12 +216,12 @@ RSpec.describe IsoDoc do 
     | 
|
| 
       216 
216 
     | 
    
         
             
                     </body>
         
     | 
| 
       217 
217 
     | 
    
         
             
                   </html>
         
     | 
| 
       218 
218 
     | 
    
         
             
                OUTPUT
         
     | 
| 
       219 
     | 
    
         
            -
             
     | 
| 
      
 219 
     | 
    
         
            +
                    expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
       220 
220 
     | 
    
         
             
                expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
         
     | 
| 
       221 
221 
     | 
    
         
             
              end
         
     | 
| 
       222 
222 
     | 
    
         | 
| 
       223 
223 
     | 
    
         
             
              it "defaults to English" do
         
     | 
| 
       224 
     | 
    
         
            -
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
         
     | 
| 
      
 224 
     | 
    
         
            +
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
         
     | 
| 
       225 
225 
     | 
    
         
             
                  <iso-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
       226 
226 
     | 
    
         
             
                  <bibdata>
         
     | 
| 
       227 
227 
     | 
    
         
             
                  <language>tlh</language>
         
     | 
| 
         @@ -289,9 +289,9 @@ RSpec.describe IsoDoc do 
     | 
|
| 
       289 
289 
     | 
    
         
             
                   </bibliography>
         
     | 
| 
       290 
290 
     | 
    
         
             
                   </iso-standard>
         
     | 
| 
       291 
291 
     | 
    
         
             
                    INPUT
         
     | 
| 
       292 
     | 
    
         
            -
                    <iso-standard xmlns='http://riboseinc.com/isoxml'>
         
     | 
| 
      
 292 
     | 
    
         
            +
                    <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
         
     | 
| 
       293 
293 
     | 
    
         
             
                     <bibdata>
         
     | 
| 
       294 
     | 
    
         
            -
                       <language>tlh</language>
         
     | 
| 
      
 294 
     | 
    
         
            +
                       <language current="true">tlh</language>
         
     | 
| 
       295 
295 
     | 
    
         
             
                     </bibdata>
         
     | 
| 
       296 
296 
     | 
    
         
             
                     <preface>
         
     | 
| 
       297 
297 
     | 
    
         
             
                       <foreword obligation='informative'>
         
     | 
| 
         @@ -498,9 +498,9 @@ RSpec.describe IsoDoc do 
     | 
|
| 
       498 
498 
     | 
    
         
             
                    INPUT
         
     | 
| 
       499 
499 
     | 
    
         | 
| 
       500 
500 
     | 
    
         
             
                    presxml = <<~OUTPUT
         
     | 
| 
       501 
     | 
    
         
            -
            <iso-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
      
 501 
     | 
    
         
            +
            <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
         
     | 
| 
       502 
502 
     | 
    
         
             
                   <bibdata>
         
     | 
| 
       503 
     | 
    
         
            -
                   <language>fr</language>
         
     | 
| 
      
 503 
     | 
    
         
            +
                   <language current="true">fr</language>
         
     | 
| 
       504 
504 
     | 
    
         
             
                   </bibdata>
         
     | 
| 
       505 
505 
     | 
    
         
             
                   <preface>
         
     | 
| 
       506 
506 
     | 
    
         
             
                   <foreword obligation="informative">
         
     | 
| 
         @@ -641,7 +641,7 @@ RSpec.describe IsoDoc do 
     | 
|
| 
       641 
641 
     | 
    
         
             
                     </body>
         
     | 
| 
       642 
642 
     | 
    
         
             
                   </html>
         
     | 
| 
       643 
643 
     | 
    
         
             
                OUTPUT
         
     | 
| 
       644 
     | 
    
         
            -
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
      
 644 
     | 
    
         
            +
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
       645 
645 
     | 
    
         
             
                expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
         
     | 
| 
       646 
646 
     | 
    
         
             
              end
         
     | 
| 
       647 
647 
     | 
    
         | 
    
        data/spec/isodoc/iev_spec.rb
    CHANGED
    
    | 
         @@ -22,7 +22,7 @@ RSpec.describe IsoDoc do 
     | 
|
| 
       22 
22 
     | 
    
         
             
                   INPUT
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                   presxml = <<~OUTPUT
         
     | 
| 
       25 
     | 
    
         
            -
                   <iso-standard xmlns='http://riboseinc.com/isoxml'>
         
     | 
| 
      
 25 
     | 
    
         
            +
                   <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
         
     | 
| 
       26 
26 
     | 
    
         
             
              <bibdata>
         
     | 
| 
       27 
27 
     | 
    
         
             
                <docidentifier type='iso'>IEC/PWI 60050-871 ED 2</docidentifier>
         
     | 
| 
       28 
28 
     | 
    
         
             
                <docnumber>60050</docnumber>
         
     | 
| 
         @@ -64,7 +64,7 @@ OUTPUT 
     | 
|
| 
       64 
64 
     | 
    
         
             
              </body>
         
     | 
| 
       65 
65 
     | 
    
         
             
            </html>
         
     | 
| 
       66 
66 
     | 
    
         
             
                   OUTPUT
         
     | 
| 
       67 
     | 
    
         
            -
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
      
 67 
     | 
    
         
            +
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
       68 
68 
     | 
    
         
             
                expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
         
     | 
| 
       69 
69 
     | 
    
         
             
              end
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
         @@ -142,7 +142,7 @@ OUTPUT 
     | 
|
| 
       142 
142 
     | 
    
         
             
                   </iec-standard>
         
     | 
| 
       143 
143 
     | 
    
         
             
                   INPUT
         
     | 
| 
       144 
144 
     | 
    
         
             
                   presxml = <<~OUTPUT
         
     | 
| 
       145 
     | 
    
         
            -
                   <iec-standard xmlns='https://www.metanorma.org/ns/iec'>
         
     | 
| 
      
 145 
     | 
    
         
            +
                   <iec-standard xmlns='https://www.metanorma.org/ns/iec' type="presentation">
         
     | 
| 
       146 
146 
     | 
    
         
             
                     <bibdata type='standard'>
         
     | 
| 
       147 
147 
     | 
    
         
             
                       <docidentifier type='iso'>IEC 60050 ED 1</docidentifier>
         
     | 
| 
       148 
148 
     | 
    
         
             
                       <docnumber>60050</docnumber>
         
     | 
| 
         @@ -160,11 +160,11 @@ OUTPUT 
     | 
|
| 
       160 
160 
     | 
    
         
             
                           <abbreviation>IEC</abbreviation>
         
     | 
| 
       161 
161 
     | 
    
         
             
                         </organization>
         
     | 
| 
       162 
162 
     | 
    
         
             
                       </contributor>
         
     | 
| 
       163 
     | 
    
         
            -
                       <language>en</language>
         
     | 
| 
       164 
     | 
    
         
            -
                       <script>Latn</script>
         
     | 
| 
      
 163 
     | 
    
         
            +
                       <language current="true">en</language>
         
     | 
| 
      
 164 
     | 
    
         
            +
                       <script current="true">Latn</script>
         
     | 
| 
       165 
165 
     | 
    
         
             
                       <status>
         
     | 
| 
       166 
     | 
    
         
            -
                         <stage>60</stage>
         
     | 
| 
       167 
     | 
    
         
            -
                         <substage>60</substage>
         
     | 
| 
      
 166 
     | 
    
         
            +
                         <stage language="">60</stage>
         
     | 
| 
      
 167 
     | 
    
         
            +
                         <substage language="">60</substage>
         
     | 
| 
       168 
168 
     | 
    
         
             
                       </status>
         
     | 
| 
       169 
169 
     | 
    
         
             
                       <copyright>
         
     | 
| 
       170 
170 
     | 
    
         
             
                         <from>2020</from>
         
     | 
| 
         @@ -176,7 +176,7 @@ OUTPUT 
     | 
|
| 
       176 
176 
     | 
    
         
             
                         </owner>
         
     | 
| 
       177 
177 
     | 
    
         
             
                       </copyright>
         
     | 
| 
       178 
178 
     | 
    
         
             
                       <ext>
         
     | 
| 
       179 
     | 
    
         
            -
                         <doctype>article</doctype>
         
     | 
| 
      
 179 
     | 
    
         
            +
                         <doctype language="">article</doctype>
         
     | 
| 
       180 
180 
     | 
    
         
             
                         <editorialgroup>
         
     | 
| 
       181 
181 
     | 
    
         
             
                           <technical-committee/>
         
     | 
| 
       182 
182 
     | 
    
         
             
                           <subcommittee/>
         
     | 
| 
         @@ -222,16 +222,12 @@ OUTPUT 
     | 
|
| 
       222 
222 
     | 
    
         
             
                  <div>
         
     | 
| 
       223 
223 
     | 
    
         
             
              <h1>1  Normative References</h1>
         
     | 
| 
       224 
224 
     | 
    
         
             
              <p id='_'>There are no normative references in this document.</p>
         
     | 
| 
       225 
     | 
    
         
            -
              <p id='A' class='NormRef'>
         
     | 
| 
       226 
     | 
    
         
            -
              B,
         
     | 
| 
       227 
     | 
    
         
            -
              <i>TITLE</i>
         
     | 
| 
       228 
     | 
    
         
            -
            </p>
         
     | 
| 
       229 
225 
     | 
    
         
             
            </div>
         
     | 
| 
       230 
226 
     | 
    
         
             
                </div>
         
     | 
| 
       231 
227 
     | 
    
         
             
              </body>
         
     | 
| 
       232 
228 
     | 
    
         
             
            </html>
         
     | 
| 
       233 
229 
     | 
    
         
             
            OUTPUT
         
     | 
| 
       234 
     | 
    
         
            -
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
      
 230 
     | 
    
         
            +
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
       235 
231 
     | 
    
         
             
                expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
         
     | 
| 
       236 
232 
     | 
    
         
             
              end
         
     | 
| 
       237 
233 
     | 
    
         | 
| 
         @@ -294,7 +290,7 @@ OUTPUT 
     | 
|
| 
       294 
290 
     | 
    
         
             
            INPUT
         
     | 
| 
       295 
291 
     | 
    
         | 
| 
       296 
292 
     | 
    
         
             
            presxml = <<~INPUT
         
     | 
| 
       297 
     | 
    
         
            -
                <iso-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
      
 293 
     | 
    
         
            +
                <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
         
     | 
| 
       298 
294 
     | 
    
         
             
                 <bibdata type='standard'>
         
     | 
| 
       299 
295 
     | 
    
         
             
                       <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
         
     | 
| 
       300 
296 
     | 
    
         
             
                       <docnumber>60050</docnumber>
         
     | 
| 
         @@ -445,7 +441,7 @@ html = <<~OUTPUT 
     | 
|
| 
       445 
441 
     | 
    
         
             
              </body>
         
     | 
| 
       446 
442 
     | 
    
         
             
            </html>
         
     | 
| 
       447 
443 
     | 
    
         
             
                OUTPUT
         
     | 
| 
       448 
     | 
    
         
            -
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
      
 444 
     | 
    
         
            +
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
       449 
445 
     | 
    
         
             
                expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
         
     | 
| 
       450 
446 
     | 
    
         
             
            end
         
     | 
| 
       451 
447 
     | 
    
         | 
| 
         @@ -477,7 +473,7 @@ end 
     | 
|
| 
       477 
473 
     | 
    
         
             
            </iso-standard>
         
     | 
| 
       478 
474 
     | 
    
         
             
                INPUT
         
     | 
| 
       479 
475 
     | 
    
         
             
                presxml = <<~OUTPUT
         
     | 
| 
       480 
     | 
    
         
            -
                <iso-standard xmlns='http://riboseinc.com/isoxml'>
         
     | 
| 
      
 476 
     | 
    
         
            +
                <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
         
     | 
| 
       481 
477 
     | 
    
         
             
              <bibdata type='standard'>
         
     | 
| 
       482 
478 
     | 
    
         
             
                <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
         
     | 
| 
       483 
479 
     | 
    
         
             
                <docnumber>60050</docnumber>
         
     | 
| 
         @@ -513,7 +509,7 @@ end 
     | 
|
| 
       513 
509 
     | 
    
         
             
              </sections>
         
     | 
| 
       514 
510 
     | 
    
         
             
            </iso-standard>
         
     | 
| 
       515 
511 
     | 
    
         
             
            OUTPUT
         
     | 
| 
       516 
     | 
    
         
            -
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
      
 512 
     | 
    
         
            +
                expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
         
     | 
| 
       517 
513 
     | 
    
         
             
                IsoDoc::Iec::WordConvert.new({}).convert("test", presxml, false)
         
     | 
| 
       518 
514 
     | 
    
         
             
                word = File.read("test.doc").sub(/^.*<div class="WordSection3">/m, '<div class="WordSection3">').
         
     | 
| 
       519 
515 
     | 
    
         
             
                  sub(%r{<br clear="all" style="page-break-before:left;mso-break-type:section-break"/>.*$}m, "")
         
     | 
    
        data/spec/isodoc/inline_spec.rb
    CHANGED
    
    | 
         @@ -185,7 +185,7 @@ expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", <<~"INP 
     | 
|
| 
       185 
185 
     | 
    
         
             
                </iso-standard>
         
     | 
| 
       186 
186 
     | 
    
         
             
                INPUT
         
     | 
| 
       187 
187 
     | 
    
         
             
            <?xml version='1.0'?>
         
     | 
| 
       188 
     | 
    
         
            -
                   <iso-standard xmlns='http://riboseinc.com/isoxml'>
         
     | 
| 
      
 188 
     | 
    
         
            +
                   <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
         
     | 
| 
       189 
189 
     | 
    
         
             
                     <preface>
         
     | 
| 
       190 
190 
     | 
    
         
             
                       <foreword>
         
     | 
| 
       191 
191 
     | 
    
         
             
                         <p>
         
     | 
| 
         @@ -7,7 +7,7 @@ RSpec.describe IsoDoc::Iec::Metadata do 
     | 
|
| 
       7 
7 
     | 
    
         
             
                arr = c.convert_init(<<~"INPUT", "test", false)
         
     | 
| 
       8 
8 
     | 
    
         
             
                <iec-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
       9 
9 
     | 
    
         
             
                INPUT
         
     | 
| 
       10 
     | 
    
         
            -
                expect( 
     | 
| 
      
 10 
     | 
    
         
            +
                expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil)).to_s.gsub(/, :/, ",\n:")).to be_equivalent_to <<~"OUTPUT"
         
     | 
| 
       11 
11 
     | 
    
         
             
                <iso-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
       12 
12 
     | 
    
         
             
                <bibdata type="standard">
         
     | 
| 
       13 
13 
     | 
    
         
             
                <title type="title-intro" language="en" format="text/plain">Cereals and pulses</title>
         
     | 
| 
         @@ -76,12 +76,11 @@ INPUT 
     | 
|
| 
       76 
76 
     | 
    
         
             
            {:accesseddate=>"2012",
         
     | 
| 
       77 
77 
     | 
    
         
             
            :activateddate=>"2013",
         
     | 
| 
       78 
78 
     | 
    
         
             
            :agency=>"ISO",
         
     | 
| 
       79 
     | 
    
         
            -
            : 
     | 
| 
       80 
     | 
    
         
            -
            : 
     | 
| 
      
 79 
     | 
    
         
            +
            :circulateddate=>"XXX",
         
     | 
| 
      
 80 
     | 
    
         
            +
            :confirmeddate=>"XXX",
         
     | 
| 
      
 81 
     | 
    
         
            +
            :copieddate=>"XXX",
         
     | 
| 
       81 
82 
     | 
    
         
             
            :createddate=>"2010–2011",
         
     | 
| 
       82 
83 
     | 
    
         
             
            :docnumber=>"ISO/PreCD3 17301-1",
         
     | 
| 
       83 
     | 
    
         
            -
            :docnumber_lang=>nil,
         
     | 
| 
       84 
     | 
    
         
            -
            :docnumber_reference=>nil,
         
     | 
| 
       85 
84 
     | 
    
         
             
            :docnumeric=>"1730",
         
     | 
| 
       86 
85 
     | 
    
         
             
            :docsubtitle=>"Céréales et légumineuses — Spécification et méthodes d'essai — Partie 1: Riz",
         
     | 
| 
       87 
86 
     | 
    
         
             
            :docsubtitleintro=>"Céréales et légumineuses",
         
     | 
| 
         @@ -94,21 +93,23 @@ INPUT 
     | 
|
| 
       94 
93 
     | 
    
         
             
            :doctitlepart=>"Rice",
         
     | 
| 
       95 
94 
     | 
    
         
             
            :doctitlepartlabel=>"Part 1",
         
     | 
| 
       96 
95 
     | 
    
         
             
            :doctype=>"International Standard",
         
     | 
| 
      
 96 
     | 
    
         
            +
            :doctype_display=>"International Standard",
         
     | 
| 
       97 
97 
     | 
    
         
             
            :docyear=>"2016",
         
     | 
| 
       98 
98 
     | 
    
         
             
            :draft=>"0.4",
         
     | 
| 
       99 
99 
     | 
    
         
             
            :draftinfo=>" (draft 0.4, 2016-05-01)",
         
     | 
| 
       100 
100 
     | 
    
         
             
            :edition=>"2",
         
     | 
| 
       101 
101 
     | 
    
         
             
            :editorialgroup=>["TC 34", "SC 4", "WG 3"],
         
     | 
| 
       102 
     | 
    
         
            -
            : 
     | 
| 
       103 
     | 
    
         
            -
            : 
     | 
| 
      
 102 
     | 
    
         
            +
            :implementeddate=>"XXX",
         
     | 
| 
      
 103 
     | 
    
         
            +
            :issueddate=>"XXX",
         
     | 
| 
      
 104 
     | 
    
         
            +
            :lang=>"en",
         
     | 
| 
       104 
105 
     | 
    
         
             
            :obsoleteddate=>"2014",
         
     | 
| 
       105 
     | 
    
         
            -
            :obsoletes=>nil,
         
     | 
| 
       106 
     | 
    
         
            -
            :obsoletes_part=>nil,
         
     | 
| 
       107 
106 
     | 
    
         
             
            :publisheddate=>"2011",
         
     | 
| 
       108 
107 
     | 
    
         
             
            :publisher=>"International Organization for Standardization",
         
     | 
| 
      
 108 
     | 
    
         
            +
            :receiveddate=>"XXX",
         
     | 
| 
       109 
109 
     | 
    
         
             
            :revdate=>"2016-05-01",
         
     | 
| 
       110 
110 
     | 
    
         
             
            :revdate_monthyear=>"May 2016",
         
     | 
| 
       111 
111 
     | 
    
         
             
            :sc=>"SC 4",
         
     | 
| 
      
 112 
     | 
    
         
            +
            :script=>"Latn",
         
     | 
| 
       112 
113 
     | 
    
         
             
            :secretariat=>"GB",
         
     | 
| 
       113 
114 
     | 
    
         
             
            :stage=>"35",
         
     | 
| 
       114 
115 
     | 
    
         
             
            :stage_int=>35,
         
     | 
| 
         @@ -116,7 +117,12 @@ INPUT 
     | 
|
| 
       116 
117 
     | 
    
         
             
            :statusabbr=>"3CD",
         
     | 
| 
       117 
118 
     | 
    
         
             
            :tc=>"TC 34",
         
     | 
| 
       118 
119 
     | 
    
         
             
            :tc_docnumber=>["17301"],
         
     | 
| 
      
 120 
     | 
    
         
            +
            :transmitteddate=>"XXX",
         
     | 
| 
      
 121 
     | 
    
         
            +
            :unchangeddate=>"XXX",
         
     | 
| 
       119 
122 
     | 
    
         
             
            :unpublished=>true,
         
     | 
| 
      
 123 
     | 
    
         
            +
            :updateddate=>"XXX",
         
     | 
| 
      
 124 
     | 
    
         
            +
            :vote_endeddate=>"XXX",
         
     | 
| 
      
 125 
     | 
    
         
            +
            :vote_starteddate=>"XXX",
         
     | 
| 
       120 
126 
     | 
    
         
             
            :wg=>"WG 3"}
         
     | 
| 
       121 
127 
     | 
    
         
             
            OUTPUT
         
     | 
| 
       122 
128 
     | 
    
         
             
              end
         
     | 
| 
         @@ -126,7 +132,7 @@ OUTPUT 
     | 
|
| 
       126 
132 
     | 
    
         
             
                arr = c.convert_init(<<~"INPUT", "test", false)
         
     | 
| 
       127 
133 
     | 
    
         
             
                <iso-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
       128 
134 
     | 
    
         
             
                INPUT
         
     | 
| 
       129 
     | 
    
         
            -
                expect( 
     | 
| 
      
 135 
     | 
    
         
            +
                expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil)).to_s.gsub(/, :/, ",\n:")).to be_equivalent_to <<~"OUTPUT"
         
     | 
| 
       130 
136 
     | 
    
         
             
                <iso-standard xmlns="http://riboseinc.com/isoxml">
         
     | 
| 
       131 
137 
     | 
    
         
             
                <bibdata type="standard">
         
     | 
| 
       132 
138 
     | 
    
         
             
              <title>
         
     | 
| 
         @@ -196,13 +202,13 @@ OUTPUT 
     | 
|
| 
       196 
202 
     | 
    
         
             
            </bibdata>
         
     | 
| 
       197 
203 
     | 
    
         
             
            </iso-standard>
         
     | 
| 
       198 
204 
     | 
    
         
             
            INPUT
         
     | 
| 
       199 
     | 
    
         
            -
            {: 
     | 
| 
       200 
     | 
    
         
            -
            : 
     | 
| 
       201 
     | 
    
         
            -
            : 
     | 
| 
      
 205 
     | 
    
         
            +
            {:accesseddate=>"XXX",
         
     | 
| 
      
 206 
     | 
    
         
            +
            :agency=>"ISO/IEC",
         
     | 
| 
      
 207 
     | 
    
         
            +
            :circulateddate=>"XXX",
         
     | 
| 
      
 208 
     | 
    
         
            +
            :confirmeddate=>"XXX",
         
     | 
| 
      
 209 
     | 
    
         
            +
            :copieddate=>"XXX",
         
     | 
| 
      
 210 
     | 
    
         
            +
            :createddate=>"XXX",
         
     | 
| 
       202 
211 
     | 
    
         
             
            :docnumber=>"ISO/IEC/CD 17301-1-3",
         
     | 
| 
       203 
     | 
    
         
            -
            :docnumber_lang=>nil,
         
     | 
| 
       204 
     | 
    
         
            -
            :docnumber_reference=>nil,
         
     | 
| 
       205 
     | 
    
         
            -
            :docnumeric=>nil,
         
     | 
| 
       206 
212 
     | 
    
         
             
            :docsubtitle=>"Céréales et légumineuses — Spécification et méthodes d'essai — Partie 1–3: Riz",
         
     | 
| 
       207 
213 
     | 
    
         
             
            :docsubtitleintro=>"Céréales et légumineuses",
         
     | 
| 
       208 
214 
     | 
    
         
             
            :docsubtitlemain=>"Spécification et méthodes d'essai",
         
     | 
| 
         @@ -214,27 +220,34 @@ INPUT 
     | 
|
| 
       214 
220 
     | 
    
         
             
            :doctitlepart=>"Rice",
         
     | 
| 
       215 
221 
     | 
    
         
             
            :doctitlepartlabel=>"Part 1–3",
         
     | 
| 
       216 
222 
     | 
    
         
             
            :doctype=>"Technical Report",
         
     | 
| 
      
 223 
     | 
    
         
            +
            :doctype_display=>"Technical Report",
         
     | 
| 
       217 
224 
     | 
    
         
             
            :docyear=>"2016",
         
     | 
| 
       218 
     | 
    
         
            -
            :draft=>nil,
         
     | 
| 
       219 
     | 
    
         
            -
            :draftinfo=>"",
         
     | 
| 
       220 
     | 
    
         
            -
            :edition=>nil,
         
     | 
| 
       221 
225 
     | 
    
         
             
            :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"],
         
     | 
| 
       222 
226 
     | 
    
         
             
            :ics=>"1.2.3, 1.2.3",
         
     | 
| 
       223 
     | 
    
         
            -
            : 
     | 
| 
      
 227 
     | 
    
         
            +
            :implementeddate=>"XXX",
         
     | 
| 
      
 228 
     | 
    
         
            +
            :issueddate=>"XXX",
         
     | 
| 
      
 229 
     | 
    
         
            +
            :lang=>"en",
         
     | 
| 
      
 230 
     | 
    
         
            +
            :obsoleteddate=>"XXX",
         
     | 
| 
       224 
231 
     | 
    
         
             
            :obsoletes=>"IEC 8121",
         
     | 
| 
       225 
232 
     | 
    
         
             
            :obsoletes_part=>"3.1",
         
     | 
| 
      
 233 
     | 
    
         
            +
            :publisheddate=>"XXX",
         
     | 
| 
       226 
234 
     | 
    
         
             
            :publisher=>"International Organization for Standardization and International Electrotechnical Commission",
         
     | 
| 
       227 
     | 
    
         
            -
            : 
     | 
| 
       228 
     | 
    
         
            -
            :revdate_monthyear=>nil,
         
     | 
| 
      
 235 
     | 
    
         
            +
            :receiveddate=>"XXX",
         
     | 
| 
       229 
236 
     | 
    
         
             
            :sc=>"DEF 4",
         
     | 
| 
       230 
     | 
    
         
            -
            : 
     | 
| 
      
 237 
     | 
    
         
            +
            :script=>"Latn",
         
     | 
| 
      
 238 
     | 
    
         
            +
            :secretariat=>"XXX",
         
     | 
| 
       231 
239 
     | 
    
         
             
            :stage=>"50",
         
     | 
| 
       232 
240 
     | 
    
         
             
            :stage_int=>50,
         
     | 
| 
       233 
241 
     | 
    
         
             
            :stageabbr=>"FDIS",
         
     | 
| 
       234 
242 
     | 
    
         
             
            :statusabbr=>"CFDIS",
         
     | 
| 
       235 
243 
     | 
    
         
             
            :tc=>"ABC 34",
         
     | 
| 
       236 
244 
     | 
    
         
             
            :tc_docnumber=>["17301"],
         
     | 
| 
      
 245 
     | 
    
         
            +
            :transmitteddate=>"XXX",
         
     | 
| 
      
 246 
     | 
    
         
            +
            :unchangeddate=>"XXX",
         
     | 
| 
       237 
247 
     | 
    
         
             
            :unpublished=>true,
         
     | 
| 
      
 248 
     | 
    
         
            +
            :updateddate=>"XXX",
         
     | 
| 
      
 249 
     | 
    
         
            +
            :vote_endeddate=>"XXX",
         
     | 
| 
      
 250 
     | 
    
         
            +
            :vote_starteddate=>"XXX",
         
     | 
| 
       238 
251 
     | 
    
         
             
            :wg=>"GHI 3"}
         
     | 
| 
       239 
252 
     | 
    
         
             
            OUTPUT
         
     | 
| 
       240 
253 
     | 
    
         
             
              end
         
     |