isodoc 2.0.8.2 → 2.1.0

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/isodoc.gemspec +4 -2
  3. data/lib/isodoc/convert.rb +1 -1
  4. data/lib/isodoc/function/blocks.rb +0 -39
  5. data/lib/isodoc/function/blocks_example_note.rb +36 -1
  6. data/lib/isodoc/function/inline.rb +4 -0
  7. data/lib/isodoc/function/references.rb +2 -15
  8. data/lib/isodoc/function/section.rb +5 -0
  9. data/lib/isodoc/function/to_word_html.rb +7 -11
  10. data/lib/isodoc/html_function/postprocess.rb +16 -2
  11. data/lib/isodoc/metadata.rb +2 -1
  12. data/lib/isodoc/presentation_function/bibdata.rb +30 -4
  13. data/lib/isodoc/presentation_function/block.rb +13 -1
  14. data/lib/isodoc/presentation_function/section.rb +36 -0
  15. data/lib/isodoc/presentation_xml_convert.rb +7 -2
  16. data/lib/isodoc/version.rb +1 -1
  17. data/lib/isodoc/word_function/postprocess.rb +3 -4
  18. data/lib/isodoc/word_function/postprocess_cover.rb +14 -0
  19. data/lib/isodoc/word_function/table.rb +12 -10
  20. data/lib/isodoc/xref/xref_anchor.rb +1 -1
  21. data/lib/isodoc/xref/xref_counter.rb +4 -1
  22. data/lib/isodoc/xref/xref_gen_seq.rb +3 -3
  23. data/lib/isodoc/xref/xref_sect_gen.rb +34 -36
  24. data/lib/isodoc/xref.rb +19 -8
  25. data/lib/isodoc-yaml/i18n-ar.yaml +9 -0
  26. data/lib/isodoc-yaml/i18n-de.yaml +13 -0
  27. data/lib/isodoc-yaml/i18n-en.yaml +5 -0
  28. data/lib/isodoc-yaml/i18n-es.yaml +11 -0
  29. data/lib/isodoc-yaml/i18n-fr.yaml +12 -1
  30. data/lib/isodoc-yaml/i18n-ru.yaml +13 -0
  31. data/lib/isodoc-yaml/i18n-zh-Hans.yaml +5 -0
  32. data/lib/relaton/render/config.yml +4 -0
  33. data/lib/relaton/render/general.rb +35 -0
  34. data/spec/assets/i18n.yaml +6 -0
  35. data/spec/isodoc/blocks_spec.rb +249 -61
  36. data/spec/isodoc/i18n_spec.rb +266 -197
  37. data/spec/isodoc/inline_spec.rb +80 -106
  38. data/spec/isodoc/metadata_spec.rb +5 -3
  39. data/spec/isodoc/postproc_spec.rb +539 -397
  40. data/spec/isodoc/ref_spec.rb +52 -98
  41. data/spec/isodoc/section_spec.rb +4 -4
  42. data/spec/isodoc/xref_numbering_spec.rb +31 -0
  43. metadata +24 -8
@@ -90,13 +90,13 @@ RSpec.describe IsoDoc do
90
90
  <language current="true">en</language>
91
91
  <script current="true">Latn</script>
92
92
  <status>
93
- <stage language="">published</stage>
93
+ <stage>published</stage>
94
94
  </status>
95
95
  <copyright>
96
96
  <from>2020</from>
97
97
  </copyright>
98
98
  <ext>
99
- <doctype language="">article</doctype>
99
+ <doctype>article</doctype>
100
100
  </ext>
101
101
  </bibdata>
102
102
  <sections>
@@ -247,6 +247,9 @@ RSpec.describe IsoDoc do
247
247
  <iso-standard xmlns="http://riboseinc.com/isoxml">
248
248
  <preface><foreword>
249
249
  <note id="A" keep-with-next="true" keep-lines-together="true">
250
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83e">These results are based on a study carried out on three different types of kernel.</p>
251
+ </note>
252
+ <note id="B" keep-with-next="true" keep-lines-together="true" notag="true" unnumbered="true">
250
253
  <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
251
254
  </note>
252
255
  </foreword></preface>
@@ -257,13 +260,19 @@ RSpec.describe IsoDoc do
257
260
  <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
258
261
  <preface>
259
262
  <foreword displayorder="1">
260
- <note id='A' keep-with-next='true' keep-lines-together='true'>
261
- <name>NOTE</name>
262
- <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
263
- These results are based on a study carried out on three different
264
- types of kernel.
265
- </p>
266
- </note>
263
+ <note id='A' keep-with-next='true' keep-lines-together='true'>
264
+ <name>NOTE 1</name>
265
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83e'>
266
+ These results are based on a study carried out on three different
267
+ types of kernel.
268
+ </p>
269
+ </note>
270
+ <note id='B' keep-with-next='true' keep-lines-together='true' notag='true' unnumbered='true'>
271
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
272
+ These results are based on a study carried out on three different
273
+ types of kernel.
274
+ </p>
275
+ </note>
267
276
  </foreword>
268
277
  </preface>
269
278
  </iso-standard>
@@ -273,10 +282,20 @@ RSpec.describe IsoDoc do
273
282
  <br/>
274
283
  <div>
275
284
  <h1 class="ForewordTitle">Foreword</h1>
276
- <div id="A" class="Note" style="page-break-after: avoid;page-break-inside: avoid;">
277
- <p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
278
- </div>
279
- </div>
285
+ <div id='A' class='Note' style='page-break-after: avoid;page-break-inside: avoid;'>
286
+ <p>
287
+ <span class='note_label'>NOTE 1</span>
288
+ &#160; These results are based on a study carried out on three
289
+ different types of kernel.#{' '}
290
+ </p>
291
+ </div>
292
+ <div id='B' class='Note' style='page-break-after: avoid;page-break-inside: avoid;'>
293
+ <p>
294
+ &#160; These results are based on a study carried out on three
295
+ different types of kernel.#{' '}
296
+ </p>
297
+ </div>
298
+ </div>
280
299
  <p class="zzSTDTitle1"/>
281
300
  </div>
282
301
  </body>
@@ -294,9 +313,22 @@ RSpec.describe IsoDoc do
294
313
  <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
295
314
  <div>
296
315
  <h1 class="ForewordTitle">Foreword</h1>
297
- <div id="A" class="Note" style='page-break-after: avoid;page-break-inside: avoid;'>
298
- <p class="Note"><span class="note_label">NOTE</span><span style="mso-tab-count:1">&#160; </span>These results are based on a study carried out on three different types of kernel.</p>
299
- </div>
316
+ <div id='A' class='Note' style='page-break-after: avoid;page-break-inside: avoid;'>
317
+ <p class='Note'>
318
+ <span class='note_label'>NOTE 1</span>
319
+ <span style='mso-tab-count:1'>&#160; </span>
320
+ These results are based on a study carried out on three different
321
+ types of kernel.#{' '}
322
+ </p>
323
+ </div>
324
+ <div id='B' class='Note' style='page-break-after: avoid;page-break-inside: avoid;'>
325
+ <p class='Note'>
326
+ <span class='note_label'/>
327
+ <span style='mso-tab-count:1'>&#160; </span>
328
+ These results are based on a study carried out on three different
329
+ types of kernel.#{' '}
330
+ </p>
331
+ </div>
300
332
  </div>
301
333
  <p>&#160;</p>
302
334
  </div>
@@ -558,6 +590,101 @@ RSpec.describe IsoDoc do
558
590
  .convert("test", input, true)))).to be_equivalent_to xmlpp(doc)
559
591
  end
560
592
 
593
+ it "converts notes and admonitions intended for coverpage" do
594
+ input = <<~INPUT
595
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
596
+ <preface><foreword>
597
+ <note id="FB" coverpage="true" unnumbered="true"><p>XYZ</p></note>
598
+ <admonition id="FC" coverpage="true" unnumbered="true" type="warning"><p>XYZ</p></admonition>
599
+ </foreword></preface>
600
+ </iso-standard>
601
+ INPUT
602
+ presxml = <<~OUTPUT
603
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
604
+ <preface>
605
+ <foreword displayorder='1'>
606
+ <note id='FB' coverpage='true' unnumbered='true'>
607
+ <name>NOTE</name>
608
+ <p>XYZ</p>
609
+ </note>
610
+ <admonition id='FC' coverpage='true' unnumbered='true' type='warning'>
611
+ <name>WARNING</name>
612
+ <p>XYZ</p>
613
+ </admonition>
614
+ </foreword>
615
+ </preface>
616
+ </iso-standard>
617
+ OUTPUT
618
+ html = <<~OUTPUT
619
+ #{HTML_HDR}
620
+ <br/>
621
+ <div>
622
+ <h1 class='ForewordTitle'>Foreword</h1>
623
+ <div id='FB' class='Note' coverpage='true'>
624
+ <p>
625
+ <span class='note_label'>NOTE</span>
626
+ &#160; XYZ
627
+ </p>
628
+ </div>
629
+ <div id='FC' class='Admonition' coverpage='true'>
630
+ <p class='AdmonitionTitle' style='text-align:center;'>WARNING</p>
631
+ <p>XYZ</p>
632
+ </div>
633
+ </div>
634
+ <p class='zzSTDTitle1'/>
635
+ </div>
636
+ </body>
637
+ </html>
638
+ OUTPUT
639
+ doc = <<~OUTPUT
640
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
641
+ <head>
642
+ <style/>
643
+ </head>
644
+ <body lang='EN-US' link='blue' vlink='#954F72'>
645
+ <div class='WordSection1'>
646
+ <p>&#160;</p>
647
+ </div>
648
+ <p>
649
+ <br clear='all' class='section'/>
650
+ </p>
651
+ <div class='WordSection2'>
652
+ <p>
653
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
654
+ </p>
655
+ <div>
656
+ <h1 class='ForewordTitle'>Foreword</h1>
657
+ <div id='FB' class='Note' coverpage='true'>
658
+ <p class='Note'>
659
+ <span class='note_label'>NOTE</span>
660
+ <span style='mso-tab-count:1'>&#160; </span>
661
+ XYZ
662
+ </p>
663
+ </div>
664
+ <div id='FC' class='Admonition' coverpage='true'>
665
+ <p class='AdmonitionTitle' style='text-align:center;'>WARNING</p>
666
+ <p>XYZ</p>
667
+ </div>
668
+ </div>
669
+ <p>&#160;</p>
670
+ </div>
671
+ <p>
672
+ <br clear='all' class='section'/>
673
+ </p>
674
+ <div class='WordSection3'>
675
+ <p class='zzSTDTitle1'/>
676
+ </div>
677
+ </body>
678
+ </html>
679
+ OUTPUT
680
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({})
681
+ .convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
682
+ expect(xmlpp(strip_guid(IsoDoc::HtmlConvert.new({})
683
+ .convert("test", presxml, true)))).to be_equivalent_to xmlpp(html)
684
+ expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({})
685
+ .convert("test", presxml, true)))).to be_equivalent_to xmlpp(doc)
686
+ end
687
+
561
688
  it "numbers notes in tables and figures separately from notes outside them" do
562
689
  input = <<~INPUT
563
690
  <iso-standard xmlns="http://riboseinc.com/isoxml">
@@ -569,33 +696,33 @@ RSpec.describe IsoDoc do
569
696
  </iso-standard>
570
697
  INPUT
571
698
  output = <<~OUTPUT
572
- <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
573
- <preface>
574
- <foreword displayorder='1'>
575
- <figure id='F'>
576
- <name>Figure 1</name>
577
- <note id='FB'>
578
- <name>NOTE</name>
579
- <p>XYZ</p>
580
- </note>
581
- </figure>
582
- <table id='T'>
583
- <name>Table 1</name>
584
- <note id='TB'>
585
- <name>NOTE</name>
586
- <p>XYZ</p>
587
- </note>
588
- </table>
589
- <p id='A'>
590
- ABC
591
- <note id='B'>
592
- <name>NOTE</name>
593
- <p id='C'>XYZ</p>
594
- </note>
595
- </p>
596
- </foreword>
597
- </preface>
598
- </iso-standard>
699
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
700
+ <preface>
701
+ <foreword displayorder='1'>
702
+ <figure id='F'>
703
+ <name>Figure 1</name>
704
+ <note id='FB'>
705
+ <name>NOTE</name>
706
+ <p>XYZ</p>
707
+ </note>
708
+ </figure>
709
+ <table id='T'>
710
+ <name>Table 1</name>
711
+ <note id='TB'>
712
+ <name>NOTE</name>
713
+ <p>XYZ</p>
714
+ </note>
715
+ </table>
716
+ <p id='A'>
717
+ ABC
718
+ <note id='B'>
719
+ <name>NOTE</name>
720
+ <p id='C'>XYZ</p>
721
+ </note>
722
+ </p>
723
+ </foreword>
724
+ </preface>
725
+ </iso-standard>
599
726
  OUTPUT
600
727
  expect(xmlpp(IsoDoc::PresentationXMLConvert.new({})
601
728
  .convert("test", input, true))).to be_equivalent_to xmlpp(output)
@@ -1281,26 +1408,47 @@ RSpec.describe IsoDoc do
1281
1408
  <preface><foreword>
1282
1409
  <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a" type="caution" keep-with-next="true" keep-lines-together="true">
1283
1410
  <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1411
+ </admonition>
1412
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6b" type="caution" keep-with-next="true" keep-lines-together="true" notag="true">
1413
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1414
+ </admonition>
1415
+ </foreword></preface>
1416
+ </iso-standard>
1417
+ INPUT
1418
+ presxml = <<~INPUT
1419
+ <iso-standard xmlns="http://riboseinc.com/isoxml" type='presentation'>
1420
+ <preface><foreword displayorder="1">
1421
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a" type="caution" keep-with-next="true" keep-lines-together="true">
1422
+ <name>CAUTION</name>
1423
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1424
+ </admonition>
1425
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6b" type="caution" keep-with-next="true" keep-lines-together="true" notag="true">
1426
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1284
1427
  </admonition>
1285
1428
  </foreword></preface>
1286
1429
  </iso-standard>
1287
1430
  INPUT
1288
1431
  output = <<~OUTPUT
1289
1432
  #{HTML_HDR}
1290
- <br/>
1291
- <div>
1292
- <h1 class="ForewordTitle">Foreword</h1>
1293
- <div class="Admonition" id='_70234f78-64e5-4dfc-8b6f-f3f037348b6a' style='page-break-after: avoid;page-break-inside: avoid;'><p class="AdmonitionTitle" style="text-align:center;">CAUTION</p>
1294
- <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1295
- </div>
1296
- </div>
1297
- <p class="zzSTDTitle1"/>
1298
- </div>
1299
- </body>
1300
- </html>
1433
+ <br/>
1434
+ <div>
1435
+ <h1 class="ForewordTitle">Foreword</h1>
1436
+ <div class="Admonition" id='_70234f78-64e5-4dfc-8b6f-f3f037348b6a' style='page-break-after: avoid;page-break-inside: avoid;'><p class="AdmonitionTitle" style="text-align:center;">CAUTION</p>
1437
+ <p id='_e94663cc-2473-4ccc-9a72-983a74d989f2'>Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1438
+ </div>
1439
+ <div id='_70234f78-64e5-4dfc-8b6f-f3f037348b6b' class='Admonition' style='page-break-after: avoid;page-break-inside: avoid;'>
1440
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1441
+ </div>
1442
+ </div>
1443
+ <p class="zzSTDTitle1"/>
1444
+ </div>
1445
+ </body>
1446
+ </html>
1301
1447
  OUTPUT
1448
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({})
1449
+ .convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
1302
1450
  expect(xmlpp(IsoDoc::HtmlConvert.new({})
1303
- .convert("test", input, true))).to be_equivalent_to xmlpp(output)
1451
+ .convert("test", presxml, true))).to be_equivalent_to xmlpp(output)
1304
1452
  end
1305
1453
 
1306
1454
  it "processes admonitions with titles" do
@@ -1310,6 +1458,24 @@ RSpec.describe IsoDoc do
1310
1458
  <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a" type="caution">
1311
1459
  <name>Title</name>
1312
1460
  <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1461
+ </admonition>
1462
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6b" type="caution" notag="true">
1463
+ <name>Title</name>
1464
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1465
+ </admonition>
1466
+ </foreword></preface>
1467
+ </iso-standard>
1468
+ INPUT
1469
+ presxml = <<~INPUT
1470
+ <iso-standard xmlns="http://riboseinc.com/isoxml" type='presentation'>
1471
+ <preface><foreword displayorder="1">
1472
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a" type="caution">
1473
+ <name>Title</name>
1474
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1475
+ </admonition>
1476
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6b" type="caution" notag="true">
1477
+ <name>Title</name>
1478
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1313
1479
  </admonition>
1314
1480
  </foreword></preface>
1315
1481
  </iso-standard>
@@ -1319,7 +1485,12 @@ RSpec.describe IsoDoc do
1319
1485
  <br/>
1320
1486
  <div>
1321
1487
  <h1 class="ForewordTitle">Foreword</h1>
1322
- <div class="Admonition" id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a"><p class="AdmonitionTitle" style="text-align:center;">Title</p>
1488
+ <div class="Admonition" id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a">
1489
+ <p class='AdmonitionTitle' style='text-align:center;'>Title</p>
1490
+ <p id='_e94663cc-2473-4ccc-9a72-983a74d989f2'>Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1491
+ </div>
1492
+ <div id='_70234f78-64e5-4dfc-8b6f-f3f037348b6b' class='Admonition'>
1493
+ <p class='AdmonitionTitle' style='text-align:center;'>Title</p>
1323
1494
  <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1324
1495
  </div>
1325
1496
  </div>
@@ -1328,8 +1499,10 @@ RSpec.describe IsoDoc do
1328
1499
  </body>
1329
1500
  </html>
1330
1501
  OUTPUT
1502
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({})
1503
+ .convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
1331
1504
  expect(xmlpp(IsoDoc::HtmlConvert.new({})
1332
- .convert("test", input, true))).to be_equivalent_to xmlpp(output)
1505
+ .convert("test", presxml, true))).to be_equivalent_to xmlpp(output)
1333
1506
  end
1334
1507
 
1335
1508
  it "processes formulae" do
@@ -1731,7 +1904,20 @@ RSpec.describe IsoDoc do
1731
1904
  </foreword></preface>
1732
1905
  <bibliography><references id="_bibliography" obligation="informative" normative="false" displayorder='2'>
1733
1906
  <title depth='1'>Bibliography</title>
1734
- <bibitem id="rfc2616" type="standard"> <fetched>2020-03-27</fetched> <title format="text/plain" language="en" script="Latn">Hypertext Transfer Protocol — HTTP/1.1</title> <uri type="xml">https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2616.xml</uri> <uri type="src">https://www.rfc-editor.org/info/rfc2616</uri> <docidentifier type='metanorma-ordinal'>[1]</docidentifier> <docidentifier type="IETF">IETF RFC 2616</docidentifier> <docidentifier type="IETF" scope="anchor">IETF RFC2616</docidentifier> <docidentifier type="DOI">DOI 10.17487/RFC2616</docidentifier> <date type="published"> <on>1999-06</on> </date> <contributor> <role type="author"/> <person> <name> <completename language="en">R. Fielding</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">J. Gettys</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">J. Mogul</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">H. Frystyk</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">L. Masinter</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">P. Leach</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">T. Berners-Lee</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <language>en</language> <script>Latn</script> <abstract format="text/plain" language="en" script="Latn">HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as “HTTP/1.1”, and is an update to RFC 2068. [STANDARDS-TRACK]</abstract> <series type="main"> <title format="text/plain" language="en" script="Latn">RFC</title> <number>2616</number> </series> <place>Fremont, CA</place></bibitem>
1907
+ <bibitem id="rfc2616" type="standard">
1908
+ <formattedref>
1909
+ R. FIELDING, J. GETTYS, J. MOGUL, H. FRYSTYK, L. MASINTER, P. LEACH and T. BERNERS-LEE.
1910
+ <em>Hypertext Transfer Protocol&#x2009;&#x2014;&#x2009;HTTP/1.1</em>
1911
+ . In: RFC. June 1999. Fremont, CA.
1912
+ <link target='https://www.rfc-editor.org/info/rfc2616'>https://www.rfc-editor.org/info/rfc2616</link>.
1913
+ </formattedref>
1914
+ <uri type='xml'>https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2616.xml</uri>
1915
+ <uri type='src'>https://www.rfc-editor.org/info/rfc2616</uri>
1916
+ <docidentifier type='metanorma-ordinal'>[1]</docidentifier>
1917
+ <docidentifier type='IETF'>IETF RFC 2616</docidentifier>
1918
+ <docidentifier type='IETF' scope='anchor'>IETF RFC2616</docidentifier>
1919
+ <docidentifier type='DOI'>DOI 10.17487/RFC2616</docidentifier>
1920
+ </bibitem>
1735
1921
  </references></bibliography>
1736
1922
  </iso-standard>
1737
1923
  OUTPUT
@@ -1770,8 +1956,10 @@ RSpec.describe IsoDoc do
1770
1956
  <div>
1771
1957
  <h1 class='Section3'>Bibliography</h1>
1772
1958
  <p id='rfc2616' class='Biblio'>
1773
- [1]&#160; IETF RFC 2616,
1959
+ [1]&#160; IETF RFC 2616, R. FIELDING, J. GETTYS, J. MOGUL, H. FRYSTYK, L. MASINTER, P. LEACH and T. BERNERS-LEE.
1774
1960
  <i>Hypertext Transfer Protocol&#8201;&#8212;&#8201;HTTP/1.1</i>
1961
+ . In: RFC. June 1999. Fremont, CA.
1962
+ <a href='https://www.rfc-editor.org/info/rfc2616'>https://www.rfc-editor.org/info/rfc2616</a>.
1775
1963
  </p>
1776
1964
  </div>
1777
1965
  </div>
@@ -2598,13 +2786,13 @@ RSpec.describe IsoDoc do
2598
2786
  <language current="true">en</language>
2599
2787
  <script current="true">Latn</script>
2600
2788
  <status>
2601
- <stage language="">published</stage>
2789
+ <stage>published</stage>
2602
2790
  </status>
2603
2791
  <copyright>
2604
2792
  <from>2021</from>
2605
2793
  </copyright>
2606
2794
  <ext>
2607
- <doctype language="">article</doctype>
2795
+ <doctype>article</doctype>
2608
2796
  </ext>
2609
2797
  </bibdata>
2610
2798
  <sections>