metanorma-standoc 2.1.0 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
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>