metanorma-standoc 2.1.0 → 2.1.3

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metanorma/standoc/base.rb +3 -1
  3. data/lib/metanorma/standoc/biblio.rng +134 -39
  4. data/lib/metanorma/standoc/blocks.rb +8 -6
  5. data/lib/metanorma/standoc/blocks_notes.rb +3 -0
  6. data/lib/metanorma/standoc/cleanup.rb +1 -0
  7. data/lib/metanorma/standoc/cleanup_footnotes.rb +14 -9
  8. data/lib/metanorma/standoc/cleanup_inline.rb +17 -0
  9. data/lib/metanorma/standoc/cleanup_reqt.rb +1 -1
  10. data/lib/metanorma/standoc/cleanup_terms.rb +3 -1
  11. data/lib/metanorma/standoc/cleanup_text.rb +9 -4
  12. data/lib/metanorma/standoc/cleanup_xref.rb +2 -1
  13. data/lib/metanorma/standoc/converter.rb +2 -0
  14. data/lib/metanorma/standoc/inline.rb +2 -1
  15. data/lib/metanorma/standoc/isodoc.rng +16 -0
  16. data/lib/metanorma/standoc/lists.rb +8 -3
  17. data/lib/metanorma/standoc/macros.rb +31 -4
  18. data/lib/metanorma/standoc/macros_form.rb +1 -1
  19. data/lib/metanorma/standoc/macros_note.rb +1 -6
  20. data/lib/metanorma/standoc/ref_sect.rb +2 -1
  21. data/lib/metanorma/standoc/reqt.rb +5 -3
  22. data/lib/metanorma/standoc/section.rb +1 -1
  23. data/lib/metanorma/standoc/version.rb +1 -1
  24. data/metanorma-standoc.gemspec +2 -2
  25. data/spec/metanorma/base_spec.rb +41 -5
  26. data/spec/metanorma/blocks_spec.rb +53 -1
  27. data/spec/metanorma/cleanup_sections_spec.rb +5 -5
  28. data/spec/metanorma/cleanup_spec.rb +6 -6
  29. data/spec/metanorma/cleanup_terms_spec.rb +1 -1
  30. data/spec/metanorma/inline_spec.rb +3 -3
  31. data/spec/metanorma/lists_spec.rb +10 -4
  32. data/spec/metanorma/macros_spec.rb +21 -12
  33. data/spec/metanorma/refs_spec.rb +112 -118
  34. data/spec/metanorma/table_spec.rb +24 -6
  35. data/spec/spec_helper.rb +1 -1
  36. data/spec/vcr_cassettes/bsi16341.yml +69 -69
  37. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +89 -89
  38. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +12 -12
  39. data/spec/vcr_cassettes/hide_refs.yml +55 -55
  40. data/spec/vcr_cassettes/isobib_get_123.yml +14 -14
  41. data/spec/vcr_cassettes/isobib_get_123_1.yml +28 -28
  42. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +35 -35
  43. data/spec/vcr_cassettes/isobib_get_123_2001.yml +14 -14
  44. data/spec/vcr_cassettes/isobib_get_124.yml +12 -12
  45. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +228 -52
  46. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +56 -58
  47. data/spec/vcr_cassettes/std-link.yml +17 -17
  48. metadata +9 -10
  49. data/docs/quickstart.adoc +0 -375
@@ -18,15 +18,10 @@ module Metanorma
18
18
  (document.find_by context: :paragraph).each do |para|
19
19
  next unless /^TODO: /.match? para.lines[0]
20
20
 
21
- parent = para.parent
22
21
  para.set_attr("name", "todo")
23
22
  para.set_attr("caption", "TODO")
24
23
  para.lines[0].sub!(/^TODO: /, "")
25
- todo = Asciidoctor::Block
26
- .new(parent, :admonition, attributes: para.attributes,
27
- source: para.lines,
28
- content_model: :compound)
29
- parent.blocks[parent.blocks.index(para)] = todo
24
+ para.context = :admonition
30
25
  end
31
26
  end
32
27
  end
@@ -84,7 +84,8 @@ module Metanorma
84
84
  if ref[:code].nil? || ref[:no_year] || @bibdb.nil?
85
85
  res << [ref, idx, nil]
86
86
  else
87
- @bibdb.fetch_async(ref[:code], ref[:year], ref) do |doc|
87
+ @bibdb.fetch_async(HTMLEntities.new.decode(ref[:code]),
88
+ ref[:year], ref) do |doc|
88
89
  res << [ref, idx, doc]
89
90
  end
90
91
  end
@@ -64,14 +64,16 @@ module Metanorma
64
64
  def requirement_elems(node, out)
65
65
  node.title and out.title { |t| t << node.title }
66
66
  a = node.attr("label") and out.label do |l|
67
- l << a
67
+ l << out.text(a)
68
68
  end
69
69
  a = node.attr("subject") and csv_split(a)&.each do |subj|
70
- out.subject { |s| s << subj }
70
+ out.subject { |s| s << out.text(subj) }
71
71
  end
72
72
  a = HTMLEntities.new.decode(node.attr("inherit")) and
73
73
  csv_split(a)&.each do |i|
74
- out.inherit { |inh| inh << i }
74
+ out.inherit do |inh|
75
+ inh << HTMLEntities.new.encode(i, :hexadecimal)
76
+ end
75
77
  end
76
78
  classif = node.attr("classification") and
77
79
  requirement_classification(classif, out)
@@ -152,7 +152,7 @@ module Metanorma
152
152
  attrs[:bibitem] = true if node.option? "bibitem"
153
153
  attrs[:level] = node.attr("level")
154
154
  set_obligation(attrs, node)
155
- xml.send "clause", **attr_code(attrs) do |xml_section|
155
+ xml.send :clause, **attr_code(attrs) do |xml_section|
156
156
  xml_section.title { |n| n << node.title } unless node.title.nil?
157
157
  xml_section << node.content
158
158
  end
@@ -19,6 +19,6 @@ module Metanorma
19
19
  end
20
20
 
21
21
  module Standoc
22
- VERSION = "2.1.0".freeze
22
+ VERSION = "2.1.3".freeze
23
23
  end
24
24
  end
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
38
38
  spec.add_dependency "latexmath"
39
39
  spec.add_dependency "mathml2asciimath"
40
40
  spec.add_dependency "metanorma-utils", "~> 1.2.8"
41
- spec.add_dependency "relaton-cli", "~> 1.9.0"
41
+ spec.add_dependency "relaton-cli", "~> 1.11.0"
42
42
  spec.add_dependency "relaton-iev", "~> 1.1.0"
43
43
  spec.add_dependency "unicode2latex", "~> 0.0.1"
44
44
 
@@ -46,7 +46,7 @@ Gem::Specification.new do |spec|
46
46
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
47
47
  spec.add_development_dependency "guard", "~> 2.14"
48
48
  spec.add_development_dependency "guard-rspec", "~> 4.7"
49
- spec.add_development_dependency "metanorma-iso"
49
+ spec.add_development_dependency "metanorma-iso", "~>2.1.2"
50
50
  spec.add_development_dependency "rake", "~> 13.0"
51
51
  spec.add_development_dependency "rspec", "~> 3.6"
52
52
  spec.add_development_dependency "rubocop", "~> 1.5.2"
@@ -6,6 +6,42 @@ RSpec.describe Metanorma::Standoc do
6
6
  expect(Metanorma::Standoc::VERSION).not_to be nil
7
7
  end
8
8
 
9
+ it "processes named entities" do
10
+ FileUtils.rm_f "test.doc"
11
+ input = <<~INPUT
12
+ = Document title
13
+ Author
14
+ :docfile: test.adoc
15
+ :novalid:
16
+ :no-pdf:
17
+
18
+ Text &times; text
19
+ INPUT
20
+ output = <<~OUTPUT
21
+ <standard-document xmlns='https://www.metanorma.org/ns/standoc' type='semantic' version='#{Metanorma::Standoc::VERSION}'>
22
+ <bibdata type='standard'>
23
+ <title language='en' format='text/plain'>Document title</title>
24
+ <language>en</language>
25
+ <script>Latn</script>
26
+ <status>
27
+ <stage>published</stage>
28
+ </status>
29
+ <copyright>
30
+ <from>#{Time.now.year}</from>
31
+ </copyright>
32
+ <ext>
33
+ <doctype>standard</doctype>
34
+ </ext>
35
+ </bibdata>
36
+ <sections>
37
+ <p id='_'>Text × text</p>
38
+ </sections>
39
+ </standard-document>
40
+ OUTPUT
41
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
42
+ .to be_equivalent_to xmlpp(output)
43
+ end
44
+
9
45
  it "assigns default scripts to major languages" do
10
46
  FileUtils.rm_f "test.doc"
11
47
  input = <<~INPUT
@@ -29,7 +65,7 @@ RSpec.describe Metanorma::Standoc do
29
65
  <from>#{Time.now.year}</from>
30
66
  </copyright>
31
67
  <ext>
32
- <doctype>article</doctype>
68
+ <doctype>standard</doctype>
33
69
  </ext>
34
70
  </bibdata>
35
71
  <sections> </sections>
@@ -125,7 +161,7 @@ RSpec.describe Metanorma::Standoc do
125
161
  </owner>
126
162
  </copyright>
127
163
  <ext>
128
- <doctype>article</doctype>
164
+ <doctype>standard</doctype>
129
165
  </ext>
130
166
  </bibdata>
131
167
  <sections> </sections>
@@ -468,7 +504,7 @@ RSpec.describe Metanorma::Standoc do
468
504
  <keyword>b</keyword>
469
505
  <keyword>c</keyword>
470
506
  <ext>
471
- <doctype>article</doctype>
507
+ <doctype>standard</doctype>
472
508
  <editorialgroup>
473
509
  <technical-committee number="1" type="A">TC</technical-committee>
474
510
  <technical-committee number="11" type="A1">TC1</technical-committee>
@@ -789,7 +825,7 @@ RSpec.describe Metanorma::Standoc do
789
825
  <from>#{Time.now.year}</from>
790
826
  </copyright>
791
827
  <ext>
792
- <doctype>article</doctype>
828
+ <doctype>standard</doctype>
793
829
  </ext>
794
830
  </bibdata>
795
831
  <sections> </sections>
@@ -924,7 +960,7 @@ RSpec.describe Metanorma::Standoc do
924
960
  </bibitem>
925
961
  </relation>
926
962
  <ext>
927
- <doctype>article</doctype>
963
+ <doctype>standard</doctype>
928
964
  </ext>
929
965
  </bibdata>
930
966
  <sections> </sections>
@@ -304,7 +304,7 @@ RSpec.describe Metanorma::Standoc do
304
304
  <from>#{Date.today.year}</from>
305
305
  </copyright>
306
306
  <ext>
307
- <doctype>article</doctype>
307
+ <doctype>standard</doctype>
308
308
  </ext>
309
309
  </bibdata>
310
310
  <sections><p id="foreword">Foreword</p>
@@ -440,6 +440,32 @@ RSpec.describe Metanorma::Standoc do
440
440
  .to be_equivalent_to xmlpp(output)
441
441
  end
442
442
 
443
+ it "processes term notes outside of terms sections" do
444
+ input = <<~INPUT
445
+ #{ASCIIDOC_BLANK_HDR}
446
+ == Clause
447
+
448
+ [NOTE%termnote]
449
+ ====
450
+ XYZ
451
+ ====
452
+ INPUT
453
+ output = <<~OUTPUT
454
+ #{BLANK_HDR}
455
+ <sections>
456
+ <clause id='_' inline-header='false' obligation='normative'>
457
+ <title>Clause</title>
458
+ <termnote id='_'>
459
+ <p id='_'>XYZ</p>
460
+ </termnote>
461
+ </clause>
462
+ </sections>
463
+ </standard-document>
464
+ OUTPUT
465
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
466
+ .to be_equivalent_to xmlpp(output)
467
+ end
468
+
443
469
  it "processes term notes as plain notes in nonterm clauses" do
444
470
  input = <<~INPUT
445
471
  #{ASCIIDOC_BLANK_HDR}
@@ -722,6 +748,32 @@ RSpec.describe Metanorma::Standoc do
722
748
  .to be_equivalent_to xmlpp(output)
723
749
  end
724
750
 
751
+ it "processes term examples outside of terms sections" do
752
+ input = <<~INPUT
753
+ #{ASCIIDOC_BLANK_HDR}
754
+ == Clause
755
+
756
+ [%termexample]
757
+ ====
758
+ XYZ
759
+ ====
760
+ INPUT
761
+ output = <<~OUTPUT
762
+ #{BLANK_HDR}
763
+ <sections>
764
+ <clause id='_' inline-header='false' obligation='normative'>
765
+ <title>Clause</title>
766
+ <termexample id='_'>
767
+ <p id='_'>XYZ</p>
768
+ </termexample>
769
+ </clause>
770
+ </sections>
771
+ </standard-document>
772
+ OUTPUT
773
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
774
+ .to be_equivalent_to xmlpp(output)
775
+ end
776
+
725
777
  it "processes term examples as plain examples in nonterm clauses" do
726
778
  input = <<~INPUT
727
779
  #{ASCIIDOC_BLANK_HDR}
@@ -467,7 +467,7 @@ RSpec.describe Metanorma::Standoc do
467
467
  <from>#{Time.now.year}</from>
468
468
  </copyright>
469
469
  <ext>
470
- <doctype>article</doctype>
470
+ <doctype>standard</doctype>
471
471
  </ext>
472
472
  </bibdata>
473
473
  <preface>
@@ -762,7 +762,7 @@ RSpec.describe Metanorma::Standoc do
762
762
  <from>#{Time.now.year}</from>
763
763
  </copyright>
764
764
  <ext>
765
- <doctype>article</doctype>
765
+ <doctype>standard</doctype>
766
766
  </ext>
767
767
  </bibdata>
768
768
  <preface>
@@ -996,7 +996,7 @@ RSpec.describe Metanorma::Standoc do
996
996
  <from>#{Time.now.year}</from>
997
997
  </copyright>
998
998
  <ext>
999
- <doctype>article</doctype>
999
+ <doctype>standard</doctype>
1000
1000
  </ext>
1001
1001
  </bibdata>
1002
1002
  <preface>
@@ -1233,7 +1233,7 @@ RSpec.describe Metanorma::Standoc do
1233
1233
  <from>#{Time.now.year}</from>
1234
1234
  </copyright>
1235
1235
  <ext>
1236
- <doctype>article</doctype>
1236
+ <doctype>standard</doctype>
1237
1237
  </ext>
1238
1238
  </bibdata>
1239
1239
  <preface>
@@ -1467,7 +1467,7 @@ RSpec.describe Metanorma::Standoc do
1467
1467
  <from>#{Time.now.year}</from>
1468
1468
  </copyright>
1469
1469
  <ext>
1470
- <doctype>article</doctype>
1470
+ <doctype>standard</doctype>
1471
1471
  </ext>
1472
1472
  </bibdata>
1473
1473
  <preface>
@@ -1042,7 +1042,7 @@ RSpec.describe Metanorma::Standoc do
1042
1042
  </bibitem>
1043
1043
  </relation>
1044
1044
  <ext>
1045
- <doctype>article</doctype>
1045
+ <doctype>standard</doctype>
1046
1046
  </ext>
1047
1047
  </bibdata>
1048
1048
  <sections> </sections>
@@ -1085,7 +1085,7 @@ RSpec.describe Metanorma::Standoc do
1085
1085
  <from>#{Date.today.year}</from>
1086
1086
  </copyright>
1087
1087
  <ext>
1088
- <doctype>article</doctype>
1088
+ <doctype>standard</doctype>
1089
1089
  </ext>
1090
1090
  </bibdata>
1091
1091
  <boilerplate>
@@ -1281,7 +1281,7 @@ RSpec.describe Metanorma::Standoc do
1281
1281
  <from>#{Time.now.year}</from>
1282
1282
  </copyright>
1283
1283
  <ext>
1284
- <doctype>article</doctype>
1284
+ <doctype>standard</doctype>
1285
1285
  </ext>
1286
1286
  </bibdata>
1287
1287
  <sections>
@@ -1299,7 +1299,7 @@ RSpec.describe Metanorma::Standoc do
1299
1299
  <sourcecode id='L__xf6_we'>
1300
1300
  <name>
1301
1301
  See
1302
- <eref type='inline' bibitemid='L__xf6_wner2016' citeas='L&amp;#xf6;wner et al. 2016'/>
1302
+ <eref type='inline' bibitemid='L__xf6_wner2016' citeas='Löwner et al. 2016'/>
1303
1303
  </name>
1304
1304
  ABC
1305
1305
  </sourcecode>
@@ -1382,7 +1382,7 @@ RSpec.describe Metanorma::Standoc do
1382
1382
  <from>#{Time.now.year}</from>
1383
1383
  </copyright>
1384
1384
  <ext>
1385
- <doctype>article</doctype>
1385
+ <doctype>standard</doctype>
1386
1386
  </ext>
1387
1387
  </bibdata>
1388
1388
  <sections> </sections>
@@ -1836,7 +1836,7 @@ RSpec.describe Metanorma::Standoc do
1836
1836
  <from>#{Time.now.year}</from>
1837
1837
  </copyright>
1838
1838
  <ext>
1839
- <doctype>article</doctype>
1839
+ <doctype>standard</doctype>
1840
1840
  </ext>
1841
1841
  </bibdata>
1842
1842
  <preface>
@@ -1430,7 +1430,7 @@ RSpec.describe Metanorma::Standoc do
1430
1430
  <from>#{Time.now.year}</from>
1431
1431
  </copyright>
1432
1432
  <ext>
1433
- <doctype>article</doctype>
1433
+ <doctype>standard</doctype>
1434
1434
  </ext>
1435
1435
  </bibdata>
1436
1436
  <sections>
@@ -23,7 +23,7 @@ RSpec.describe Metanorma::Standoc do
23
23
  <from>#{Date.today.year}</from>
24
24
  </copyright>
25
25
  <ext>
26
- <doctype>article</doctype>
26
+ <doctype>standard</doctype>
27
27
  </ext>
28
28
  </bibdata>
29
29
  <sections>
@@ -685,13 +685,13 @@ RSpec.describe Metanorma::Standoc do
685
685
  input = <<~INPUT
686
686
  #{ASCIIDOC_BLANK_HDR}
687
687
 
688
- pass-format:rfc,html[<abc>X &gt; Y</abc>]
688
+ pass-format:rfc,html[<abc>X &gt; Y</abc> http://www.example.com (c)]
689
689
  INPUT
690
690
  output = <<~OUTPUT
691
691
  #{BLANK_HDR}
692
692
  <sections>
693
693
  <p id='_'>
694
- <passthrough formats='rfc,html'>&lt;abc&gt;X &gt; Y&lt;/abc&gt;</passthrough>
694
+ <passthrough formats='rfc,html'>&lt;abc&gt;X &gt; Y&lt;/abc&gt; http://www.example.com (c)</passthrough>
695
695
  </p>
696
696
  </sections>
697
697
  </standard-document>
@@ -4,6 +4,7 @@ RSpec.describe Metanorma::Standoc do
4
4
  it "processes simple lists" do
5
5
  output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
6
6
  #{ASCIIDOC_BLANK_HDR}
7
+ .Unordered list
7
8
  * List 1
8
9
  * List 2
9
10
  * List 3
@@ -12,10 +13,12 @@ RSpec.describe Metanorma::Standoc do
12
13
  * [x] also checked
13
14
  * [ ] not checked
14
15
 
16
+ .Ordered list
15
17
  . List A
16
18
  . List B
17
19
  . List C
18
20
 
21
+ .Definition list
19
22
  List D:: List E
20
23
  List F:: List G
21
24
 
@@ -24,6 +27,7 @@ RSpec.describe Metanorma::Standoc do
24
27
  #{BLANK_HDR}
25
28
  <sections>
26
29
  <ul id='_'>
30
+ <name>Unordered list</name>
27
31
  <li>
28
32
  <p id='_'>List 1</p>
29
33
  </li>
@@ -41,7 +45,10 @@ RSpec.describe Metanorma::Standoc do
41
45
  </li>
42
46
  <li uncheckedcheckbox='true' checkedcheckbox='false'>
43
47
  <p id='_'>not checked</p>
48
+ </li>
49
+ </ul>
44
50
  <ol id='_' type='arabic'>
51
+ <name>Ordered list</name>
45
52
  <li>
46
53
  <p id='_'>List A</p>
47
54
  </li>
@@ -50,7 +57,10 @@ RSpec.describe Metanorma::Standoc do
50
57
  </li>
51
58
  <li>
52
59
  <p id='_'>List C</p>
60
+ </li>
61
+ </ol>
53
62
  <dl id='_'>
63
+ <name>Definition list</name>
54
64
  <dt>List D</dt>
55
65
  <dd>
56
66
  <p id='_'>List E</p>
@@ -60,10 +70,6 @@ RSpec.describe Metanorma::Standoc do
60
70
  <p id='_'>List G</p>
61
71
  </dd>
62
72
  </dl>
63
- </li>
64
- </ol>
65
- </li>
66
- </ul>
67
73
  </sections>
68
74
  </standard-document>
69
75
  OUTPUT
@@ -12,6 +12,7 @@ RSpec.describe Metanorma::Standoc do
12
12
  inherit:[<<ref1>>]
13
13
  autonumber:table[3]
14
14
  add:[a <<clause>>] del:[B]
15
+ identifier:[a http://example.com]
15
16
 
16
17
  [bibliography]
17
18
  == Bibliography
@@ -36,6 +37,7 @@ RSpec.describe Metanorma::Standoc do
36
37
  <xref target='clause'/>
37
38
  </add>
38
39
  <del>B</del>
40
+ <identifier>a http://example.com</identifier>
39
41
  </foreword>
40
42
  </preface>
41
43
  <sections> </sections>
@@ -818,7 +820,7 @@ RSpec.describe Metanorma::Standoc do
818
820
  output = <<~OUTPUT
819
821
  #{BLANK_HDR}
820
822
  <sections><review reviewer="(Unknown)" id="_" date="#{Date.today}T00:00:00Z">
821
- <p id="_"/>
823
+ <p id="_">Note1</p>
822
824
  </review>
823
825
  <review reviewer="(Unknown)" id="_" date="#{Date.today}T00:00:00Z">
824
826
  <p id="_">Note2</p>
@@ -1326,7 +1328,7 @@ RSpec.describe Metanorma::Standoc do
1326
1328
  <from>2022</from>
1327
1329
  </copyright>
1328
1330
  <ext>
1329
- <doctype>article</doctype>
1331
+ <doctype>standard</doctype>
1330
1332
  </ext>
1331
1333
  <relation type='derivedFrom'>
1332
1334
  <bibitem>
@@ -1340,7 +1342,7 @@ RSpec.describe Metanorma::Standoc do
1340
1342
  <from>2022</from>
1341
1343
  </copyright>
1342
1344
  <ext>
1343
- <doctype>article</doctype>
1345
+ <doctype>standard</doctype>
1344
1346
  </ext>
1345
1347
  </bibitem>
1346
1348
  </relation>
@@ -1384,7 +1386,7 @@ RSpec.describe Metanorma::Standoc do
1384
1386
  <from>2022</from>
1385
1387
  </copyright>
1386
1388
  <ext>
1387
- <doctype>article</doctype>
1389
+ <doctype>standard</doctype>
1388
1390
  </ext>
1389
1391
  <relation type='derivedFrom'>
1390
1392
  <bibitem>
@@ -1398,7 +1400,7 @@ RSpec.describe Metanorma::Standoc do
1398
1400
  <from>2022</from>
1399
1401
  </copyright>
1400
1402
  <ext>
1401
- <doctype>article</doctype>
1403
+ <doctype>standard</doctype>
1402
1404
  </ext>
1403
1405
  </bibitem>
1404
1406
  </relation>
@@ -1436,7 +1438,7 @@ RSpec.describe Metanorma::Standoc do
1436
1438
  <from>2022</from>
1437
1439
  </copyright>
1438
1440
  <ext>
1439
- <doctype>article</doctype>
1441
+ <doctype>standard</doctype>
1440
1442
  </ext>
1441
1443
  <relation type='derivedFrom'>
1442
1444
  <bibitem>
@@ -1450,7 +1452,7 @@ RSpec.describe Metanorma::Standoc do
1450
1452
  <from>2022</from>
1451
1453
  </copyright>
1452
1454
  <ext>
1453
- <doctype>article</doctype>
1455
+ <doctype>standard</doctype>
1454
1456
  </ext>
1455
1457
  <relation type='derivedFrom'>
1456
1458
  <bibitem>
@@ -1464,7 +1466,7 @@ RSpec.describe Metanorma::Standoc do
1464
1466
  <from>2022</from>
1465
1467
  </copyright>
1466
1468
  <ext>
1467
- <doctype>article</doctype>
1469
+ <doctype>standard</doctype>
1468
1470
  </ext>
1469
1471
  <relation type='derivedFrom'>
1470
1472
  <bibitem>
@@ -1478,7 +1480,7 @@ RSpec.describe Metanorma::Standoc do
1478
1480
  <from>2022</from>
1479
1481
  </copyright>
1480
1482
  <ext>
1481
- <doctype>article</doctype>
1483
+ <doctype>standard</doctype>
1482
1484
  </ext>
1483
1485
  </bibitem>
1484
1486
  </relation>
@@ -1494,7 +1496,7 @@ RSpec.describe Metanorma::Standoc do
1494
1496
  <from>2022</from>
1495
1497
  </copyright>
1496
1498
  <ext>
1497
- <doctype>article</doctype>
1499
+ <doctype>standard</doctype>
1498
1500
  </ext>
1499
1501
  </bibitem>
1500
1502
  </relation>
@@ -1557,7 +1559,7 @@ RSpec.describe Metanorma::Standoc do
1557
1559
  <from>2022</from>
1558
1560
  </copyright>
1559
1561
  <ext>
1560
- <doctype>article</doctype>
1562
+ <doctype>standard</doctype>
1561
1563
  </ext>
1562
1564
  <relation type='derivedFrom'>
1563
1565
  <bibitem>
@@ -1607,12 +1609,19 @@ RSpec.describe Metanorma::Standoc do
1607
1609
  </owner>
1608
1610
  </copyright>
1609
1611
  <ext>
1610
- <doctype>article</doctype>
1612
+ <doctype>standard</doctype>
1611
1613
  <editorialgroup>
1614
+ <agency>ISO</agency>
1612
1615
  <technical-committee/>
1613
1616
  <subcommittee/>
1614
1617
  <workgroup/>
1615
1618
  </editorialgroup>
1619
+ <approvalgroup>
1620
+ <agency>ISO</agency>
1621
+ <technical-committee/>
1622
+ <subcommittee/>
1623
+ <workgroup/>
1624
+ </approvalgroup>
1616
1625
  <stagename>International standard</stagename>
1617
1626
  </ext>
1618
1627
  </bibitem>