isodoc 1.2.7 → 1.4.1
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 +14 -9
- data/README.adoc +1 -3
- data/isodoc.gemspec +1 -1
- data/lib/isodoc-yaml/i18n-en.yaml +56 -0
- data/lib/isodoc-yaml/i18n-fr.yaml +64 -7
- data/lib/isodoc-yaml/i18n-zh-Hans.yaml +1 -0
- data/lib/isodoc/base_style/blocks.scss +2 -2
- data/lib/isodoc/base_style/typography.scss +1 -1
- data/lib/isodoc/convert.rb +13 -85
- data/lib/isodoc/css.rb +95 -0
- data/lib/isodoc/function/inline.rb +0 -33
- data/lib/isodoc/function/inline_simple.rb +10 -1
- data/lib/isodoc/function/lists.rb +2 -1
- data/lib/isodoc/function/references.rb +8 -13
- data/lib/isodoc/function/section.rb +1 -1
- data/lib/isodoc/function/table.rb +10 -0
- data/lib/isodoc/function/to_word_html.rb +2 -2
- data/lib/isodoc/gem_tasks.rb +4 -0
- data/lib/isodoc/html_function/html.rb +7 -0
- data/lib/isodoc/html_function/mathvariant_to_plain.rb +82 -0
- data/lib/isodoc/html_function/postprocess.rb +41 -20
- data/lib/isodoc/i18n.rb +15 -2
- data/lib/isodoc/metadata_contributor.rb +4 -3
- data/lib/isodoc/presentation_function/bibdata.rb +3 -3
- data/lib/isodoc/presentation_function/block.rb +14 -9
- data/lib/isodoc/presentation_function/inline.rb +126 -22
- data/lib/isodoc/presentation_function/section.rb +9 -0
- data/lib/isodoc/presentation_xml_convert.rb +5 -0
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc/word_convert.rb +0 -20
- data/lib/isodoc/word_function/body.rb +12 -0
- data/lib/isodoc/word_function/postprocess.rb +38 -80
- data/lib/isodoc/word_function/postprocess_cover.rb +55 -0
- data/lib/isodoc/word_function/table.rb +10 -0
- data/lib/isodoc/xref.rb +1 -0
- data/lib/isodoc/xref/xref_counter.rb +20 -9
- data/lib/isodoc/xref/xref_gen.rb +20 -2
- data/lib/isodoc/xref/xref_sect_gen.rb +1 -1
- data/spec/assets/html.scss +14 -0
- data/spec/assets/i18n.yaml +7 -6
- data/spec/isodoc/blocks_spec.rb +2 -1
- data/spec/isodoc/cleanup_spec.rb +0 -1
- data/spec/isodoc/footnotes_spec.rb +4 -5
- data/spec/isodoc/i18n_spec.rb +23 -2
- data/spec/isodoc/inline_spec.rb +182 -202
- data/spec/isodoc/lists_spec.rb +1 -1
- data/spec/isodoc/metadata_spec.rb +3 -1
- data/spec/isodoc/postproc_spec.rb +472 -11
- data/spec/isodoc/presentation_xml_spec.rb +584 -1
- data/spec/isodoc/ref_spec.rb +325 -7
- data/spec/isodoc/table_spec.rb +28 -0
- data/spec/isodoc/xref_spec.rb +162 -17
- metadata +18 -16
data/spec/isodoc/ref_spec.rb
CHANGED
@@ -44,7 +44,7 @@ RSpec.describe IsoDoc do
|
|
44
44
|
<abbreviation>ISO</abbreviation>
|
45
45
|
</organization>
|
46
46
|
</contributor>
|
47
|
-
<note format="text/plain" type="
|
47
|
+
<note format="text/plain" type="Unpublished-Status" reference="1">Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
|
48
48
|
<extent type="part">
|
49
49
|
<referenceFrom>all</referenceFrom>
|
50
50
|
</extent>
|
@@ -63,7 +63,7 @@ RSpec.describe IsoDoc do
|
|
63
63
|
</bibitem>
|
64
64
|
<bibitem id="ref1">
|
65
65
|
<formattedref format="application/x-isodoc+xml"><smallcap>Standard No I.C.C 167</smallcap>. <em>Determination of the protein content in cereal and cereal products for food and animal feeding stuffs according to the Dumas combustion method</em> (see <link target="http://www.icc.or.at"/>)</formattedref>
|
66
|
-
<docidentifier type="ICC">167</docidentifier>
|
66
|
+
<docidentifier type="ICC">ICC/167</docidentifier>
|
67
67
|
</bibitem>
|
68
68
|
<note><p>This is an annotation of ISO 20483:2013-2014</p></note>
|
69
69
|
<bibitem id="zip_ffs"><formattedref format="application/x-isodoc+xml">Title 5</formattedref><docidentifier type="metanorma">[5]</docidentifier></bibitem>
|
@@ -136,7 +136,7 @@ RSpec.describe IsoDoc do
|
|
136
136
|
<eref bibitemid='ISBN'>[1]</eref>
|
137
137
|
<eref bibitemid='ISSN'>[2]</eref>
|
138
138
|
<eref bibitemid='ISO16634'>ISO 16634:-- (all parts)</eref>
|
139
|
-
<eref bibitemid='ref1'>ICC
|
139
|
+
<eref bibitemid='ref1'>ICC/167</eref>
|
140
140
|
<eref bibitemid='ref10'>[10]</eref>
|
141
141
|
<eref bibitemid='ref12'>Citn</eref>
|
142
142
|
<eref bibitemid='zip_ffs'>[5]</eref>
|
@@ -181,7 +181,7 @@ RSpec.describe IsoDoc do
|
|
181
181
|
<abbreviation>ISO</abbreviation>
|
182
182
|
</organization>
|
183
183
|
</contributor>
|
184
|
-
<note format='text/plain' type='
|
184
|
+
<note format='text/plain' type='Unpublished-Status' reference='1'>Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
|
185
185
|
<extent type='part'>
|
186
186
|
<referenceFrom>all</referenceFrom>
|
187
187
|
</extent>
|
@@ -213,7 +213,7 @@ RSpec.describe IsoDoc do
|
|
213
213
|
<link target='http://www.icc.or.at'/>
|
214
214
|
)
|
215
215
|
</formattedref>
|
216
|
-
<docidentifier type='ICC'>167</docidentifier>
|
216
|
+
<docidentifier type='ICC'>ICC/167</docidentifier>
|
217
217
|
</bibitem>
|
218
218
|
<note>
|
219
219
|
<name>NOTE</name>
|
@@ -309,7 +309,7 @@ RSpec.describe IsoDoc do
|
|
309
309
|
<a href='#ISBN'>[1]</a>
|
310
310
|
<a href='#ISSN'>[2]</a>
|
311
311
|
<a href='#ISO16634'>ISO 16634:-- (all parts)</a>
|
312
|
-
<a href='#ref1'>ICC
|
312
|
+
<a href='#ref1'>ICC/167</a>
|
313
313
|
<a href='#ref10'>[10]</a>
|
314
314
|
<a href='#ref12'>Citn</a>
|
315
315
|
<a href='#zip_ffs'>[5]</a>
|
@@ -342,7 +342,7 @@ RSpec.describe IsoDoc do
|
|
342
342
|
<i>Cereals and pulses</i>
|
343
343
|
</p>
|
344
344
|
<p id='ref1' class='NormRef'>
|
345
|
-
ICC
|
345
|
+
ICC/167,
|
346
346
|
<span style='font-variant:small-caps;'>Standard No I.C.C 167</span>
|
347
347
|
.
|
348
348
|
<i>
|
@@ -424,4 +424,322 @@ RSpec.describe IsoDoc do
|
|
424
424
|
expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
|
425
425
|
end
|
426
426
|
|
427
|
+
|
428
|
+
it "processes hidden references sections in Relaton bibliographies" do
|
429
|
+
presxml = <<~PRESXML
|
430
|
+
<iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
|
431
|
+
<bibdata>
|
432
|
+
<language current="true">en</language>
|
433
|
+
</bibdata>
|
434
|
+
<preface>
|
435
|
+
<foreword>
|
436
|
+
<p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
|
437
|
+
<eref bibitemid='ISO712'>[110]</eref>
|
438
|
+
<eref bibitemid='ISBN'>[1]</eref>
|
439
|
+
<eref bibitemid='ISSN'>[2]</eref>
|
440
|
+
<eref bibitemid='ISO16634'>ISO 16634:-- (all parts)</eref>
|
441
|
+
<eref bibitemid='ref1'>ICC/167</eref>
|
442
|
+
<eref bibitemid='ref10'>[10]</eref>
|
443
|
+
<eref bibitemid='ref12'>Citn</eref>
|
444
|
+
<eref bibitemid='zip_ffs'>[5]</eref>
|
445
|
+
</p>
|
446
|
+
</foreword>
|
447
|
+
</preface>
|
448
|
+
<bibliography>
|
449
|
+
<references id='_normative_references' obligation='informative' normative='true' hidden="true">
|
450
|
+
<title depth='1'>1.<tab/>Normative References</title>
|
451
|
+
<p>
|
452
|
+
The following documents are referred to in the text in such a way that
|
453
|
+
some or all of their content constitutes requirements of this document.
|
454
|
+
For dated references, only the edition cited applies. For undated
|
455
|
+
references, the latest edition of the referenced document (including any
|
456
|
+
amendments) applies.
|
457
|
+
</p>
|
458
|
+
<bibitem id='ISO712' type='standard'>
|
459
|
+
<title format='text/plain'>Cereals or cereal products</title>
|
460
|
+
<title type='main' format='text/plain'>Cereals and cereal products</title>
|
461
|
+
<docidentifier type='ISO'>ISO 712</docidentifier>
|
462
|
+
<docidentifier type='metanorma'>[110]</docidentifier>
|
463
|
+
<contributor>
|
464
|
+
<role type='publisher'/>
|
465
|
+
<organization>
|
466
|
+
<name>International Organization for Standardization</name>
|
467
|
+
</organization>
|
468
|
+
</contributor>
|
469
|
+
</bibitem>
|
470
|
+
<bibitem id='ISO16634' type='standard'>
|
471
|
+
<title language='x' format='text/plain'>
|
472
|
+
Cereals, pulses, milled cereal products, xxxx, oilseeds and animal
|
473
|
+
feeding stuffs
|
474
|
+
</title>
|
475
|
+
<title language='en' format='text/plain'>Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs</title>
|
476
|
+
<docidentifier type='ISO'>ISO 16634:-- (all parts)</docidentifier>
|
477
|
+
<date type='published'>
|
478
|
+
<on>--</on>
|
479
|
+
</date>
|
480
|
+
<contributor>
|
481
|
+
<role type='publisher'/>
|
482
|
+
<organization>
|
483
|
+
<abbreviation>ISO</abbreviation>
|
484
|
+
</organization>
|
485
|
+
</contributor>
|
486
|
+
<note format='text/plain' type='Unpublished-Status' reference='1'>Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
|
487
|
+
<extent type='part'>
|
488
|
+
<referenceFrom>all</referenceFrom>
|
489
|
+
</extent>
|
490
|
+
</bibitem>
|
491
|
+
<bibitem id='ISO20483' type='standard'>
|
492
|
+
<title format='text/plain'>Cereals and pulses</title>
|
493
|
+
<docidentifier type='ISO'>ISO 20483:2013-2014</docidentifier>
|
494
|
+
<date type='published'>
|
495
|
+
<from>2013</from>
|
496
|
+
<to>2014</to>
|
497
|
+
</date>
|
498
|
+
<contributor>
|
499
|
+
<role type='publisher'/>
|
500
|
+
<organization>
|
501
|
+
<name>International Organization for Standardization</name>
|
502
|
+
</organization>
|
503
|
+
</contributor>
|
504
|
+
</bibitem>
|
505
|
+
<bibitem id='ref1'>
|
506
|
+
<formattedref format='application/x-isodoc+xml'>
|
507
|
+
<smallcap>Standard No I.C.C 167</smallcap>
|
508
|
+
.
|
509
|
+
<em>
|
510
|
+
Determination of the protein content in cereal and cereal products
|
511
|
+
for food and animal feeding stuffs according to the Dumas combustion
|
512
|
+
method
|
513
|
+
</em>
|
514
|
+
(see
|
515
|
+
<link target='http://www.icc.or.at'/>
|
516
|
+
)
|
517
|
+
</formattedref>
|
518
|
+
<docidentifier type='ICC'>ICC/167</docidentifier>
|
519
|
+
</bibitem>
|
520
|
+
<note>
|
521
|
+
<name>NOTE</name>
|
522
|
+
<p>This is an annotation of ISO 20483:2013-2014</p>
|
523
|
+
</note>
|
524
|
+
<bibitem id='zip_ffs'>
|
525
|
+
<formattedref format='application/x-isodoc+xml'>Title 5</formattedref>
|
526
|
+
<docidentifier type='metanorma'>[5]</docidentifier>
|
527
|
+
</bibitem>
|
528
|
+
</references>
|
529
|
+
<references id='_bibliography' obligation='informative' normative='false' hidden="true">
|
530
|
+
<title depth="1">Bibliography</title>
|
531
|
+
<bibitem id='ISBN' type='ISBN'>
|
532
|
+
<title format='text/plain'>Chemicals for analytical laboratory use</title>
|
533
|
+
<docidentifier type='ISBN'>ISBN</docidentifier>
|
534
|
+
<docidentifier type='metanorma'>[1]</docidentifier>
|
535
|
+
<contributor>
|
536
|
+
<role type='publisher'/>
|
537
|
+
<organization>
|
538
|
+
<abbreviation>ISBN</abbreviation>
|
539
|
+
</organization>
|
540
|
+
</contributor>
|
541
|
+
</bibitem>
|
542
|
+
<bibitem id='ISSN' type='ISSN'>
|
543
|
+
<title format='text/plain'>Instruments for analytical laboratory use</title>
|
544
|
+
<docidentifier type='ISSN'>ISSN</docidentifier>
|
545
|
+
<docidentifier type='metanorma'>[2]</docidentifier>
|
546
|
+
<contributor>
|
547
|
+
<role type='publisher'/>
|
548
|
+
<organization>
|
549
|
+
<abbreviation>ISSN</abbreviation>
|
550
|
+
</organization>
|
551
|
+
</contributor>
|
552
|
+
</bibitem>
|
553
|
+
<note>
|
554
|
+
<name>NOTE</name>
|
555
|
+
<p>This is an annotation of document ISSN.</p>
|
556
|
+
</note>
|
557
|
+
<note>
|
558
|
+
<name>NOTE</name>
|
559
|
+
<p>This is another annotation of document ISSN.</p>
|
560
|
+
</note>
|
561
|
+
<bibitem id='ISO3696' type='standard'>
|
562
|
+
<title format='text/plain'>Water for analytical laboratory use</title>
|
563
|
+
<docidentifier type='ISO'>ISO 3696</docidentifier>
|
564
|
+
<contributor>
|
565
|
+
<role type='publisher'/>
|
566
|
+
<organization>
|
567
|
+
<abbreviation>ISO</abbreviation>
|
568
|
+
</organization>
|
569
|
+
</contributor>
|
570
|
+
</bibitem>
|
571
|
+
<bibitem id='ref10'>
|
572
|
+
<formattedref format='application/x-isodoc+xml'>
|
573
|
+
<smallcap>Standard No I.C.C 167</smallcap>
|
574
|
+
.
|
575
|
+
<em>
|
576
|
+
Determination of the protein content in cereal and cereal products
|
577
|
+
for food and animal feeding stuffs according to the Dumas combustion
|
578
|
+
method
|
579
|
+
</em>
|
580
|
+
(see
|
581
|
+
<link target='http://www.icc.or.at'/>
|
582
|
+
)
|
583
|
+
</formattedref>
|
584
|
+
<docidentifier type='metanorma'>[10]</docidentifier>
|
585
|
+
</bibitem>
|
586
|
+
<bibitem id='ref11'>
|
587
|
+
<title>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</title>
|
588
|
+
<docidentifier type='IETF'>RFC 10</docidentifier>
|
589
|
+
</bibitem>
|
590
|
+
<bibitem id='ref12'>
|
591
|
+
<formattedref format='application/x-isodoc+xml'>
|
592
|
+
CitationWorks. 2019.
|
593
|
+
<em>How to cite a reference</em>
|
594
|
+
.
|
595
|
+
</formattedref>
|
596
|
+
<docidentifier type='metanorma'>[Citn]</docidentifier>
|
597
|
+
<docidentifier type='IETF'>RFC 20</docidentifier>
|
598
|
+
</bibitem>
|
599
|
+
</references>
|
600
|
+
</bibliography>
|
601
|
+
</iso-standard>
|
602
|
+
PRESXML
|
603
|
+
|
604
|
+
html = <<~OUTPUT
|
605
|
+
#{HTML_HDR}
|
606
|
+
<br/>
|
607
|
+
<div>
|
608
|
+
<h1 class='ForewordTitle'>Foreword</h1>
|
609
|
+
<p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
|
610
|
+
<a href='#ISO712'>[110]</a>
|
611
|
+
<a href='#ISBN'>[1]</a>
|
612
|
+
<a href='#ISSN'>[2]</a>
|
613
|
+
<a href='#ISO16634'>ISO 16634:-- (all parts)</a>
|
614
|
+
<a href='#ref1'>ICC/167</a>
|
615
|
+
<a href='#ref10'>[10]</a>
|
616
|
+
<a href='#ref12'>Citn</a>
|
617
|
+
<a href='#zip_ffs'>[5]</a>
|
618
|
+
</p>
|
619
|
+
</div>
|
620
|
+
<p class='zzSTDTitle1'/>
|
621
|
+
</div>
|
622
|
+
</body>
|
623
|
+
</html>
|
624
|
+
|
625
|
+
OUTPUT
|
626
|
+
expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
|
627
|
+
end
|
628
|
+
|
629
|
+
it "processes hidden references sections in Relaton bibliographies" do
|
630
|
+
presxml = <<~PRESXML
|
631
|
+
<iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
|
632
|
+
<bibdata>
|
633
|
+
<language current="true">en</language>
|
634
|
+
</bibdata>
|
635
|
+
<preface>
|
636
|
+
<foreword>
|
637
|
+
<p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
|
638
|
+
<eref bibitemid='ISO712'>[110]</eref>
|
639
|
+
<eref bibitemid='ISBN'>[1]</eref>
|
640
|
+
<eref bibitemid='ISSN'>[2]</eref>
|
641
|
+
<eref bibitemid='ISO16634'>ISO 16634:-- (all parts)</eref>
|
642
|
+
<eref bibitemid='ref1'>ICC/167</eref>
|
643
|
+
<eref bibitemid='ref10'>[10]</eref>
|
644
|
+
<eref bibitemid='ref12'>Citn</eref>
|
645
|
+
<eref bibitemid='zip_ffs'>[5]</eref>
|
646
|
+
</p>
|
647
|
+
</foreword>
|
648
|
+
</preface>
|
649
|
+
<bibliography>
|
650
|
+
<references id='_normative_references' obligation='informative' normative='true'>
|
651
|
+
<title depth='1'>1.<tab/>Normative References</title>
|
652
|
+
<p>
|
653
|
+
The following documents are referred to in the text in such a way that
|
654
|
+
some or all of their content constitutes requirements of this document.
|
655
|
+
For dated references, only the edition cited applies. For undated
|
656
|
+
references, the latest edition of the referenced document (including any
|
657
|
+
amendments) applies.
|
658
|
+
</p>
|
659
|
+
<bibitem id='ISO712' type='standard' hidden="true">
|
660
|
+
<title format='text/plain'>Cereals or cereal products</title>
|
661
|
+
<title type='main' format='text/plain'>Cereals and cereal products</title>
|
662
|
+
<docidentifier type='ISO'>ISO 712</docidentifier>
|
663
|
+
<docidentifier type='metanorma'>[110]</docidentifier>
|
664
|
+
<contributor>
|
665
|
+
<role type='publisher'/>
|
666
|
+
<organization>
|
667
|
+
<name>International Organization for Standardization</name>
|
668
|
+
</organization>
|
669
|
+
</contributor>
|
670
|
+
</bibitem>
|
671
|
+
<bibitem id='ISO16634' type='standard'>
|
672
|
+
<title language='x' format='text/plain'>
|
673
|
+
Cereals, pulses, milled cereal products, xxxx, oilseeds and animal
|
674
|
+
feeding stuffs
|
675
|
+
</title>
|
676
|
+
<title language='en' format='text/plain'>Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs</title>
|
677
|
+
<docidentifier type='ISO'>ISO 16634:-- (all parts)</docidentifier>
|
678
|
+
<date type='published'>
|
679
|
+
<on>--</on>
|
680
|
+
</date>
|
681
|
+
<contributor>
|
682
|
+
<role type='publisher'/>
|
683
|
+
<organization>
|
684
|
+
<abbreviation>ISO</abbreviation>
|
685
|
+
</organization>
|
686
|
+
</contributor>
|
687
|
+
<note format='text/plain' type='Unpublished-Status' reference='1'>Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
|
688
|
+
<extent type='part'>
|
689
|
+
<referenceFrom>all</referenceFrom>
|
690
|
+
</extent>
|
691
|
+
</bibitem>
|
692
|
+
</references></bibliography></iso-standard>
|
693
|
+
PRESXML
|
694
|
+
|
695
|
+
html = <<~OUTPUT
|
696
|
+
#{HTML_HDR}
|
697
|
+
<br/>
|
698
|
+
<div>
|
699
|
+
<h1 class='ForewordTitle'>Foreword</h1>
|
700
|
+
<p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
|
701
|
+
<a href='#ISO712'>[110]</a>
|
702
|
+
<a href='#ISBN'>[1]</a>
|
703
|
+
<a href='#ISSN'>[2]</a>
|
704
|
+
<a href='#ISO16634'>ISO 16634:-- (all parts)</a>
|
705
|
+
<a href='#ref1'>ICC/167</a>
|
706
|
+
<a href='#ref10'>[10]</a>
|
707
|
+
<a href='#ref12'>Citn</a>
|
708
|
+
<a href='#zip_ffs'>[5]</a>
|
709
|
+
</p>
|
710
|
+
</div>
|
711
|
+
<p class='zzSTDTitle1'/>
|
712
|
+
<div>
|
713
|
+
<h1>1.  Normative References</h1>
|
714
|
+
<p>
|
715
|
+
The following documents are referred to in the text in such a way
|
716
|
+
that some or all of their content constitutes requirements of this
|
717
|
+
document. For dated references, only the edition cited applies. For
|
718
|
+
undated references, the latest edition of the referenced document
|
719
|
+
(including any amendments) applies.
|
720
|
+
</p>
|
721
|
+
<p id='ISO16634' class='NormRef'>
|
722
|
+
ISO 16634:-- (all parts)
|
723
|
+
<a class='FootnoteRef' href='#fn:1'>
|
724
|
+
<sup>1</sup>
|
725
|
+
</a>
|
726
|
+
,
|
727
|
+
<i>Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs</i>
|
728
|
+
</p>
|
729
|
+
</div>
|
730
|
+
<aside id='fn:1' class='footnote'>
|
731
|
+
<p>Under preparation. (Stage at the time of publication ISO/DIS 16634)</p>
|
732
|
+
</aside>
|
733
|
+
|
734
|
+
</div>
|
735
|
+
</body>
|
736
|
+
</html>
|
737
|
+
|
738
|
+
OUTPUT
|
739
|
+
expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
|
740
|
+
end
|
741
|
+
|
742
|
+
|
427
743
|
end
|
744
|
+
|
745
|
+
|
data/spec/isodoc/table_spec.rb
CHANGED
@@ -8,6 +8,13 @@ RSpec.describe IsoDoc do
|
|
8
8
|
<foreword>
|
9
9
|
<table id="tableD-1" alt="tool tip" summary="long desc" width="70%" keep-with-next="true" keep-lines-together="true">
|
10
10
|
<name>Repeatability and reproducibility of <em>husked</em> rice yield<fn reference="1"><p>X</p></fn></name>
|
11
|
+
<colgroup>
|
12
|
+
<col width="30%"/>
|
13
|
+
<col width="20%"/>
|
14
|
+
<col width="20%"/>
|
15
|
+
<col width="20%"/>
|
16
|
+
<col width="10%"/>
|
17
|
+
</colgroup>
|
11
18
|
<thead>
|
12
19
|
<tr>
|
13
20
|
<td rowspan="2" align="left">Description</td>
|
@@ -77,6 +84,13 @@ RSpec.describe IsoDoc do
|
|
77
84
|
<p>X</p>
|
78
85
|
</fn>
|
79
86
|
</name>
|
87
|
+
<colgroup>
|
88
|
+
<col width='30%'/>
|
89
|
+
<col width='20%'/>
|
90
|
+
<col width='20%'/>
|
91
|
+
<col width='20%'/>
|
92
|
+
<col width='10%'/>
|
93
|
+
</colgroup>
|
80
94
|
<thead>
|
81
95
|
<tr>
|
82
96
|
<td rowspan='2' align='left'>Description</td>
|
@@ -165,6 +179,13 @@ html = <<~OUTPUT
|
|
165
179
|
<caption>
|
166
180
|
<span style="display:none">long desc</span>
|
167
181
|
</caption>
|
182
|
+
<colgroup>
|
183
|
+
<col style='width: 30%;'/>
|
184
|
+
<col style='width: 20%;'/>
|
185
|
+
<col style='width: 20%;'/>
|
186
|
+
<col style='width: 20%;'/>
|
187
|
+
<col style='width: 10%;'/>
|
188
|
+
</colgroup>
|
168
189
|
<thead>
|
169
190
|
<tr>
|
170
191
|
<td rowspan="2" style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;" scope="col">Description</td>
|
@@ -259,6 +280,13 @@ html = <<~OUTPUT
|
|
259
280
|
</p>
|
260
281
|
<div align='center' class='table_container'>
|
261
282
|
<table id='tableD-1' class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;page-break-after: avoid;page-break-inside: avoid;' title='tool tip' summary='long desc' width='70%'>
|
283
|
+
<colgroup>
|
284
|
+
<col width='30%'/>
|
285
|
+
<col width='20%'/>
|
286
|
+
<col width='20%'/>
|
287
|
+
<col width='20%'/>
|
288
|
+
<col width='10%'/>
|
289
|
+
</colgroup>
|
262
290
|
<thead>
|
263
291
|
<tr>
|
264
292
|
<td rowspan='2' align='left' style='border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;'>Description</td>
|
data/spec/isodoc/xref_spec.rb
CHANGED
@@ -2313,7 +2313,7 @@ OUTPUT
|
|
2313
2313
|
<li id="N1"><p>A</p></li>
|
2314
2314
|
</ol>
|
2315
2315
|
<clause id="xyz"><title>Preparatory</title>
|
2316
|
-
<ol id="N02">
|
2316
|
+
<ol id="N02" type="arabic">
|
2317
2317
|
<li id="N2"><p>A</p></li>
|
2318
2318
|
</ol>
|
2319
2319
|
</clause>
|
@@ -2321,17 +2321,17 @@ OUTPUT
|
|
2321
2321
|
</preface>
|
2322
2322
|
<sections>
|
2323
2323
|
<clause id="scope" type="scope"><title>Scope</title>
|
2324
|
-
<ol id="N0">
|
2324
|
+
<ol id="N0" type="roman">
|
2325
2325
|
<li id="N"><p>A</p></li>
|
2326
2326
|
</ol>
|
2327
2327
|
</clause>
|
2328
2328
|
<terms id="terms"/>
|
2329
2329
|
<clause id="widgets"><title>Widgets</title>
|
2330
2330
|
<clause id="widgets1">
|
2331
|
-
<ol id="note1l">
|
2331
|
+
<ol id="note1l" type="alphabet">
|
2332
2332
|
<li id="note1"><p>A</p></li>
|
2333
2333
|
</ol>
|
2334
|
-
<ol id="note2l">
|
2334
|
+
<ol id="note2l" type="roman_upper">
|
2335
2335
|
<li id="note2"><p>A</p></li>
|
2336
2336
|
</ol>
|
2337
2337
|
</clause>
|
@@ -2339,12 +2339,12 @@ OUTPUT
|
|
2339
2339
|
</sections>
|
2340
2340
|
<annex id="annex1">
|
2341
2341
|
<clause id="annex1a">
|
2342
|
-
<ol id="ANl">
|
2342
|
+
<ol id="ANl" type="alphabet_upper">
|
2343
2343
|
<li id="AN"><p>A</p></li>
|
2344
2344
|
</ol>
|
2345
2345
|
</clause>
|
2346
2346
|
<clause id="annex1b">
|
2347
|
-
<ol id="Anote1l">
|
2347
|
+
<ol id="Anote1l" type="roman" start="4">
|
2348
2348
|
<li id="Anote1"><p>A</p></li>
|
2349
2349
|
</ol>
|
2350
2350
|
<ol id="Anote2l">
|
@@ -2360,12 +2360,12 @@ OUTPUT
|
|
2360
2360
|
<foreword>
|
2361
2361
|
<p>
|
2362
2362
|
<xref target='N1'>Introduction, a)</xref>
|
2363
|
-
<xref target='N2'>Preparatory,
|
2364
|
-
<xref target='N'>Clause 1,
|
2363
|
+
<xref target='N2'>Preparatory, 1)</xref>
|
2364
|
+
<xref target='N'>Clause 1, i)</xref>
|
2365
2365
|
<xref target='note1'>Clause 3.1, List 1 a)</xref>
|
2366
|
-
<xref target='note2'>Clause 3.1, List 2
|
2367
|
-
<xref target='AN'>Annex A.1,
|
2368
|
-
<xref target='Anote1'>Annex A.2, List 1
|
2366
|
+
<xref target='note2'>Clause 3.1, List 2 I)</xref>
|
2367
|
+
<xref target='AN'>Annex A.1, A)</xref>
|
2368
|
+
<xref target='Anote1'>Annex A.2, List 1 iv)</xref>
|
2369
2369
|
<xref target='Anote2'>Annex A.2, List 2 a)</xref>
|
2370
2370
|
</p>
|
2371
2371
|
</foreword>
|
@@ -2377,7 +2377,7 @@ OUTPUT
|
|
2377
2377
|
</ol>
|
2378
2378
|
<clause id='xyz'>
|
2379
2379
|
<title depth='2'>Preparatory</title>
|
2380
|
-
<ol id='N02'>
|
2380
|
+
<ol id='N02' type="arabic">
|
2381
2381
|
<li id='N2'>
|
2382
2382
|
<p>A</p>
|
2383
2383
|
</li>
|
@@ -2392,7 +2392,7 @@ OUTPUT
|
|
2392
2392
|
<tab/>
|
2393
2393
|
Scope
|
2394
2394
|
</title>
|
2395
|
-
<ol id='N0'>
|
2395
|
+
<ol id='N0' type="roman">
|
2396
2396
|
<li id='N'>
|
2397
2397
|
<p>A</p>
|
2398
2398
|
</li>
|
@@ -2408,12 +2408,12 @@ OUTPUT
|
|
2408
2408
|
Widgets
|
2409
2409
|
</title>
|
2410
2410
|
<clause id='widgets1'><title>3.1.</title>
|
2411
|
-
<ol id='note1l'>
|
2411
|
+
<ol id='note1l' type="alphabet">
|
2412
2412
|
<li id='note1'>
|
2413
2413
|
<p>A</p>
|
2414
2414
|
</li>
|
2415
2415
|
</ol>
|
2416
|
-
<ol id='note2l'>
|
2416
|
+
<ol id='note2l' type="roman_upper">
|
2417
2417
|
<li id='note2'>
|
2418
2418
|
<p>A</p>
|
2419
2419
|
</li>
|
@@ -2428,14 +2428,14 @@ OUTPUT
|
|
2428
2428
|
(informative)
|
2429
2429
|
</title>
|
2430
2430
|
<clause id='annex1a'><title>A.1.</title>
|
2431
|
-
<ol id='ANl'>
|
2431
|
+
<ol id='ANl' type="alphabet_upper">
|
2432
2432
|
<li id='AN'>
|
2433
2433
|
<p>A</p>
|
2434
2434
|
</li>
|
2435
2435
|
</ol>
|
2436
2436
|
</clause>
|
2437
2437
|
<clause id='annex1b'><title>A.2.</title>
|
2438
|
-
<ol id='Anote1l'>
|
2438
|
+
<ol id='Anote1l' type="roman" start="4">
|
2439
2439
|
<li id='Anote1'>
|
2440
2440
|
<p>A</p>
|
2441
2441
|
</li>
|
@@ -2547,6 +2547,151 @@ OUTPUT
|
|
2547
2547
|
OUTPUT
|
2548
2548
|
end
|
2549
2549
|
|
2550
|
+
it "cross-references bookmarks" do
|
2551
|
+
expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
2552
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
2553
|
+
<preface>
|
2554
|
+
<foreword>
|
2555
|
+
<p>
|
2556
|
+
<xref target="N1"/>
|
2557
|
+
<xref target="N2"/>
|
2558
|
+
<xref target="N"/>
|
2559
|
+
<xref target="note1"/>
|
2560
|
+
<xref target="note2"/>
|
2561
|
+
<xref target="AN"/>
|
2562
|
+
<xref target="Anote1"/>
|
2563
|
+
<xref target="Anote2"/>
|
2564
|
+
</p>
|
2565
|
+
</foreword>
|
2566
|
+
<introduction id="intro">
|
2567
|
+
<p id="N01">
|
2568
|
+
<bookmark id="N1"/>
|
2569
|
+
</p>
|
2570
|
+
<clause id="xyz"><title>Preparatory</title>
|
2571
|
+
<p id="N02" type="arabic">
|
2572
|
+
<bookmark id="N2"/>
|
2573
|
+
</p>
|
2574
|
+
</clause>
|
2575
|
+
</introduction>
|
2576
|
+
</preface>
|
2577
|
+
<sections>
|
2578
|
+
<clause id="scope" type="scope"><title>Scope</title>
|
2579
|
+
<p id="N0" type="roman">
|
2580
|
+
<bookmark id="N"/>
|
2581
|
+
</p>
|
2582
|
+
</clause>
|
2583
|
+
<terms id="terms"/>
|
2584
|
+
<clause id="widgets"><title>Widgets</title>
|
2585
|
+
<clause id="widgets1">
|
2586
|
+
<p id="note1l" type="alphabet">
|
2587
|
+
<bookmark id="note1"/>
|
2588
|
+
</p>
|
2589
|
+
<p id="note2l" type="roman_upper">
|
2590
|
+
<bookmark id="note2"/>
|
2591
|
+
</p>
|
2592
|
+
</clause>
|
2593
|
+
</clause>
|
2594
|
+
</sections>
|
2595
|
+
<annex id="annex1">
|
2596
|
+
<clause id="annex1a">
|
2597
|
+
<p id="ANl" type="alphabet_upper">
|
2598
|
+
<bookmark id="AN"/>
|
2599
|
+
</p>
|
2600
|
+
</clause>
|
2601
|
+
<clause id="annex1b">
|
2602
|
+
<p id="Anote1l" type="roman" start="4">
|
2603
|
+
<bookmark id="Anote1"/>
|
2604
|
+
</p>
|
2605
|
+
<p id="Anote2l">
|
2606
|
+
<bookmark id="Anote2"/>
|
2607
|
+
</p>
|
2608
|
+
</clause>
|
2609
|
+
</annex>
|
2610
|
+
</iso-standard>
|
2611
|
+
INPUT
|
2612
|
+
<iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
|
2613
|
+
<preface>
|
2614
|
+
<foreword>
|
2615
|
+
<p>
|
2616
|
+
<xref target='N1'>Introduction</xref>
|
2617
|
+
<xref target='N2'>Preparatory</xref>
|
2618
|
+
<xref target='N'>Clause 1</xref>
|
2619
|
+
<xref target='note1'>Clause 3.1</xref>
|
2620
|
+
<xref target='note2'>Clause 3.1</xref>
|
2621
|
+
<xref target='AN'>Annex A.1</xref>
|
2622
|
+
<xref target='Anote1'>Annex A.2</xref>
|
2623
|
+
<xref target='Anote2'>Annex A.2</xref>
|
2624
|
+
</p>
|
2625
|
+
</foreword>
|
2626
|
+
<introduction id='intro'>
|
2627
|
+
<p id='N01'>
|
2628
|
+
<bookmark id='N1'/>
|
2629
|
+
</p>
|
2630
|
+
<clause id='xyz'>
|
2631
|
+
<title depth='2'>Preparatory</title>
|
2632
|
+
<p id='N02' type='arabic'>
|
2633
|
+
<bookmark id='N2'/>
|
2634
|
+
</p>
|
2635
|
+
</clause>
|
2636
|
+
</introduction>
|
2637
|
+
</preface>
|
2638
|
+
<sections>
|
2639
|
+
<clause id='scope' type='scope'>
|
2640
|
+
<title depth='1'>
|
2641
|
+
1.
|
2642
|
+
<tab/>
|
2643
|
+
Scope
|
2644
|
+
</title>
|
2645
|
+
<p id='N0' type='roman'>
|
2646
|
+
<bookmark id='N'/>
|
2647
|
+
</p>
|
2648
|
+
</clause>
|
2649
|
+
<terms id='terms'>
|
2650
|
+
<title>2.</title>
|
2651
|
+
</terms>
|
2652
|
+
<clause id='widgets'>
|
2653
|
+
<title depth='1'>
|
2654
|
+
3.
|
2655
|
+
<tab/>
|
2656
|
+
Widgets
|
2657
|
+
</title>
|
2658
|
+
<clause id='widgets1'>
|
2659
|
+
<title>3.1.</title>
|
2660
|
+
<p id='note1l' type='alphabet'>
|
2661
|
+
<bookmark id='note1'/>
|
2662
|
+
</p>
|
2663
|
+
<p id='note2l' type='roman_upper'>
|
2664
|
+
<bookmark id='note2'/>
|
2665
|
+
</p>
|
2666
|
+
</clause>
|
2667
|
+
</clause>
|
2668
|
+
</sections>
|
2669
|
+
<annex id='annex1'>
|
2670
|
+
<title>
|
2671
|
+
<strong>Annex A</strong>
|
2672
|
+
<br/>
|
2673
|
+
(informative)
|
2674
|
+
</title>
|
2675
|
+
<clause id='annex1a'>
|
2676
|
+
<title>A.1.</title>
|
2677
|
+
<p id='ANl' type='alphabet_upper'>
|
2678
|
+
<bookmark id='AN'/>
|
2679
|
+
</p>
|
2680
|
+
</clause>
|
2681
|
+
<clause id='annex1b'>
|
2682
|
+
<title>A.2.</title>
|
2683
|
+
<p id='Anote1l' type='roman' start='4'>
|
2684
|
+
<bookmark id='Anote1'/>
|
2685
|
+
</p>
|
2686
|
+
<p id='Anote2l'>
|
2687
|
+
<bookmark id='Anote2'/>
|
2688
|
+
</p>
|
2689
|
+
</clause>
|
2690
|
+
</annex>
|
2691
|
+
</iso-standard>
|
2692
|
+
OUTPUT
|
2693
|
+
end
|
2694
|
+
|
2550
2695
|
it "realises subsequences" do
|
2551
2696
|
expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
2552
2697
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|