metanorma-cc 2.1.1 → 2.1.2

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