metanorma-iso 2.1.1 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/lib/html2doc/lists.rb +145 -10
  3. data/lib/isodoc/iso/base_convert.rb +10 -0
  4. data/lib/isodoc/iso/html/html_iso_titlepage.html +2 -0
  5. data/lib/isodoc/iso/html/isodoc-dis.css +173 -257
  6. data/lib/isodoc/iso/html/isodoc-dis.scss +173 -249
  7. data/lib/isodoc/iso/html/isodoc.css +38 -13
  8. data/lib/isodoc/iso/html/isodoc.scss +38 -12
  9. data/lib/isodoc/iso/html/style-human.css +14 -1
  10. data/lib/isodoc/iso/html/style-human.scss +10 -1
  11. data/lib/isodoc/iso/html/style-iso.css +35 -23
  12. data/lib/isodoc/iso/html/style-iso.scss +31 -23
  13. data/lib/isodoc/iso/html/word_iso_intro-dis.html +1 -6
  14. data/lib/isodoc/iso/html/word_iso_titlepage-dis.html +24 -13
  15. data/lib/isodoc/iso/html/word_iso_titlepage-prf.html +58 -0
  16. data/lib/isodoc/iso/html/word_iso_titlepage.html +6 -2
  17. data/lib/isodoc/iso/html_convert.rb +5 -0
  18. data/lib/isodoc/iso/i18n-en.yaml +32 -4
  19. data/lib/isodoc/iso/i18n-fr.yaml +29 -3
  20. data/lib/isodoc/iso/i18n-ru.yaml +32 -4
  21. data/lib/isodoc/iso/i18n-zh-Hans.yaml +32 -3
  22. data/lib/isodoc/iso/i18n.rb +1 -1
  23. data/lib/isodoc/iso/iso.amendment.xsl +750 -307
  24. data/lib/isodoc/iso/iso.international-standard.xsl +750 -307
  25. data/lib/isodoc/iso/metadata.rb +63 -63
  26. data/lib/isodoc/iso/presentation_bibdata.rb +74 -0
  27. data/lib/isodoc/iso/presentation_xml_convert.rb +15 -4
  28. data/lib/isodoc/iso/presentation_xref.rb +8 -2
  29. data/lib/isodoc/iso/sections.rb +1 -1
  30. data/lib/isodoc/iso/word_cleanup.rb +3 -0
  31. data/lib/isodoc/iso/word_convert.rb +6 -3
  32. data/lib/isodoc/iso/word_dis_cleanup.rb +243 -0
  33. data/lib/isodoc/iso/word_dis_convert.rb +47 -108
  34. data/lib/isodoc/iso/xref.rb +34 -6
  35. data/lib/metanorma/iso/base.rb +14 -1
  36. data/lib/metanorma/iso/biblio.rng +134 -39
  37. data/lib/metanorma/iso/boilerplate-fr.xml +3 -0
  38. data/lib/metanorma/iso/boilerplate-ru.xml +3 -0
  39. data/lib/metanorma/iso/boilerplate.xml +3 -0
  40. data/lib/metanorma/iso/cleanup.rb +53 -13
  41. data/lib/metanorma/iso/front.rb +38 -6
  42. data/lib/metanorma/iso/front_id.rb +2 -0
  43. data/lib/metanorma/iso/isodoc.rng +32 -0
  44. data/lib/metanorma/iso/isostandard.rng +32 -12
  45. data/lib/metanorma/iso/validate_section.rb +0 -12
  46. data/lib/metanorma/iso/version.rb +1 -1
  47. data/spec/isodoc/amd_spec.rb +4 -30
  48. data/spec/isodoc/blocks_spec.rb +499 -2
  49. data/spec/isodoc/i18n_spec.rb +145 -80
  50. data/spec/isodoc/iso_spec.rb +50 -169
  51. data/spec/isodoc/metadata_spec.rb +223 -83
  52. data/spec/isodoc/postproc_spec.rb +41 -5
  53. data/spec/isodoc/section_spec.rb +9 -9
  54. data/spec/isodoc/word_dis_spec.rb +1332 -146
  55. data/spec/isodoc/xref_spec.rb +87 -13
  56. data/spec/metanorma/amd_spec.rb +39 -23
  57. data/spec/metanorma/base_spec.rb +174 -44
  58. data/spec/metanorma/blocks_spec.rb +21 -0
  59. data/spec/metanorma/cleanup_spec.rb +196 -196
  60. data/spec/metanorma/lists_spec.rb +2 -2
  61. data/spec/metanorma/section_spec.rb +2 -2
  62. data/spec/metanorma/validate_spec.rb +8 -19
  63. data/spec/spec_helper.rb +10 -7
  64. data/spec/vcr_cassettes/withdrawn_iso.yml +30 -30
  65. metadata +6 -8
  66. data/docs/asciiiso-syntax.adoc +0 -307
  67. data/docs/guidance.adoc +0 -487
  68. data/docs/navigation.adoc +0 -23
  69. data/docs/quickstart.adoc +0 -179
  70. data/lib/isodoc/iso/presentation_inline.rb +0 -90
@@ -153,7 +153,7 @@ RSpec.describe IsoDoc do
153
153
  .convert("test", input, true))).to be_equivalent_to xmlpp(output)
154
154
  end
155
155
 
156
- it "cross-references figures (Presentation XML)" do
156
+ it "cross-references figures" do
157
157
  input = <<~INPUT
158
158
  <iso-standard xmlns="http://riboseinc.com/isoxml">
159
159
  <preface>
@@ -299,7 +299,7 @@ RSpec.describe IsoDoc do
299
299
  .convert("test", input, true))).to be_equivalent_to xmlpp(output)
300
300
  end
301
301
 
302
- it "cross-references subfigures (Presentation XML)" do
302
+ it "cross-references subfigures" do
303
303
  input = <<~INPUT
304
304
  <iso-standard xmlns="http://riboseinc.com/isoxml">
305
305
  <preface>
@@ -1501,12 +1501,12 @@ RSpec.describe IsoDoc do
1501
1501
  <preface>
1502
1502
  <foreword displayorder='1'>
1503
1503
  <p>
1504
- <xref target='N'>Clause 1 a)</xref>
1505
- <xref target='note1'>3.1 List 1 a)</xref>
1506
- <xref target='note2'>3.1 List 2 a)</xref>
1504
+ <xref target='N'>1 a)</xref>
1505
+ <xref target='note1'>3.1, List 1 a)</xref>
1506
+ <xref target='note2'>3.1, List 2 a)</xref>
1507
1507
  <xref target='AN'>A.1 a)</xref>
1508
- <xref target='Anote1'>A.2 List 1 a)</xref>
1509
- <xref target='Anote2'>A.2 List 2 a)</xref>
1508
+ <xref target='Anote1'>A.2, List 1 a)</xref>
1509
+ <xref target='Anote2'>A.2, List 2 a)</xref>
1510
1510
  </p>
1511
1511
  </foreword>
1512
1512
  </preface>
@@ -1621,12 +1621,12 @@ RSpec.describe IsoDoc do
1621
1621
  <preface>
1622
1622
  <foreword displayorder='1'>
1623
1623
  <p>
1624
- <xref target='N'>Clause 1 a)</xref>
1625
- <xref target='note1'>Clause 1 a.1)</xref>
1626
- <xref target='note2'>Clause 1 a.1.i)</xref>
1627
- <xref target='AN'>Clause 1 a.1.i.A)</xref>
1628
- <xref target='Anote1'>Clause 1 a.1.i.A.I)</xref>
1629
- <xref target='Anote2'>Clause 1 a.1.i.A.I.a)</xref>
1624
+ <xref target='N'>1 a)</xref>
1625
+ <xref target='note1'>1 a) 1)</xref>
1626
+ <xref target='note2'>1 a) 1) i)</xref>
1627
+ <xref target='AN'>1 a) 1) i) A)</xref>
1628
+ <xref target='Anote1'>1 a) 1) i) A) I)</xref>
1629
+ <xref target='Anote2'>1 a) 1) i) A) I) a)</xref>
1630
1630
  </p>
1631
1631
  </foreword>
1632
1632
  </preface>
@@ -1670,4 +1670,78 @@ RSpec.describe IsoDoc do
1670
1670
  expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({})
1671
1671
  .convert("test", input, true))).to be_equivalent_to xmlpp(output)
1672
1672
  end
1673
+
1674
+ it "conflates cross-references to a split list" do
1675
+ input = <<~INPUT
1676
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1677
+ <preface>
1678
+ <foreword>
1679
+ <p><xref target="Na"/></p>
1680
+ </foreword>
1681
+ </preface>
1682
+ <sections>
1683
+ <clause id="scope" type="scope">
1684
+ <title>Scope</title>
1685
+ <ol id="N1">
1686
+ <li id="Na"><p>A</p></li>
1687
+ <li id="Na1"><p>A</p></li>
1688
+ </ol>
1689
+ <ol id="N2" start="3">
1690
+ <li id="Nb"><p>A</p></li>
1691
+ <li id="Nb1"><p>A</p></li>
1692
+ </ol>
1693
+ <ol id="N3" start="5">
1694
+ <li id="Nc"><p>A</p></li>
1695
+ <li id="Nc1"><p>A</p></li>
1696
+ </ol>
1697
+ </clause>
1698
+ </sections>
1699
+ </iso-standard>
1700
+ INPUT
1701
+ output = <<~OUTPUT
1702
+ <foreword displayorder='1'>
1703
+ <p><xref target='Na'>1 a)</xref></p>
1704
+ </foreword>
1705
+ OUTPUT
1706
+ expect(xmlpp(Nokogiri::XML(IsoDoc::Iso::PresentationXMLConvert.new({})
1707
+ .convert("test", input, true))
1708
+ .at("//xmlns:foreword").to_xml))
1709
+ .to be_equivalent_to xmlpp(output)
1710
+
1711
+ input = <<~INPUT
1712
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1713
+ <preface>
1714
+ <foreword>
1715
+ <p><xref target="Na"/></p>
1716
+ </foreword>
1717
+ </preface>
1718
+ <sections>
1719
+ <clause id="scope" type="scope">
1720
+ <title>Scope</title>
1721
+ <ol id="N1">
1722
+ <li id="Na"><p>A</p></li>
1723
+ <li id="Na1"><p>A</p></li>
1724
+ </ol>
1725
+ <ol id="N2" start="3">
1726
+ <li id="Nb"><p>A</p></li>
1727
+ <li id="Nb1"><p>A</p></li>
1728
+ </ol>
1729
+ <ol id="N3" start="6">
1730
+ <li id="Nc"><p>A</p></li>
1731
+ <li id="Nc1"><p>A</p></li>
1732
+ </ol>
1733
+ </clause>
1734
+ </sections>
1735
+ </iso-standard>
1736
+ INPUT
1737
+ output = <<~OUTPUT
1738
+ <foreword displayorder='1'>
1739
+ <p><xref target='Na'>Clause 1, List 1 a)</xref></p>
1740
+ </foreword>
1741
+ OUTPUT
1742
+ expect(xmlpp(Nokogiri::XML(IsoDoc::Iso::PresentationXMLConvert.new({})
1743
+ .convert("test", input, true))
1744
+ .at("//xmlns:foreword").to_xml))
1745
+ .to be_equivalent_to xmlpp(output)
1746
+ end
1673
1747
  end
@@ -55,7 +55,7 @@ RSpec.describe Metanorma::ISO do
55
55
  === Bibliography Subsection
56
56
  INPUT
57
57
  output = <<~OUTPUT
58
- #{BLANK_HDR.sub(%r{<doctype>article</doctype>}, '<doctype>amendment</doctype>')}
58
+ #{BLANK_HDR.sub(%r{<doctype>standard</doctype>}, '<doctype>amendment</doctype>')}
59
59
  <sections>
60
60
  <clause id="_" obligation="normative">
61
61
  <title>Foreword</title>
@@ -255,6 +255,7 @@ RSpec.describe Metanorma::ISO do
255
255
  <ext>
256
256
  <doctype>amendment</doctype>
257
257
  <editorialgroup>
258
+ <agency>ISO</agency>
258
259
  <technical-committee number="1" type="A">TC</technical-committee>
259
260
  <technical-committee number="11" type="A1">TC1</technical-committee>
260
261
  <subcommittee number="2" type="B">SC</subcommittee>
@@ -263,6 +264,15 @@ RSpec.describe Metanorma::ISO do
263
264
  <workgroup number="31" type="C1">WG1</workgroup>
264
265
  <secretariat>SECRETARIAT</secretariat>
265
266
  </editorialgroup>
267
+ <approvalgroup>
268
+ <agency>ISO</agency>
269
+ <technical-committee number="1" type="A">TC</technical-committee>
270
+ <technical-committee number="11" type="A1">TC1</technical-committee>
271
+ <subcommittee number="2" type="B">SC</subcommittee>
272
+ <subcommittee number="21" type="B1">SC1</subcommittee>
273
+ <workgroup number="3" type="C">WG</workgroup>
274
+ <workgroup number="31" type="C1">WG1</workgroup>
275
+ </approvalgroup>
266
276
  <ics>
267
277
  <code>1</code>
268
278
  </ics>
@@ -341,10 +351,11 @@ RSpec.describe Metanorma::ISO do
341
351
  <ext>
342
352
  <doctype>amendment</doctype>
343
353
  <editorialgroup>
344
- <technical-committee/>
345
- <subcommittee/>
346
- <workgroup/>
354
+ <agency>ISO</agency>
347
355
  </editorialgroup>
356
+ <approvalgroup>
357
+ <agency>ISO</agency>
358
+ </approvalgroup>
348
359
  <structuredidentifier>
349
360
  <project-number amendment="1" part="1">17301</project-number>
350
361
  </structuredidentifier>
@@ -413,10 +424,11 @@ RSpec.describe Metanorma::ISO do
413
424
  <ext>
414
425
  <doctype>amendment</doctype>
415
426
  <editorialgroup>
416
- <technical-committee/>
417
- <subcommittee/>
418
- <workgroup/>
427
+ <agency>ISO</agency>
419
428
  </editorialgroup>
429
+ <approvalgroup>
430
+ <agency>ISO</agency>
431
+ </approvalgroup>
420
432
  <structuredidentifier>
421
433
  <project-number amendment="1" part="1">17301</project-number>
422
434
  </structuredidentifier>
@@ -483,11 +495,12 @@ RSpec.describe Metanorma::ISO do
483
495
  </copyright>
484
496
  <ext>
485
497
  <doctype>amendment</doctype>
486
- <editorialgroup>
487
- <technical-committee/>
488
- <subcommittee/>
489
- <workgroup/>
498
+ <editorialgroup>
499
+ <agency>ISO</agency>
490
500
  </editorialgroup>
501
+ <approvalgroup>
502
+ <agency>ISO</agency>
503
+ </approvalgroup>
491
504
  <structuredidentifier>
492
505
  <project-number amendment="1" part="1">17301</project-number>
493
506
  </structuredidentifier>
@@ -555,11 +568,12 @@ RSpec.describe Metanorma::ISO do
555
568
  </copyright>
556
569
  <ext>
557
570
  <doctype>technical-corrigendum</doctype>
558
- <editorialgroup>
559
- <technical-committee/>
560
- <subcommittee/>
561
- <workgroup/>
571
+ <editorialgroup>
572
+ <agency>ISO</agency>
562
573
  </editorialgroup>
574
+ <approvalgroup>
575
+ <agency>ISO</agency>
576
+ </approvalgroup>
563
577
  <structuredidentifier>
564
578
  <project-number corrigendum="3" part="1">17301</project-number>
565
579
  </structuredidentifier>
@@ -627,11 +641,12 @@ RSpec.describe Metanorma::ISO do
627
641
  </copyright>
628
642
  <ext>
629
643
  <doctype>technical-corrigendum</doctype>
630
- <editorialgroup>
631
- <technical-committee/>
632
- <subcommittee/>
633
- <workgroup/>
644
+ <editorialgroup>
645
+ <agency>ISO</agency>
634
646
  </editorialgroup>
647
+ <approvalgroup>
648
+ <agency>ISO</agency>
649
+ </approvalgroup>
635
650
  <structuredidentifier>
636
651
  <project-number part='1' corrigendum='3'>17301</project-number>
637
652
  </structuredidentifier>
@@ -698,11 +713,12 @@ RSpec.describe Metanorma::ISO do
698
713
  </copyright>
699
714
  <ext>
700
715
  <doctype>technical-corrigendum</doctype>
701
- <editorialgroup>
702
- <technical-committee/>
703
- <subcommittee/>
704
- <workgroup/>
716
+ <editorialgroup>
717
+ <agency>ISO</agency>
705
718
  </editorialgroup>
719
+ <approvalgroup>
720
+ <agency>ISO</agency>
721
+ </approvalgroup>
706
722
  <structuredidentifier>
707
723
  <project-number corrigendum="3" part="1">17301</project-number>
708
724
  </structuredidentifier>
@@ -37,6 +37,25 @@ RSpec.describe Metanorma::ISO do
37
37
  :workgroup-number_2: 31
38
38
  :workgroup-type_2: C1
39
39
  :secretariat: SECRETARIAT
40
+ :approval-technical-committee: TCa
41
+ :approval-technical-committee-number: 1a
42
+ :approval-technical-committee-type: Aa
43
+ :approval-subcommittee: SCa
44
+ :approval-subcommittee-number: 2a
45
+ :approval-subcommittee-type: Ba
46
+ :approval-workgroup: WGa
47
+ :approval-workgroup-number: 3a
48
+ :approval-workgroup-type: Ca
49
+ :approval-technical-committee_2: TC1a
50
+ :approval-technical-committee-number_2: 11a
51
+ :approval-technical-committee-type_2: A1a
52
+ :approval-subcommittee_2: SC1a
53
+ :approval-subcommittee-number_2: 21a
54
+ :approval-subcommittee-type_2: B1a
55
+ :approval-workgroup_2: WG1a
56
+ :approval-workgroup-number_2: 31a
57
+ :approval-workgroup-type_2: C1a
58
+ :approval-agency: ISO/IEC
40
59
  :docstage: 20
41
60
  :docsubstage: 20
42
61
  :iteration: 3
@@ -105,9 +124,10 @@ RSpec.describe Metanorma::ISO do
105
124
  </owner>
106
125
  </copyright>
107
126
  <ext>
108
- <doctype>article</doctype>
127
+ <doctype>standard</doctype>
109
128
  <horizontal>true</horizontal>
110
129
  <editorialgroup>
130
+ <agency>ISO</agency>
111
131
  <technical-committee number="1" type="A">TC</technical-committee>
112
132
  <technical-committee number="11" type="A1">TC1</technical-committee>
113
133
  <subcommittee number="2" type="B">SC</subcommittee>
@@ -116,6 +136,16 @@ RSpec.describe Metanorma::ISO do
116
136
  <workgroup number="31" type="C1">WG1</workgroup>
117
137
  <secretariat>SECRETARIAT</secretariat>
118
138
  </editorialgroup>
139
+ <approvalgroup>
140
+ <agency>ISO</agency>
141
+ <agency>IEC</agency>
142
+ <technical-committee number="1a" type="Aa">TCa</technical-committee>
143
+ <technical-committee number="11a" type="A1a">TC1a</technical-committee>
144
+ <subcommittee number="2a" type="Ba">SCa</subcommittee>
145
+ <subcommittee number="21a" type="B1a">SC1a</subcommittee>
146
+ <workgroup number="3a" type="Ca">WGa</workgroup>
147
+ <workgroup number="31a" type="C1a">WG1a</workgroup>
148
+ </approvalgroup>
119
149
  <ics>
120
150
  <code>1</code>
121
151
  </ics>
@@ -161,6 +191,18 @@ RSpec.describe Metanorma::ISO do
161
191
  :pub-uri: http://www.example.com
162
192
  :docstage:
163
193
  :docsubstage:
194
+ :technical-committee: TC
195
+ :technical-committee-number: 1
196
+ :subcommittee: SC
197
+ :subcommittee-number: 2
198
+ :workgroup: WG
199
+ :workgroup-number: 3
200
+ :approval-technical-committee: TC
201
+ :approval-technical-committee-number: 1
202
+ :approval-subcommittee: SC
203
+ :approval-subcommittee-number: 2
204
+ :approval-workgroup: WG
205
+ :approval-workgroup-number: 3
164
206
  INPUT
165
207
  expect(xmlpp(output.sub(%r{<boilerplate>.*</boilerplate>}m, "")))
166
208
  .to be_equivalent_to xmlpp(<<~"OUTPUT")
@@ -274,11 +316,20 @@ RSpec.describe Metanorma::ISO do
274
316
  </copyright>
275
317
  <ext>
276
318
  <doctype>technical-report</doctype>
277
- <editorialgroup>
278
- <technical-committee/>
279
- <subcommittee/>
280
- <workgroup/>
281
- </editorialgroup>
319
+ <editorialgroup>
320
+ <agency>IEC</agency>
321
+ <agency>IETF</agency>
322
+ <agency>ISO</agency>
323
+ <technical-committee number='1' type='TC'>TC</technical-committee>
324
+ <subcommittee number='2' type='SC'>SC</subcommittee>
325
+ <workgroup number='3' type='WG'>WG</workgroup>
326
+ </editorialgroup>
327
+ <approvalgroup>
328
+ <agency>ISO</agency>
329
+ <technical-committee number='1' type='TC'>TC</technical-committee>
330
+ <subcommittee number='2' type='SC'>SC</subcommittee>
331
+ <workgroup number='3' type='WG'>WG</workgroup>
332
+ </approvalgroup>
282
333
  <structuredidentifier>
283
334
  <project-number part="1" subpart="1">IEC/IETF/ISO 1000</project-number>
284
335
  </structuredidentifier>
@@ -290,6 +341,78 @@ RSpec.describe Metanorma::ISO do
290
341
  OUTPUT
291
342
  end
292
343
 
344
+ it "processes tech specification identifier" do
345
+ output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
346
+ = Document title
347
+ Author
348
+ :docfile: test.adoc
349
+ :nodoc:
350
+ :novalid:
351
+ :no-isobib:
352
+ :docnumber: 1000
353
+ :partnumber: 1-1
354
+ :copyright-year: 2001
355
+ :doctype: technical-specification
356
+ :docstage: 50
357
+ :docsubstage:
358
+ INPUT
359
+ expect(xmlpp(output.sub(%r{<boilerplate>.*</boilerplate>}m, "")))
360
+ .to be_equivalent_to xmlpp(<<~"OUTPUT")
361
+ <iso-standard xmlns='https://www.metanorma.org/ns/iso' type='semantic' version="#{Metanorma::ISO::VERSION}">
362
+ <bibdata type='standard'>
363
+ <docidentifier type='ISO'>ISO/FDTS 1000-1-1</docidentifier>
364
+ <docidentifier type='iso-undated'>ISO/FDTS 1000-1-1</docidentifier>
365
+ <docidentifier type='iso-with-lang'>ISO/FDTS 1000-1-1(E)</docidentifier>
366
+ <docidentifier type='iso-reference'>ISO/FDTS 1000-1-1:2001(E)</docidentifier>
367
+ <docnumber>1000</docnumber>
368
+ <contributor>
369
+ <role type='author'/>
370
+ <organization>
371
+ <name>International Organization for Standardization</name>
372
+ <abbreviation>ISO</abbreviation>
373
+ </organization>
374
+ </contributor>
375
+ <contributor>
376
+ <role type='publisher'/>
377
+ <organization>
378
+ <name>International Organization for Standardization</name>
379
+ <abbreviation>ISO</abbreviation>
380
+ </organization>
381
+ </contributor>
382
+ <language>en</language>
383
+ <script>Latn</script>
384
+ <status>
385
+ <stage abbreviation='FDTS TS'>50</stage>
386
+ <substage>00</substage>
387
+ </status>
388
+ <copyright>
389
+ <from>2001</from>
390
+ <owner>
391
+ <organization>
392
+ <name>International Organization for Standardization</name>
393
+ <abbreviation>ISO</abbreviation>
394
+ </organization>
395
+ </owner>
396
+ </copyright>
397
+ <ext>
398
+ <doctype>technical-specification</doctype>
399
+ <editorialgroup>
400
+ <agency>ISO</agency>
401
+ </editorialgroup>
402
+ <approvalgroup>
403
+ <agency>ISO</agency>
404
+ </approvalgroup>
405
+ <structuredidentifier>
406
+ <project-number part='1' subpart='1'>ISO 1000</project-number>
407
+ </structuredidentifier>
408
+ <stagename>Final draft</stagename>
409
+ </ext>
410
+ </bibdata>
411
+ <sections> </sections>
412
+ </iso-standard>
413
+ OUTPUT
414
+ end
415
+
293
416
  it "processes Russian titles" do
294
417
  output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
295
418
  = Document title
@@ -381,13 +504,14 @@ RSpec.describe Metanorma::ISO do
381
504
  </owner>
382
505
  </copyright>
383
506
  <ext>
384
- <doctype>article</doctype>
507
+ <doctype>standard</doctype>
385
508
  <horizontal>true</horizontal>
386
- <editorialgroup>
387
- <technical-committee/>
388
- <subcommittee/>
389
- <workgroup/>
390
- </editorialgroup>
509
+ <editorialgroup>
510
+ <agency>ISO</agency>
511
+ </editorialgroup>
512
+ <approvalgroup>
513
+ <agency>ISO</agency>
514
+ </approvalgroup>
391
515
  <structuredidentifier>
392
516
  <project-number part='1'>ISO 1000</project-number>
393
517
  </structuredidentifier>
@@ -490,11 +614,12 @@ RSpec.describe Metanorma::ISO do
490
614
  </copyright>
491
615
  <ext>
492
616
  <doctype>this-is-a-doctype</doctype>
493
- <editorialgroup>
494
- <technical-committee/>
495
- <subcommittee/>
496
- <workgroup/>
497
- </editorialgroup>
617
+ <editorialgroup>
618
+ <agency>SD</agency>
619
+ </editorialgroup>
620
+ <approvalgroup>
621
+ <agency>ISO</agency>
622
+ </approvalgroup>
498
623
  <structuredidentifier>
499
624
  <project-number part="1" subpart="1">SD 1000</project-number>
500
625
  </structuredidentifier>
@@ -561,11 +686,12 @@ RSpec.describe Metanorma::ISO do
561
686
  </copyright>
562
687
  <ext>
563
688
  <doctype>international-standard</doctype>
564
- <editorialgroup>
565
- <technical-committee/>
566
- <subcommittee/>
567
- <workgroup/>
568
- </editorialgroup>
689
+ <editorialgroup>
690
+ <agency>ISO</agency>
691
+ </editorialgroup>
692
+ <approvalgroup>
693
+ <agency>ISO</agency>
694
+ </approvalgroup>
569
695
  <structuredidentifier>
570
696
  <project-number>ISO 1000</project-number>
571
697
  </structuredidentifier>
@@ -629,12 +755,13 @@ RSpec.describe Metanorma::ISO do
629
755
  </owner>
630
756
  </copyright>
631
757
  <ext>
632
- <doctype>article</doctype>
633
- <editorialgroup>
634
- <technical-committee/>
635
- <subcommittee/>
636
- <workgroup/>
758
+ <doctype>standard</doctype>
759
+ <editorialgroup>
760
+ <agency>ISO</agency>
637
761
  </editorialgroup>
762
+ <approvalgroup>
763
+ <agency>ISO</agency>
764
+ </approvalgroup>
638
765
  <structuredidentifier>
639
766
  <project-number>ISO 1000</project-number>
640
767
  </structuredidentifier>
@@ -698,12 +825,13 @@ RSpec.describe Metanorma::ISO do
698
825
  </owner>
699
826
  </copyright>
700
827
  <ext>
701
- <doctype>article</doctype>
702
- <editorialgroup>
703
- <technical-committee/>
704
- <subcommittee/>
705
- <workgroup/>
706
- </editorialgroup>
828
+ <doctype>standard</doctype>
829
+ <editorialgroup>
830
+ <agency>ISO</agency>
831
+ </editorialgroup>
832
+ <approvalgroup>
833
+ <agency>ISO</agency>
834
+ </approvalgroup>
707
835
  <structuredidentifier>
708
836
  <project-number>ISO 1000</project-number>
709
837
  </structuredidentifier>
@@ -767,11 +895,12 @@ RSpec.describe Metanorma::ISO do
767
895
  </copyright>
768
896
  <ext>
769
897
  <doctype>directive</doctype>
770
- <editorialgroup>
771
- <technical-committee/>
772
- <subcommittee/>
773
- <workgroup/>
774
- </editorialgroup>
898
+ <editorialgroup>
899
+ <agency>ISO</agency>
900
+ </editorialgroup>
901
+ <approvalgroup>
902
+ <agency>ISO</agency>
903
+ </approvalgroup>
775
904
  <structuredidentifier>
776
905
  <project-number>ISO 1000</project-number>
777
906
  </structuredidentifier>
@@ -1142,12 +1271,13 @@ RSpec.describe Metanorma::ISO do
1142
1271
  </bibitem>
1143
1272
  </relation>
1144
1273
  <ext>
1145
- <doctype>article</doctype>
1146
- <editorialgroup>
1147
- <technical-committee/>
1148
- <subcommittee/>
1149
- <workgroup/>
1150
- </editorialgroup>
1274
+ <doctype>standard</doctype>
1275
+ <editorialgroup>
1276
+ <agency>ISO</agency>
1277
+ </editorialgroup>
1278
+ <approvalgroup>
1279
+ <agency>ISO</agency>
1280
+ </approvalgroup>
1151
1281
  <stagename>International standard</stagename>
1152
1282
  </ext>
1153
1283
  </bibdata>
@@ -228,6 +228,27 @@ RSpec.describe Metanorma::ISO do
228
228
  .to be_equivalent_to xmlpp(output)
229
229
  end
230
230
 
231
+ it "processes editorial notes" do
232
+ input = <<~INPUT
233
+ #{ASCIIDOC_BLANK_HDR}
234
+ [IMPORTANT,type=editorial]
235
+ ====
236
+ Editorial note
237
+ ====
238
+ INPUT
239
+ output = <<~OUTPUT
240
+ #{BLANK_HDR}
241
+ <sections>
242
+ <admonition id="_" type="editorial">
243
+ <p id="_">Editorial note</p>
244
+ </admonition>
245
+ </sections>
246
+ </iso-standard>
247
+ OUTPUT
248
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
249
+ .to be_equivalent_to xmlpp(output)
250
+ end
251
+
231
252
  it "processes complex admonitions with non-Asciidoc names" do
232
253
  input = <<~INPUT
233
254
  #{ASCIIDOC_BLANK_HDR}