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 +4 -4
- data/lib/isodoc/cc/cc.standard.xsl +232 -147
- data/lib/isodoc/cc/html/cc.css +18 -11
- data/lib/isodoc/cc/html/cc.scss +16 -8
- data/lib/isodoc/cc/html/htmlstyle.css +6 -0
- data/lib/isodoc/cc/html/htmlstyle.scss +1 -0
- data/lib/metanorma/cc/biblio.rng +32 -34
- data/lib/metanorma/cc/isodoc.rng +9 -0
- data/lib/metanorma/cc/version.rb +1 -1
- metadata +3 -5
- data/docs/navigation.adoc +0 -8
- data/docs/quickstart.adoc +0 -368
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88bc148aeb63cade7c68d91da1dc250240d0fba5af3ff1b54f6f534537c1804b
|
4
|
+
data.tar.gz: 34f5cb4620035bc1ca634dc5df59f74545a9ec8d76e730cc98cfb0b467668c41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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:
|
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="
|
577
|
-
|
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
|
-
|
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="
|
2536
|
-
|
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
|
-
|
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:
|
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="$
|
2621
|
-
|
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 >= $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 <= $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
|
-
|
2692
|
-
<xsl:
|
2693
|
-
|
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
|
-
|
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
|
-
|
2719
|
-
|
2720
|
-
|
2721
|
-
<xsl:
|
2722
|
-
|
2723
|
-
|
2724
|
-
|
2725
|
-
|
2726
|
-
|
2727
|
-
</xsl:
|
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
|
-
|
2730
|
-
|
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 > $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
|
-
|
2772
|
-
|
2773
|
-
|
2774
|
-
|
2775
|
-
|
2776
|
-
|
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()='
|
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
|
-
<
|
7515
|
+
<xsl:value-of select="$docidentifier"/>
|
7516
|
+
|
7448
7517
|
<xsl:apply-templates select="*[local-name() = 'note']"/>
|
7449
|
-
|
7450
|
-
<xsl:
|
7451
|
-
<xsl:
|
7452
|
-
|
7453
|
-
|
7454
|
-
|
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
|
-
|
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
|
-
|
7790
|
-
<xsl:
|
7791
|
-
|
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:
|
7798
|
-
<xsl:
|
7799
|
-
|
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">
|
data/lib/isodoc/cc/html/cc.css
CHANGED
@@ -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}}; }
|
data/lib/isodoc/cc/html/cc.scss
CHANGED
@@ -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
|
-
|
737
|
-
font-family:$bodyfont;}
|
745
|
+
}
|
738
746
|
|
739
747
|
td.example p.MsoListParagraph {
|
740
748
|
font-size: $smallerfontsize;
|
data/lib/metanorma/cc/biblio.rng
CHANGED
@@ -614,12 +614,12 @@
|
|
614
614
|
<optional>
|
615
615
|
<ref name="fetched"/>
|
616
616
|
</optional>
|
617
|
-
<
|
618
|
-
<oneOrMore>
|
619
|
-
<ref name="btitle"/>
|
620
|
-
</oneOrMore>
|
617
|
+
<optional>
|
621
618
|
<ref name="formattedref"/>
|
622
|
-
</
|
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
|
-
<
|
989
|
+
<optional>
|
990
990
|
<ref name="formattedref"/>
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
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">
|
data/lib/metanorma/cc/isodoc.rng
CHANGED
@@ -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"/>
|
data/lib/metanorma/cc/version.rb
CHANGED
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.
|
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-
|
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.
|
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
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]
|