metanorma-cc 2.1.1 → 2.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07c45fe4f604cab972f79a468705ee05762ac0b3507b5f3913ca6f9af502620d
4
- data.tar.gz: 4b7df285e50dde89ed98e31911c9b91922b28bb8e833be8deba2bcc60a3b49f1
3
+ metadata.gz: 88bc148aeb63cade7c68d91da1dc250240d0fba5af3ff1b54f6f534537c1804b
4
+ data.tar.gz: 34f5cb4620035bc1ca634dc5df59f74545a9ec8d76e730cc98cfb0b467668c41
5
5
  SHA512:
6
- metadata.gz: 215992c1581b9513cbf3c116f7e5e5ed3cf18ef0475119fae9f6e6016ed6fffa0e6545f3924bfe02f0f35523484843db1421121935b32a9cc59624289f497ca2
7
- data.tar.gz: 03b7cab1948c042ddee3d5369db24964a1a9da162067a8405482462f97fec9a0945b41e3592de4600c1dca72e0218859afd99b2534b96ef35e15151a27724d25
6
+ metadata.gz: d75117fd92a91bf21873f72c61c30340be4bec5a2172395992aab5d7e1520c17485259e2d2a77dcc12fdae34e71d59e898ef78b57f073231205abf54457b7a84
7
+ data.tar.gz: 7a6e32230a72b16da83e57dd4212bb0e6da24ba215c1af357113a775d5c92afc975218cb818e58fad8fb809501e09745380dfd7264e6c4db090e35408bcdf7b6
@@ -569,14 +569,41 @@
569
569
  </xsl:template>
570
570
 
571
571
 
572
- <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
572
+ <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:variable name="table_widths_from_if_calculated_">
573
+ <xsl:for-each select="$table_widths_from_if//table">
574
+ <xsl:copy>
575
+ <xsl:copy-of select="@*"/>
576
+ <xsl:call-template name="calculate-column-widths-autolayout-algorithm"/>
577
+ </xsl:copy>
578
+ </xsl:for-each>
579
+ </xsl:variable><xsl:variable name="table_widths_from_if_calculated" select="xalan:nodeset($table_widths_from_if_calculated_)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
573
580
  false
574
581
  </xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
575
582
  <xsl:call-template name="getLang"/>
576
- </xsl:variable><xsl:variable name="pageWidth_">
577
- 210
583
+ </xsl:variable><xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/><xsl:variable name="papersize_width_">
584
+ <xsl:choose>
585
+ <xsl:when test="$papersize = 'letter'">215.9</xsl:when>
586
+ <xsl:when test="$papersize = 'a4'">210</xsl:when>
587
+ </xsl:choose>
588
+ </xsl:variable><xsl:variable name="papersize_width" select="normalize-space($papersize_width_)"/><xsl:variable name="papersize_height_">
589
+ <xsl:choose>
590
+ <xsl:when test="$papersize = 'letter'">279.4</xsl:when>
591
+ <xsl:when test="$papersize = 'a4'">297</xsl:when>
592
+ </xsl:choose>
593
+ </xsl:variable><xsl:variable name="papersize_height" select="normalize-space($papersize_height_)"/><xsl:variable name="pageWidth_">
594
+ <xsl:choose>
595
+ <xsl:when test="$papersize_width != ''"><xsl:value-of select="$papersize_width"/></xsl:when>
596
+ <xsl:otherwise>
597
+ 210
598
+ </xsl:otherwise>
599
+ </xsl:choose>
578
600
  </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
579
- 297
601
+ <xsl:choose>
602
+ <xsl:when test="$papersize_height != ''"><xsl:value-of select="$papersize_height"/></xsl:when>
603
+ <xsl:otherwise>
604
+ 297
605
+ </xsl:otherwise>
606
+ </xsl:choose>
580
607
  </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
581
608
  19
582
609
  </xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
@@ -1147,6 +1174,25 @@
1147
1174
 
1148
1175
 
1149
1176
 
1177
+ </xsl:attribute-set><xsl:attribute-set name="dl-name-style">
1178
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1179
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1180
+
1181
+
1182
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1150
1196
  </xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
1151
1197
  <xsl:attribute name="padding-left">2mm</xsl:attribute>
1152
1198
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
@@ -1465,6 +1511,24 @@
1465
1511
 
1466
1512
 
1467
1513
 
1514
+ </xsl:attribute-set><xsl:attribute-set name="list-name-style">
1515
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1516
+
1517
+
1518
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1468
1532
  </xsl:attribute-set><xsl:attribute-set name="list-item-style">
1469
1533
 
1470
1534
 
@@ -1849,13 +1913,13 @@
1849
1913
 
1850
1914
  </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
1851
1915
  <xsl:variable name="nodes_preface_">
1852
- <xsl:for-each select="/*/*[local-name()='preface']/*">
1916
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
1853
1917
  <node id="{@id}"/>
1854
1918
  </xsl:for-each>
1855
1919
  </xsl:variable>
1856
1920
  <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
1857
1921
 
1858
- <xsl:for-each select="/*/*[local-name()='preface']/*">
1922
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
1859
1923
  <xsl:sort select="@displayorder" data-type="number"/>
1860
1924
 
1861
1925
  <!-- process Section's title -->
@@ -1921,7 +1985,7 @@
1921
1985
  </xsl:for-each>
1922
1986
  </figures>
1923
1987
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1924
- <xsl:for-each select="/*/*[local-name()='preface']/*">
1988
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
1925
1989
  <xsl:sort select="@displayorder" data-type="number"/>
1926
1990
  <xsl:apply-templates select="."/>
1927
1991
  </xsl:for-each>
@@ -2532,8 +2596,9 @@
2532
2596
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2533
2597
  </xsl:if>
2534
2598
  </xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
2535
- <xsl:param name="table"/>
2536
- <xsl:param name="if">false</xsl:param> <!-- via intermediate format -->
2599
+ <xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
2600
+
2601
+ <!-- via intermediate format -->
2537
2602
 
2538
2603
  <!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
2539
2604
 
@@ -2544,9 +2609,8 @@
2544
2609
  <!-- get current table id -->
2545
2610
  <xsl:variable name="table_id" select="@id"/>
2546
2611
  <!-- find table by id in the file 'table_widths' -->
2547
- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
2548
- <xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/>
2549
-
2612
+ <!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
2613
+ <xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
2550
2614
 
2551
2615
  <!-- table='<xsl:copy-of select="$table"/>' -->
2552
2616
  <!-- table_id='<xsl:value-of select="$table_id"/>\ -->
@@ -2554,24 +2618,13 @@
2554
2618
  <!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
2555
2619
 
2556
2620
  <xsl:variable name="table_with_cell_widths_">
2557
- <xsl:choose>
2558
- <xsl:when test="$if = 'true' and normalize-space($table-if) != ''"> <!-- if we read column's width from IF and there is table in IF -->
2559
-
2560
- <!-- Example: <column>10</column>
2561
- <column>11</column>
2562
- -->
2563
- <xsl:apply-templates select="$table-if" mode="determine_cell_widths-if"/>
2564
- </xsl:when>
2565
- <xsl:otherwise>
2566
- <xsl:apply-templates select="xalan:nodeset($table)" mode="determine_cell_widths"/>
2567
- </xsl:otherwise>
2568
- </xsl:choose>
2621
+ <xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
2569
2622
  </xsl:variable>
2570
2623
  <xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
2571
2624
 
2572
- <xsl:if test="$table_if_debug = 'true'">
2625
+ <!-- <xsl:if test="$table_if_debug = 'true'">
2573
2626
  <xsl:copy-of select="$table_with_cell_widths"/>
2574
- </xsl:if>
2627
+ </xsl:if> -->
2575
2628
 
2576
2629
 
2577
2630
  <!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
@@ -2617,8 +2670,12 @@
2617
2670
 
2618
2671
  <xsl:variable name="page_width">
2619
2672
  <xsl:choose>
2620
- <xsl:when test="$if = 'true'"><xsl:value-of select="$table-if/@page-width"/></xsl:when>
2621
- <xsl:otherwise>75</xsl:otherwise>
2673
+ <xsl:when test="$parent_table_page-width != ''">
2674
+ <xsl:value-of select="$parent_table_page-width"/>
2675
+ </xsl:when>
2676
+ <xsl:otherwise>
2677
+ <xsl:value-of select="@page-width"/>
2678
+ </xsl:otherwise>
2622
2679
  </xsl:choose>
2623
2680
  </xsl:variable>
2624
2681
 
@@ -2626,9 +2683,6 @@
2626
2683
  <table_width>
2627
2684
  <xsl:copy-of select="$table_widths"/>
2628
2685
  </table_width>
2629
- <!-- <debug>$table_widths/@width_min=<xsl:value-of select="$table_widths/table/@width_min"/></debug>
2630
- <debug>$table_widths/@width_max=<xsl:value-of select="$table_widths/table/@width_max"/></debug>
2631
- -->
2632
2686
  <debug>$page_width=<xsl:value-of select="$page_width"/></debug>
2633
2687
  </xsl:if>
2634
2688
 
@@ -2639,11 +2693,11 @@
2639
2693
  <xsl:when test="$table_widths/table/@width_min &gt;= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
2640
2694
  <!-- call old algorithm -->
2641
2695
  <case1/>
2642
- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
2696
+ <!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
2643
2697
  <xsl:call-template name="calculate-column-widths-proportional">
2644
2698
  <xsl:with-param name="cols-count" select="$cols-count"/>
2645
2699
  <xsl:with-param name="table" select="$table"/>
2646
- </xsl:call-template>
2700
+ </xsl:call-template> -->
2647
2701
  </xsl:when>
2648
2702
  <!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
2649
2703
  <xsl:when test="$table_widths/table/@width_max &lt;= $page_width">
@@ -2687,95 +2741,49 @@
2687
2741
  <xsl:otherwise><unknown_case/></xsl:otherwise>
2688
2742
  </xsl:choose>
2689
2743
 
2744
+ </xsl:template><xsl:template name="get-calculated-column-widths-autolayout-algorithm">
2690
2745
 
2691
- </xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths">
2692
- <xsl:copy>
2693
- <xsl:apply-templates select="@*|node()" mode="determine_cell_widths"/>
2694
- </xsl:copy>
2695
- </xsl:template><xsl:template match="td | th" mode="determine_cell_widths">
2696
- <xsl:copy>
2697
- <xsl:copy-of select="@*"/>
2746
+ <!-- if nested 'dl' or 'table' -->
2747
+ <xsl:variable name="parent_table_id" select="normalize-space(ancestor::*[local-name() = 'table' or local-name() = 'dl'][1]/@id)"/>
2748
+ <parent_table_id><xsl:value-of select="$parent_table_id"/></parent_table_id>
2698
2749
 
2699
- <!-- The maximum width is given by the widest line. -->
2700
- <xsl:variable name="widths_max">
2701
- <xsl:for-each select=".//*[local-name() = 'p']">
2702
- <xsl:call-template name="add_width"/>
2703
- </xsl:for-each>
2704
- <xsl:if test="not(*[local-name() = 'p'])">
2705
- <xsl:call-template name="add_width"/>
2706
- </xsl:if>
2707
- </xsl:variable>
2708
- <xsl:variable name="width_max">
2709
- <xsl:for-each select="xalan:nodeset($widths_max)//width">
2710
- <xsl:sort select="." data-type="number" order="descending"/>
2711
- <xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
2712
- </xsl:for-each>
2713
- </xsl:variable>
2714
- <xsl:attribute name="width_max">
2715
- <xsl:value-of select="$width_max"/>
2716
- </xsl:attribute>
2750
+ <parent_element><xsl:value-of select="local-name(..)"/></parent_element>
2717
2751
 
2718
- <!-- The minimum width is given by the widest text element (word, image, etc.) -->
2719
- <!-- To do: image width -->
2720
- <xsl:variable name="td_text">
2721
- <xsl:apply-templates select="." mode="td_text"/>
2722
- </xsl:variable>
2723
- <xsl:variable name="words">
2724
- <xsl:variable name="string_with_added_zerospaces">
2725
- <xsl:call-template name="add-zero-spaces-java">
2726
- <xsl:with-param name="text" select="$td_text"/>
2727
- </xsl:call-template>
2752
+ <xsl:variable name="parent_table_page-width_">
2753
+ <xsl:if test="$parent_table_id != ''">
2754
+ <!-- determine column number in the parent table -->
2755
+ <xsl:variable name="parent_table_column_number">
2756
+ <xsl:choose>
2757
+ <xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
2758
+ <xsl:otherwise> <!-- parent is table -->
2759
+ <xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
2760
+ </xsl:otherwise>
2761
+ </xsl:choose>
2728
2762
  </xsl:variable>
2729
- <xsl:call-template name="tokenize">
2730
- <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​­', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
2731
- </xsl:call-template>
2732
- </xsl:variable>
2733
-
2734
- <xsl:variable name="max_word_length">
2735
- <xsl:call-template name="max_length">
2736
- <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2737
- </xsl:call-template>
2738
- </xsl:variable>
2739
- <xsl:variable name="width_min">
2740
- <xsl:value-of select="$max_word_length"/>
2741
- </xsl:variable>
2742
- <xsl:attribute name="width_min">
2743
- <xsl:value-of select="$width_min"/>
2744
- </xsl:attribute>
2745
- <!-- width_max="1" width_min="1.5"> --> <!-- see 'tokenize' template, multiply 1.5 for all latin capitals -->
2746
- <xsl:if test="$width_min &gt; $width_max">
2747
- <xsl:attribute name="width_max">
2748
- <xsl:value-of select="$width_min"/>
2749
- </xsl:attribute>
2750
- </xsl:if>
2751
- <xsl:if test="$width_min = 0">
2752
- <xsl:attribute name="width_min">1</xsl:attribute>
2763
+ <!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
2764
+ <xsl:value-of select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
2753
2765
  </xsl:if>
2754
-
2755
- <xsl:apply-templates select="node()" mode="determine_cell_widths"/>
2756
-
2757
- </xsl:copy>
2758
- </xsl:template><xsl:template name="add_width">
2759
- <xsl:variable name="p_text"><xsl:apply-templates select="." mode="td_text"/></xsl:variable>
2760
- <xsl:variable name="p_text_len_" select="string-length(normalize-space($p_text))"/>
2761
-
2762
- <xsl:variable name="p_text_len">
2763
- <xsl:choose>
2764
- <xsl:when test="normalize-space(translate($p_text, concat($upper,'0123456789'), '')) = ''"> <!-- english word in CAPITAL letters -->
2765
- <xsl:value-of select="$p_text_len_ * 1.5"/>
2766
- </xsl:when>
2767
- <xsl:otherwise><xsl:value-of select="$p_text_len_"/></xsl:otherwise>
2768
- </xsl:choose>
2769
2766
  </xsl:variable>
2767
+ <xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
2770
2768
 
2771
- <xsl:variable name="math_addon_text">
2772
- <xsl:for-each select=".//*[local-name() = 'math']">
2773
- <xsl:apply-templates mode="td_text"/>
2774
- </xsl:for-each>
2775
- </xsl:variable>
2776
- <xsl:variable name="math_addon_length" select="string-length(normalize-space($math_addon_text)) * 0.2"/> <!-- plus 20% -->
2769
+ <!-- get current table id -->
2770
+ <xsl:variable name="table_id" select="@id"/>
2771
+
2772
+ <xsl:choose>
2773
+ <xsl:when test="$parent_table_id = '' or $parent_table_page-width = ''">
2774
+ <!-- find table by id in the file 'table_widths' and get all `<column>...</column> -->
2775
+ <xsl:copy-of select="$table_widths_from_if_calculated//table[@id = $table_id]/node()"/>
2776
+ </xsl:when>
2777
+ <xsl:otherwise>
2778
+ <!-- recalculate columns width based on parent table width -->
2779
+ <xsl:for-each select="$table_widths_from_if//table[@id = $table_id]">
2780
+ <xsl:call-template name="calculate-column-widths-autolayout-algorithm">
2781
+ <xsl:with-param name="parent_table_page-width" select="$parent_table_page-width"/> <!-- padding-left = 2mm = 50000-->
2782
+ </xsl:call-template>
2783
+ </xsl:for-each>
2784
+ </xsl:otherwise>
2785
+ </xsl:choose>
2777
2786
 
2778
- <width><xsl:value-of select="$p_text_len + $math_addon_length"/></width>
2779
2787
  </xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
2780
2788
  <xsl:copy>
2781
2789
  <xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
@@ -3553,11 +3561,19 @@
3553
3561
 
3554
3562
 
3555
3563
 
3564
+
3565
+ <xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
3566
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3567
+ </xsl:if>
3568
+
3556
3569
  <fo:block>
3557
3570
 
3558
3571
 
3559
3572
 
3560
3573
 
3574
+ <xsl:apply-templates select="*[local-name() = 'name']">
3575
+ <xsl:with-param name="process">true</xsl:with-param>
3576
+ </xsl:apply-templates>
3561
3577
 
3562
3578
  <xsl:if test="$isGenerateTableIF = 'true'">
3563
3579
  <!-- to determine start of table -->
@@ -3580,6 +3596,7 @@
3580
3596
  </xsl:choose>
3581
3597
 
3582
3598
 
3599
+
3583
3600
  <xsl:choose>
3584
3601
  <xsl:when test="$isGenerateTableIF = 'true'">
3585
3602
  <!-- generate IF for table widths -->
@@ -3708,6 +3725,18 @@
3708
3725
  </xsl:if> <!-- END: a few components -->
3709
3726
  </fo:block-container>
3710
3727
  </fo:block-container>
3728
+
3729
+ <xsl:if test="$isGenerateTableIF = 'true'"> <!-- process nested 'dl' -->
3730
+ <xsl:apply-templates select="*[local-name() = 'dd']/*[local-name() = 'dl']"/>
3731
+ </xsl:if>
3732
+
3733
+ </xsl:template><xsl:template match="*[local-name() = 'dl']/*[local-name() = 'name']">
3734
+ <xsl:param name="process">false</xsl:param>
3735
+ <xsl:if test="$process = 'true'">
3736
+ <fo:block xsl:use-attribute-sets="dl-name-style">
3737
+ <xsl:apply-templates/>
3738
+ </fo:block>
3739
+ </xsl:if>
3711
3740
  </xsl:template><xsl:template name="setColumnWidth_dl">
3712
3741
  <xsl:param name="colwidths"/>
3713
3742
  <xsl:param name="maxlength_dt"/>
@@ -3716,6 +3745,11 @@
3716
3745
  <!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
3717
3746
 
3718
3747
  <xsl:choose>
3748
+ <xsl:when test="xalan:nodeset($colwidths)/autolayout">
3749
+ <xsl:call-template name="insertTableColumnWidth">
3750
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3751
+ </xsl:call-template>
3752
+ </xsl:when>
3719
3753
  <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3720
3754
  <fo:table-column column-width="50%"/>
3721
3755
  <fo:table-column column-width="50%"/>
@@ -3968,12 +4002,24 @@
3968
4002
  </td>
3969
4003
  <td>
3970
4004
 
3971
- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()"/>
4005
+ <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
4006
+
4007
+ <!-- get paragraphs from nested 'dl' -->
4008
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
4009
+
3972
4010
 
3973
4011
  </td>
3974
4012
  </tr>
3975
4013
 
3976
- </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='em']">
4014
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
4015
+ <xsl:for-each select="*[local-name() = 'dt']">
4016
+ <p>
4017
+ <xsl:copy-of select="node()"/>
4018
+ <xsl:text> </xsl:text>
4019
+ <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'p']/node()"/>
4020
+ </p>
4021
+ </xsl:for-each>
4022
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if_nested"/><xsl:template match="*[local-name()='em']">
3977
4023
  <fo:inline font-style="italic">
3978
4024
  <xsl:apply-templates/>
3979
4025
  </fo:inline>
@@ -4004,7 +4050,7 @@
4004
4050
 
4005
4051
 
4006
4052
 
4007
-
4053
+ <!-- 10 -->
4008
4054
 
4009
4055
 
4010
4056
 
@@ -6024,7 +6070,7 @@
6024
6070
 
6025
6071
 
6026
6072
 
6027
-
6073
+ <!-- 9 -->
6028
6074
 
6029
6075
 
6030
6076
 
@@ -6108,7 +6154,7 @@
6108
6154
  <xsl:for-each select="xalan:nodeset($text_step4)/node()">
6109
6155
  <xsl:choose>
6110
6156
  <xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
6111
- <xsl:call-template name="interspers">
6157
+ <xsl:call-template name="interspers-java">
6112
6158
  <xsl:with-param name="str" select="."/>
6113
6159
  </xsl:call-template>
6114
6160
  </xsl:when>
@@ -6158,6 +6204,10 @@
6158
6204
  <xsl:with-param name="char" select="$char"/>
6159
6205
  </xsl:call-template>
6160
6206
  </xsl:if>
6207
+ </xsl:template><xsl:template name="interspers-java">
6208
+ <xsl:param name="str"/>
6209
+ <xsl:param name="char" select="$zero_width_space"/>
6210
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($str),'([^ -.:=_—])',concat('$1', $char))"/> <!-- insert $char after each char excep space, - . : = _ etc. -->
6161
6211
  </xsl:template><xsl:template match="*" mode="syntax_highlight">
6162
6212
  <xsl:apply-templates mode="syntax_highlight"/>
6163
6213
  </xsl:template><xsl:variable name="syntax_highlight_styles_">
@@ -7115,6 +7165,11 @@
7115
7165
  </xsl:otherwise>
7116
7166
  </xsl:choose>
7117
7167
  </xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
7168
+
7169
+ <xsl:apply-templates select="*[local-name() = 'name']">
7170
+ <xsl:with-param name="process">true</xsl:with-param>
7171
+ </xsl:apply-templates>
7172
+
7118
7173
  <fo:list-block xsl:use-attribute-sets="list-style">
7119
7174
 
7120
7175
 
@@ -7129,12 +7184,23 @@
7129
7184
 
7130
7185
 
7131
7186
 
7187
+ <xsl:if test="*[local-name() = 'name']">
7188
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
7189
+ </xsl:if>
7190
+
7132
7191
  <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
7133
7192
  </fo:list-block>
7134
7193
  <!-- <xsl:for-each select="./iho:note">
7135
7194
  <xsl:call-template name="note"/>
7136
7195
  </xsl:for-each> -->
7137
7196
  <xsl:apply-templates select="./*[local-name() = 'note']"/>
7197
+ </xsl:template><xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
7198
+ <xsl:param name="process">false</xsl:param>
7199
+ <xsl:if test="$process = 'true'">
7200
+ <fo:block xsl:use-attribute-sets="list-name-style">
7201
+ <xsl:apply-templates/>
7202
+ </fo:block>
7203
+ </xsl:if>
7138
7204
  </xsl:template><xsl:template match="*[local-name()='li']">
7139
7205
  <fo:list-item xsl:use-attribute-sets="list-item-style">
7140
7206
  <xsl:copy-of select="@id"/>
@@ -7438,26 +7504,23 @@
7438
7504
  <xsl:if test=".//*[local-name() = 'fn']">
7439
7505
  <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
7440
7506
  </xsl:if>
7507
+
7508
+ <!-- display document identifier, not number [1] -->
7441
7509
  <xsl:variable name="docidentifier">
7442
7510
  <xsl:choose>
7443
7511
  <xsl:when test="*[local-name() = 'docidentifier']/@type = 'metanorma'"/>
7444
7512
  <xsl:otherwise><xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
7445
7513
  </xsl:choose>
7446
7514
  </xsl:variable>
7447
- <fo:inline><xsl:value-of select="$docidentifier"/></fo:inline>
7515
+ <xsl:value-of select="$docidentifier"/>
7516
+
7448
7517
  <xsl:apply-templates select="*[local-name() = 'note']"/>
7449
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
7450
- <xsl:choose>
7451
- <xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = $lang]">
7452
- <xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = $lang]"/>
7453
- </xsl:when>
7454
- <xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
7455
- <xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
7456
- </xsl:when>
7457
- <xsl:otherwise>
7458
- <xsl:apply-templates select="*[local-name() = 'title']"/>
7459
- </xsl:otherwise>
7460
- </xsl:choose>
7518
+
7519
+ <xsl:if test="normalize-space($docidentifier) != '' and *[local-name() = 'formattedref']">
7520
+ <xsl:text>,</xsl:text>
7521
+ <xsl:text> </xsl:text>
7522
+ </xsl:if>
7523
+
7461
7524
  <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
7462
7525
  <!-- end bibitem processing -->
7463
7526
 
@@ -7769,36 +7832,58 @@
7769
7832
 
7770
7833
 
7771
7834
 
7835
+ <xsl:if test="@type = 'editorial'">
7836
+ <xsl:attribute name="color">green</xsl:attribute>
7837
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
7838
+
7839
+ <!-- <xsl:variable name="note-style">
7840
+ <style xsl:use-attribute-sets="note-style"></style>
7841
+ </xsl:variable>
7842
+ <xsl:for-each select="xalan:nodeset($note-style)//style/@*">
7843
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
7844
+ </xsl:for-each> -->
7845
+ </xsl:if>
7846
+
7847
+
7848
+
7772
7849
 
7773
7850
 
7774
7851
 
7775
- <xsl:call-template name="displayAdmonitionName"/>
7776
- <xsl:text> — </xsl:text>
7852
+ <xsl:call-template name="displayAdmonitionName">
7853
+ <xsl:with-param name="sep"> — </xsl:with-param>
7854
+ </xsl:call-template>
7777
7855
 
7778
7856
 
7779
7857
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7780
7858
  </fo:block>
7781
7859
 
7782
7860
  </xsl:template><xsl:template name="displayAdmonitionName">
7783
-
7861
+ <xsl:param name="sep"/> <!-- Example: ' - ' -->
7862
+ <!-- <xsl:choose>
7863
+ <xsl:when test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
7864
+ <xsl:choose>
7865
+ <xsl:when test="@type='important'"><xsl:apply-templates select="@type"/></xsl:when>
7866
+ <xsl:otherwise>
7867
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7868
+ </xsl:otherwise>
7869
+ </xsl:choose>
7870
+ </xsl:when>
7871
+ <xsl:otherwise>
7784
7872
  <xsl:apply-templates select="*[local-name() = 'name']"/>
7785
7873
  <xsl:if test="not(*[local-name() = 'name'])">
7786
7874
  <xsl:apply-templates select="@type"/>
7787
7875
  </xsl:if>
7788
-
7789
- </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7790
- <xsl:apply-templates/>
7791
- </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
7792
- <xsl:variable name="admonition_type_">
7793
- <xsl:call-template name="getLocalizedString">
7794
- <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
7795
- </xsl:call-template>
7876
+ </xsl:otherwise>
7877
+ </xsl:choose> -->
7878
+ <xsl:variable name="name">
7879
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7796
7880
  </xsl:variable>
7797
- <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
7798
- <xsl:value-of select="$admonition_type"/>
7799
- <xsl:if test="$admonition_type = ''">
7800
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
7881
+ <xsl:copy-of select="$name"/>
7882
+ <xsl:if test="normalize-space($name) != ''">
7883
+ <xsl:value-of select="$sep"/>
7801
7884
  </xsl:if>
7885
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7886
+ <xsl:apply-templates/>
7802
7887
  </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
7803
7888
 
7804
7889
  <fo:block xsl:use-attribute-sets="admonition-p-style">
@@ -111,7 +111,7 @@ p.AdmonitionTitle, p.RecommendationTitle {
111
111
  mso-bidi-font-family: {{bodyfont}};
112
112
  mso-ansi-language: EN-GB; }
113
113
 
114
- p.TableTitle {
114
+ p.TableTitle, p.ListTitle {
115
115
  mso-style-unhide: no;
116
116
  mso-style-qformat: yes;
117
117
  mso-style-parent: "";
@@ -142,13 +142,16 @@ p.Note, div.Note, li.Note, p.TableFootnote, div.TableFootnote, li.TableFootnote
142
142
  line-height: 12.0pt;
143
143
  mso-pagination: widow-orphan;
144
144
  tab-stops: 20.15pt;
145
- font-size: {{smallerfontsize}};
146
145
  mso-bidi-font-size: 11.0pt;
147
146
  font-family: {{bodyfont}};
148
147
  mso-fareast-font-family: {{bodyfont}};
149
148
  mso-bidi-font-family: {{bodyfont}};
150
149
  mso-ansi-language: EN-GB; }
151
150
 
151
+ p.Note, li.Note, p.TableFootnote, div.TableFootnote, li.TableFootnote {
152
+ font-size: {{smallerfontsize}};
153
+ font-family: {{bodyfont}}; }
154
+
152
155
  p.ANNEX, li.ANNEX, div.ANNEX {
153
156
  mso-style-name: ANNEX;
154
157
  mso-style-priority: 10;
@@ -495,12 +498,14 @@ p.Quote, li.Quote, div.Quote {
495
498
  line-height: 12.0pt;
496
499
  mso-pagination: widow-orphan;
497
500
  tab-stops: 20.15pt;
498
- font-size: {{normalfontsize}};
499
- font-family: {{bodyfont}};
500
501
  mso-fareast-font-family: {{bodyfont}};
501
502
  mso-bidi-font-family: {{bodyfont}};
502
503
  mso-ansi-language: EN-GB; }
503
504
 
505
+ p.Quote, li.Quote {
506
+ font-size: {{normalfontsize}};
507
+ font-family: {{bodyfont}}; }
508
+
504
509
  p.QuoteAttribution {
505
510
  text-align: right;
506
511
  mso-style-priority: 99;
@@ -530,8 +535,6 @@ p.Admonition, li.Admonition, div.Admonition {
530
535
  mso-border-themecolor: accent1;
531
536
  padding: 0cm;
532
537
  mso-padding-alt: 10.0pt 10.0pt 10.0pt 10.0pt;
533
- font-size: 12.0pt;
534
- font-family: {{bodyfont}};
535
538
  mso-ascii-font-family: {{bodyfont}};
536
539
  mso-ascii-theme-font: minor-latin;
537
540
  mso-fareast-font-family: {{bodyfont}};
@@ -542,7 +545,11 @@ p.Admonition, li.Admonition, div.Admonition {
542
545
  mso-bidi-theme-font: minor-bidi;
543
546
  color: #4472C4;
544
547
  mso-themecolor: accent1;
545
- mso-ansi-language: EN-AU;
548
+ mso-ansi-language: EN-AU; }
549
+
550
+ p.Admonition, li.Admonition {
551
+ font-size: 12.0pt;
552
+ font-family: {{bodyfont}};
546
553
  font-style: italic; }
547
554
 
548
555
  p.Code, li.Code, div.Code {
@@ -767,7 +774,9 @@ aside {
767
774
 
768
775
  p.example, li.example, td.example {
769
776
  margin-right: 0pt;
770
- margin-left: 0pt; }
777
+ margin-left: 0pt;
778
+ font-size: {{smallerfontsize}};
779
+ font-family: {{bodyfont}}; }
771
780
 
772
781
  div.example {
773
782
  margin-top: 0cm;
@@ -776,9 +785,7 @@ div.example {
776
785
  margin-left: 36.0pt; }
777
786
 
778
787
  p.example, li.example, div.example, td.example {
779
- mso-pagination: none;
780
- font-size: {{smallerfontsize}};
781
- font-family: {{bodyfont}}; }
788
+ mso-pagination: none; }
782
789
 
783
790
  td.example p.MsoListParagraph {
784
791
  font-size: {{smallerfontsize}}; }
@@ -105,7 +105,7 @@ p.AdmonitionTitle, p.RecommendationTitle
105
105
  mso-fareast-font-family:$bodyfont;
106
106
  mso-bidi-font-family:$bodyfont;
107
107
  mso-ansi-language:EN-GB;}
108
- p.TableTitle
108
+ p.TableTitle, p.ListTitle
109
109
  {mso-style-unhide:no;
110
110
  mso-style-qformat:yes;
111
111
  mso-style-parent:"";
@@ -135,12 +135,15 @@ p.Note, div.Note, li.Note, p.TableFootnote, div.TableFootnote, li.TableFootnote
135
135
  line-height:12.0pt;
136
136
  mso-pagination:widow-orphan;
137
137
  tab-stops:20.15pt;
138
- font-size:$smallerfontsize;
139
138
  mso-bidi-font-size:11.0pt;
140
139
  font-family:$bodyfont;
141
140
  mso-fareast-font-family:$bodyfont;
142
141
  mso-bidi-font-family:$bodyfont;
143
142
  mso-ansi-language:EN-GB;}
143
+ p.Note, li.Note, p.TableFootnote, div.TableFootnote, li.TableFootnote {
144
+ font-size:$smallerfontsize;
145
+ font-family:$bodyfont;
146
+ }
144
147
  p.ANNEX, li.ANNEX, div.ANNEX
145
148
  {mso-style-name:ANNEX;
146
149
  mso-style-priority:10;
@@ -472,11 +475,13 @@ p.Quote, li.Quote, div.Quote
472
475
  line-height:12.0pt;
473
476
  mso-pagination:widow-orphan;
474
477
  tab-stops:20.15pt;
475
- font-size:$normalfontsize;
476
- font-family:$bodyfont;
477
478
  mso-fareast-font-family:$bodyfont;
478
479
  mso-bidi-font-family:$bodyfont;
479
480
  mso-ansi-language:EN-GB;}
481
+ p.Quote, li.Quote {
482
+ font-size:$normalfontsize;
483
+ font-family:$bodyfont;
484
+ }
480
485
  p.QuoteAttribution
481
486
  {text-align:right;
482
487
  mso-style-priority:99;
@@ -506,8 +511,6 @@ p.Admonition, li.Admonition, div.Admonition
506
511
  mso-border-themecolor:accent1;
507
512
  padding:0cm;
508
513
  mso-padding-alt:10.0pt 10.0pt 10.0pt 10.0pt;
509
- font-size:12.0pt;
510
- font-family:$bodyfont;
511
514
  mso-ascii-font-family:$bodyfont;
512
515
  mso-ascii-theme-font:minor-latin;
513
516
  mso-fareast-font-family:$bodyfont;
@@ -519,6 +522,10 @@ p.Admonition, li.Admonition, div.Admonition
519
522
  color:#4472C4;
520
523
  mso-themecolor:accent1;
521
524
  mso-ansi-language:EN-AU;
525
+ }
526
+ p.Admonition, li.Admonition {
527
+ font-size:12.0pt;
528
+ font-family:$bodyfont;
522
529
  font-style:italic;}
523
530
  p.Code, li.Code, div.Code
524
531
  {mso-style-name:Code;
@@ -722,6 +729,8 @@ margin-left: -36.0pt;
722
729
  p.example, li.example, td.example {
723
730
  margin-right: 0pt;
724
731
  margin-left: 0pt;
732
+ font-size:$smallerfontsize;
733
+ font-family:$bodyfont;
725
734
  }
726
735
 
727
736
  div.example {
@@ -733,8 +742,7 @@ div.example {
733
742
 
734
743
  p.example, li.example, div.example, td.example {
735
744
  mso-pagination:none;
736
- font-size:$smallerfontsize;
737
- font-family:$bodyfont;}
745
+ }
738
746
 
739
747
  td.example p.MsoListParagraph {
740
748
  font-size: $smallerfontsize;
@@ -904,6 +904,12 @@ pre {
904
904
  font-size: 1em;
905
905
  text-align: center; }
906
906
 
907
+ .ListTitle {
908
+ font-weight: 700;
909
+ font-size: 1em;
910
+ text-align: center;
911
+ text-align: left; }
912
+
907
913
  .Note, .Admonition {
908
914
  color: #47430c;
909
915
  padding: 0.25em;
@@ -251,6 +251,7 @@ pre {
251
251
  @include recommendationBlock();
252
252
  }
253
253
 
254
+ @include listBlock();
254
255
 
255
256
  .Note, .Admonition {
256
257
  color: #47430c;
@@ -614,12 +614,12 @@
614
614
  <optional>
615
615
  <ref name="fetched"/>
616
616
  </optional>
617
- <choice>
618
- <oneOrMore>
619
- <ref name="btitle"/>
620
- </oneOrMore>
617
+ <optional>
621
618
  <ref name="formattedref"/>
622
- </choice>
619
+ </optional>
620
+ <oneOrMore>
621
+ <ref name="btitle"/>
622
+ </oneOrMore>
623
623
  <zeroOrMore>
624
624
  <ref name="bsource"/>
625
625
  </zeroOrMore>
@@ -986,36 +986,34 @@
986
986
  <ref name="SeriesType"/>
987
987
  </attribute>
988
988
  </optional>
989
- <choice>
989
+ <optional>
990
990
  <ref name="formattedref"/>
991
- <group>
992
- <ref name="btitle"/>
993
- <optional>
994
- <ref name="bplace"/>
995
- </optional>
996
- <optional>
997
- <ref name="seriesorganization"/>
998
- </optional>
999
- <optional>
1000
- <ref name="abbreviation"/>
1001
- </optional>
1002
- <optional>
1003
- <ref name="seriesfrom"/>
1004
- </optional>
1005
- <optional>
1006
- <ref name="seriesto"/>
1007
- </optional>
1008
- <optional>
1009
- <ref name="seriesnumber"/>
1010
- </optional>
1011
- <optional>
1012
- <ref name="seriespartnumber"/>
1013
- </optional>
1014
- <optional>
1015
- <ref name="seriesrun"/>
1016
- </optional>
1017
- </group>
1018
- </choice>
991
+ </optional>
992
+ <ref name="btitle"/>
993
+ <optional>
994
+ <ref name="bplace"/>
995
+ </optional>
996
+ <optional>
997
+ <ref name="seriesorganization"/>
998
+ </optional>
999
+ <optional>
1000
+ <ref name="abbreviation"/>
1001
+ </optional>
1002
+ <optional>
1003
+ <ref name="seriesfrom"/>
1004
+ </optional>
1005
+ <optional>
1006
+ <ref name="seriesto"/>
1007
+ </optional>
1008
+ <optional>
1009
+ <ref name="seriesnumber"/>
1010
+ </optional>
1011
+ <optional>
1012
+ <ref name="seriespartnumber"/>
1013
+ </optional>
1014
+ <optional>
1015
+ <ref name="seriesrun"/>
1016
+ </optional>
1019
1017
  </element>
1020
1018
  </define>
1021
1019
  <define name="SeriesType">
@@ -282,6 +282,9 @@
282
282
  <ref name="MultilingualRenderingType"/>
283
283
  </attribute>
284
284
  </optional>
285
+ <optional>
286
+ <ref name="tname"/>
287
+ </optional>
285
288
  <oneOrMore>
286
289
  <ref name="ul_li"/>
287
290
  </oneOrMore>
@@ -324,6 +327,9 @@
324
327
  </choice>
325
328
  </attribute>
326
329
  </optional>
330
+ <optional>
331
+ <ref name="tname"/>
332
+ </optional>
327
333
  <oneOrMore>
328
334
  <ref name="li"/>
329
335
  </oneOrMore>
@@ -360,6 +366,9 @@
360
366
  <ref name="MultilingualRenderingType"/>
361
367
  </attribute>
362
368
  </optional>
369
+ <optional>
370
+ <ref name="tname"/>
371
+ </optional>
363
372
  <oneOrMore>
364
373
  <ref name="dt"/>
365
374
  <ref name="dd"/>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module CC
3
- VERSION = "2.1.1".freeze
3
+ VERSION = "2.1.2".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-16 00:00:00.000000000 Z
11
+ date: 2022-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -188,8 +188,6 @@ files:
188
188
  - bin/console
189
189
  - bin/rspec
190
190
  - bin/setup
191
- - docs/navigation.adoc
192
- - docs/quickstart.adoc
193
191
  - lib/isodoc/cc/base_convert.rb
194
192
  - lib/isodoc/cc/cc.standard.xsl
195
193
  - lib/isodoc/cc/html/_coverpage.css
@@ -250,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
248
  - !ruby/object:Gem::Version
251
249
  version: '0'
252
250
  requirements: []
253
- rubygems_version: 3.3.9
251
+ rubygems_version: 3.3.7
254
252
  signing_key:
255
253
  specification_version: 4
256
254
  summary: metanorma-cc lets you write CalConnect standards in AsciiDoc.
data/docs/navigation.adoc DELETED
@@ -1,8 +0,0 @@
1
- ---
2
- items:
3
- - title: Introduction
4
- items:
5
- - { title: Quickstart, path: quickstart/ }
6
- ---
7
-
8
- = Navigation
data/docs/quickstart.adoc DELETED
@@ -1,368 +0,0 @@
1
- = Quickstart Guide for Metanorma-CSD
2
-
3
- Start using Metanorma-CSD to author CalConnect docs in these steps:
4
-
5
- . Get Metanorma running on your machine
6
- . Fetch and compile an example Metanorma-CSD document
7
- . Modify the document to fit your goals while keeping it valid AsciiCSD
8
-
9
- This guide assumes proficiency with the terminal,
10
- and uses the Docker option of running Metanorma
11
- (there’re other
12
- https://www.metanorma.com/overview/getting-started/[options of installing Metanorma],
13
- too).
14
-
15
-
16
- == Get Metanorma running on your machine
17
-
18
- Assuming you have Docker installed, it’s as easy as:
19
-
20
- [source,console]
21
- --
22
- docker pull metanorma/metanorma
23
- --
24
-
25
-
26
- == Fetch and compile an example Metanorma-CSD document
27
-
28
- We’re going to use the vCard Format Specification sample document here.
29
- Clone the Metanorma-CSD repository and change into the directory with the example:
30
-
31
- [source,console]
32
- --
33
- git clone https://github.com/metanorma/metanorma-csd.git
34
- cd /spec/examples/
35
- --
36
-
37
- To compile the document, run the Docker container as follows:
38
-
39
- [source,console]
40
- --
41
- docker run -v "$(pwd)":/metanorma/ -w /metanorma metanorma/metanorma metanorma -t csd -x xml,html,pdf,doc rfc6350.adoc
42
- --
43
-
44
- NOTE: If you use Metanorma-CLI instead of Docker,
45
- http://metanorma.com:4001/software/metanorma-cli/docs/usage/[see how to use the metanorma executable to compile documnts].
46
-
47
-
48
- == Write valid AsciiCSD
49
-
50
- A Metanorma-CSD is a file in AsciiDoc format with certain extensions
51
- specific to Metanorma as a whole and Metanorma-CSD in particular.
52
- (We call the format AsciiCSD for short.)
53
-
54
-
55
- === AsciiDoc basics
56
-
57
- NOTE: Skip this section if you’re already familiar with AsciiDoc syntax.
58
-
59
- ==== Inline formatting
60
-
61
- [source,asciidoc]
62
- --
63
- *bold emphasis*, _italic emphasis_, `monospace / code snippet`
64
- "`Typographic double quotes`", '`typographic single quotes`'
65
- Subscript: H~2~O; superscript: E=mc^2^
66
- --
67
-
68
- ==== Sections, anchors and references
69
-
70
- [source,asciidoc]
71
- --
72
- == Section 1
73
-
74
- Content (see <<anchor>>)
75
-
76
- == Section 2
77
-
78
- === Section 2.1
79
-
80
- [[anchor]]
81
- ==== Section 2.2
82
-
83
- Content 2.2. http://www.calconnect.org/[CalConnect]
84
- --
85
-
86
- ==== Lists and blocks
87
-
88
- [source,asciidoc]
89
- --
90
- * Unordered list item 1
91
- * Unordered list item 2
92
-
93
- . Ordered list item 1
94
- . Ordered list item 2
95
-
96
- Definition list:
97
-
98
- stem:[w]:: is the mass fraction of grains with defects in the test sample;
99
- stem:[m_D]:: is the mass, in grams, of grains with that defect;
100
- mag:: is the mass, in grams, of the aggregated test sample.
101
- --
102
-
103
- ==== Tables, figures, footnotes
104
-
105
- A rather complex table:
106
-
107
- [source,adoc]
108
- ----
109
- [[tableD-1]]
110
- [cols="<,^,^,^,^",headerrows=2]
111
- .Repeatability and reproducibility of husked rice yield
112
- |===
113
- .2+| Description 4+| Rice sample
114
- | Arborio | Drago footnote:[Parboiled rice.] | Balilla | Thaibonnet
115
-
116
- | Number of laboratories retained after eliminating outliers | 13 | 11 | 13 | 13
117
- | Mean value, g/100 g | 81,2 | 82,0 | 81,8 | 77,7
118
- |===
119
- ----
120
-
121
- Images (figures) and footnotes:
122
-
123
- [source,adoc]
124
- ----
125
- [[figureC-1]]
126
- .Typical gelatinization curve
127
- image::images/rice_image2.png[]
128
- footnote:[The time stem:[t_90] was estimated to be 18,2 min for this example.]
129
- ----
130
-
131
-
132
- ==== Admonition blocks, quotes & code listings
133
-
134
- Admonitions (notes, warnings, cautions, etc.) and examples:
135
-
136
- [source,adoc]
137
- ----
138
- NOTE: It is unnecessary to compare rice yield across years.
139
-
140
- [example]
141
- 5 + 3 = 8
142
- ----
143
-
144
- Block quotes:
145
-
146
- [source,adoc]
147
- ----
148
- [quote,ISO,"ISO7301,clause 1"]
149
- _____
150
- This Standard gives the minimum specifications for rice (_Oryza sativa_ L.)
151
- _____
152
- ----
153
-
154
- Source code:
155
-
156
- [source,adoc]
157
- ----
158
- [source,some-lang]
159
- ------
160
- function () -> {}
161
- ------
162
- ----
163
-
164
-
165
- === Extensions to AsciiDoc
166
-
167
- ==== Document header & custom AsciiDoc attributes
168
-
169
- `:docnumber:`: CalConnect document number, as allocated by TCC.
170
-
171
- `:status:`: The status of the document can be one of:
172
-
173
- * proposal
174
- * working-draft
175
- * committee-draft
176
- * draft-standard
177
- * final-draft
178
- * published
179
- * withdrawn
180
-
181
- `:doctype:`: The type of the document can be one of:
182
-
183
- * standard
184
- * directive
185
- * guide
186
- * specification
187
- * report
188
- * amendment
189
- * technical-corrigendum
190
-
191
- `:technical-committee:`, `:technical-committee_N:` (where N is a positive integer):
192
- Technical committee; there can be more than one.
193
-
194
- `:draft:`: Enables comments in Word and XML.
195
-
196
- `:local-cache-only:`: Used with Metanorma under Docker to ensure bibliographic entries
197
- do not get unnecessarily fetched all the time.
198
-
199
-
200
- ==== Foreword & Introduction
201
-
202
- Foreword must be put before the first real section/clause (the `==` one).
203
-
204
- ----
205
- [[foreword]]
206
- .Foreword
207
- The Calendaring and Scheduling Consortium ("`CalConnect`") is global non-profit
208
- organization with the aim to facilitate interoperability of technologies across
209
- user-centric systems and applications...
210
- ----
211
-
212
- Introduction comes after Foreword and is unnumbered (actually "`0`"):
213
-
214
- ----
215
- [[introduction]]
216
- :sectnums!: <== disables display of section number
217
- == Introduction
218
-
219
- <<ISO8601>> has been the international standard for date and time representations
220
- and is applied widely, including in the <<RFC5545>> and <<RFC6350>> standards
221
- ...
222
-
223
- :sectnums: <== re-enables display of section number
224
- ----
225
-
226
- NOTE: Some ISO standards display Introduction section numbers (the "`0`") if there are
227
- too many sub-sections.
228
-
229
-
230
- ==== Normative references & bibliography
231
-
232
- What is a normative vs informative reference?
233
-
234
- * A change to a normative reference requires updating of the document;
235
- * A change to an informative reference should not trigger a change in the document.
236
-
237
-
238
- Clause 2 must be this:
239
-
240
- ----
241
- [bibliography]
242
- == Normative references
243
-
244
- * [[[ISO3696,ISO 3696]]], _Water for analytical laboratory use -- Test methods_
245
- ----
246
-
247
- Last section must be this:
248
-
249
- ----
250
- [bibliography]
251
- == Bibliography
252
-
253
- * [[[ISO5609,ISO 5609]]], _Soil for laboratory analysis -- Test methods_
254
- ----
255
-
256
- NOTE: the Bibliography is identical in usage with the IETF RFC section "`Informative references`".
257
-
258
-
259
- ==== Citations
260
-
261
- In a CSD you often want to cite external or internal references.
262
-
263
- Internal:
264
- [source,adoc]
265
- ----
266
- [[dog-food]]
267
- == Dog food
268
-
269
- Dogs love food, not only bones. Mine especially loves eating Oreo's.
270
-
271
- == Living with your dog
272
-
273
- My dog, Cookie, loves to eat cookies (see <<dog-food>>).
274
-
275
- ----
276
-
277
-
278
- External (remember to add the reference!):
279
-
280
- [source,adoc]
281
- ----
282
- The quality requirements on wheat are described in <<ISO7301>>.
283
-
284
- In particular, those for bread wheat (T. aestivum) are given in
285
- <<ISO7301,clause=5.6>>.
286
- ----
287
-
288
-
289
- ==== Terms and definitions
290
-
291
- This must be clause 3.
292
-
293
- [source,adoc]
294
- ----
295
- [[tda]] <= anchor if you want it
296
- [source=ISO8601-1] <= allows inheriting terms and definitions from
297
- another document
298
- == Terms, definitions, symbols and abbreviations <= can combine T&D and S&A
299
-
300
- === Terms and definitions <= the real T&D clause
301
-
302
- [[term-explicit]] <= anchor if you want it
303
- ==== explicit form <= term item
304
-
305
- date and time representation that uses designator symbols to delimit
306
- time scale components
307
- ----
308
-
309
-
310
- ==== Term entry in T&D
311
-
312
- The structure is strict; the following illustrates the complete structure of a term entry.
313
-
314
- In the term source (`[.source]`), all content after the reference and the "`comma`" is about "`modifications`" to the original definition.
315
-
316
- [source,adoc]
317
- ----
318
- [[paddy]] <= anchor
319
- === paddy <= term
320
- alt:[paddy rice] <= alternative term
321
- alt:[rough rice] <= second alternative
322
- deprecated:[cargo rice] <= deprecated term
323
- domain:[rice] <= domain
324
-
325
- rice retaining its husk after threshing <= definition
326
-
327
- [example] <= example
328
- Foreign seeds, husks, bran, sand, dust.
329
-
330
- NOTE: The starch of waxy rice consists almost entirely of amylopectin. <= note
331
-
332
- [.source]
333
- <<ISO7301,section 3.2>>, The term "cargo rice" is shown as deprecated, <= source
334
- and Note 1 to entry is not included here.
335
- ----
336
-
337
-
338
- ==== Term entry sourced from IEC Electropedia (IEV)
339
-
340
- In the `[.source]`, a termbase such as the IEC Electropedia ("`IEV`") can be used, such as:
341
-
342
- [source,adoc]
343
- ----
344
- [.source]
345
- <<IEV,clause "113-01-01">>, the term "space-time" is further explained
346
- in a new Note 2 to entry.
347
- ----
348
-
349
- References to the specific IEC 60500 documents (where IEV terms came
350
- from) are automatically added to the Bibliography.
351
-
352
-
353
- ==== Annex
354
-
355
- Annexes have to be placed before the "`Bibliography`".
356
-
357
- [source,adoc]
358
- ----
359
- [[AnnexA]]
360
- [appendix,subtype=informative]
361
- == Example date and time expressions, and representations
362
- ...
363
- ----
364
-
365
-
366
- == Where next?
367
-
368
- * https://www.metanorma.com/overview/[Learn more about Metanorma]