metanorma-cc 2.1.11 → 2.1.13

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: 97ce2809458bcd871cc0cb293e22305f528c764946a3843154ae6fc524edd363
4
- data.tar.gz: 154d5f42665f04084d69fd9007a25870dae47dc9bd23e4b744bb1e585226cdc7
3
+ metadata.gz: 5000afa2946588d1bfb3cb0e985af9beef653134e773704f72b27944d98e0b83
4
+ data.tar.gz: 22cd057e8aa8c8ac6e50a11af2c8d959648461be50c5126cd96bf4d786b86086
5
5
  SHA512:
6
- metadata.gz: c9e54b76abdf33229f400e851c9c4de1d1a1c7722d865401e1e8c05e93e225b357b260da88c42207125a02807b6418b4be115257f315e5c5a45a0a6973edc130
7
- data.tar.gz: ab54c1ce35877386b371465f8605b30b880fc324b58b244e19736a2e619ced8cd632a3fc0a888e81e5a79be04901b202388df9f8592a245ffda385dca60cec88
6
+ metadata.gz: e7c899b03f57744cb7cad336a38b28fd7c6f6f31e19191900c0647b91d76186c6baef984c917087d7a84141f7a3b559bad73d7fcb509a043379a3f9f5fff4e38
7
+ data.tar.gz: 05bf8c83d0b32183c5844ed482c2439a410af5a33f621f70c5514ebc5ad711a50ce01fabb87931bb5d629548ede68308162520cbe85cd99fd5b71cd352d38979
@@ -556,6 +556,8 @@
556
556
  </fo:static-content>
557
557
  </xsl:template>
558
558
 
559
+ <xsl:strip-space elements="csd:xref"/>
560
+
559
561
  <!-- external parameters -->
560
562
 
561
563
  <xsl:param name="svg_images"/> <!-- svg images array -->
@@ -973,6 +975,14 @@
973
975
 
974
976
  </xsl:attribute-set>
975
977
 
978
+ <xsl:attribute-set name="pre-style">
979
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
980
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
981
+
982
+ <xsl:attribute name="font-family"><xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
983
+
984
+ </xsl:attribute-set>
985
+
976
986
  <xsl:attribute-set name="permission-style">
977
987
 
978
988
  </xsl:attribute-set>
@@ -1081,6 +1091,11 @@
1081
1091
  </xsl:variable>
1082
1092
  <xsl:variable name="table-border" select="normalize-space($table-border_)"/>
1083
1093
 
1094
+ <xsl:variable name="table-cell-border_">
1095
+
1096
+ </xsl:variable>
1097
+ <xsl:variable name="table-cell-border" select="normalize-space($table-cell-border_)"/>
1098
+
1084
1099
  <xsl:attribute-set name="table-container-style">
1085
1100
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1086
1101
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -1092,8 +1107,6 @@
1092
1107
  <xsl:attribute-set name="table-style">
1093
1108
  <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1094
1109
  <xsl:attribute name="table-layout">fixed</xsl:attribute>
1095
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1096
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1097
1110
 
1098
1111
  </xsl:attribute-set><!-- table-style -->
1099
1112
 
@@ -1909,17 +1922,22 @@
1909
1922
  </xsl:for-each>
1910
1923
  </xsl:template>
1911
1924
 
1925
+ <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
1912
1926
  <xsl:variable name="tag_fo_inline_keep-together_within-line_open">###fo:inline keep-together_within-line###</xsl:variable>
1913
1927
  <xsl:variable name="tag_fo_inline_keep-together_within-line_close">###/fo:inline keep-together_within-line###</xsl:variable>
1914
1928
  <xsl:template match="text()" name="text">
1915
1929
 
1916
- <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
1917
- <xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_fo_inline_keep-together_within-line_open,'$1',$tag_fo_inline_keep-together_within-line_close))"/>
1918
- <xsl:call-template name="replace_fo_inline_tags">
1919
- <xsl:with-param name="tag_open" select="$tag_fo_inline_keep-together_within-line_open"/>
1920
- <xsl:with-param name="tag_close" select="$tag_fo_inline_keep-together_within-line_close"/>
1921
- <xsl:with-param name="text" select="$text"/>
1922
- </xsl:call-template>
1930
+ <xsl:choose>
1931
+ <xsl:when test="ancestor::*[local-name() = 'table']"><xsl:value-of select="."/></xsl:when>
1932
+ <xsl:otherwise>
1933
+ <xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_fo_inline_keep-together_within-line_open,'$1',$tag_fo_inline_keep-together_within-line_close))"/>
1934
+ <xsl:call-template name="replace_fo_inline_tags">
1935
+ <xsl:with-param name="tag_open" select="$tag_fo_inline_keep-together_within-line_open"/>
1936
+ <xsl:with-param name="tag_close" select="$tag_fo_inline_keep-together_within-line_close"/>
1937
+ <xsl:with-param name="text" select="$text"/>
1938
+ </xsl:call-template>
1939
+ </xsl:otherwise>
1940
+ </xsl:choose>
1923
1941
 
1924
1942
  </xsl:template>
1925
1943
 
@@ -2178,10 +2196,18 @@
2178
2196
  <xsl:variable name="table_attributes">
2179
2197
 
2180
2198
  <xsl:element name="table_attributes" use-attribute-sets="table-style">
2199
+
2200
+ <xsl:if test="$margin-side != 0">
2201
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2202
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2203
+ </xsl:if>
2204
+
2181
2205
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2182
2206
 
2183
- <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2184
- <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2207
+ <xsl:if test="$margin-side != 0">
2208
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2209
+ <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2210
+ </xsl:if>
2185
2211
 
2186
2212
  </xsl:element>
2187
2213
  </xsl:variable>
@@ -2284,7 +2310,7 @@
2284
2310
 
2285
2311
  <!-- centered table when table name is centered (see table-name-style) -->
2286
2312
 
2287
- <fo:table table-layout="fixed" width="100%">
2313
+ <fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style">
2288
2314
  <fo:table-column column-width="proportional-column-width(1)"/>
2289
2315
  <fo:table-column column-width="{@width}"/>
2290
2316
  <fo:table-column column-width="proportional-column-width(1)"/>
@@ -2937,6 +2963,10 @@
2937
2963
  <xsl:template match="*[local-name()='tr']">
2938
2964
  <fo:table-row xsl:use-attribute-sets="table-body-row-style">
2939
2965
 
2966
+ <xsl:if test="count(*) = count(*[local-name() = 'th'])"> <!-- row contains 'th' only -->
2967
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2968
+ </xsl:if>
2969
+
2940
2970
  <xsl:call-template name="setTableRowAttributes"/>
2941
2971
  <xsl:apply-templates/>
2942
2972
  </fo:table-row>
@@ -3892,7 +3922,8 @@
3892
3922
  <xsl:copy-of select="node()"/>
3893
3923
  </td>
3894
3924
  <td>
3895
- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
3925
+ <!-- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/> -->
3926
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]" mode="dl_if"/>
3896
3927
  <!-- get paragraphs from nested 'dl' -->
3897
3928
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
3898
3929
  </td>
@@ -3900,6 +3931,53 @@
3900
3931
  </xsl:template>
3901
3932
  <xsl:template match="*[local-name()='dd']" mode="dl_if"/>
3902
3933
 
3934
+ <xsl:template match="*" mode="dl_if">
3935
+ <xsl:copy-of select="."/>
3936
+ </xsl:template>
3937
+
3938
+ <xsl:template match="*[local-name() = 'p']" mode="dl_if">
3939
+ <xsl:param name="indent"/>
3940
+ <p>
3941
+ <xsl:copy-of select="@*"/>
3942
+ <xsl:value-of select="$indent"/>
3943
+ <xsl:copy-of select="node()"/>
3944
+ </p>
3945
+
3946
+ </xsl:template>
3947
+
3948
+ <xsl:template match="*[local-name() = 'ul' or local-name() = 'ol']" mode="dl_if">
3949
+ <xsl:variable name="list_rendered_">
3950
+ <xsl:apply-templates select="."/>
3951
+ </xsl:variable>
3952
+ <xsl:variable name="list_rendered" select="xalan:nodeset($list_rendered_)"/>
3953
+
3954
+ <xsl:variable name="indent">
3955
+ <xsl:for-each select="($list_rendered//fo:block[not(.//fo:block)])[1]">
3956
+ <xsl:apply-templates select="ancestor::*[@provisional-distance-between-starts]/@provisional-distance-between-starts" mode="dl_if"/>
3957
+ </xsl:for-each>
3958
+ </xsl:variable>
3959
+
3960
+ <xsl:apply-templates mode="dl_if">
3961
+ <xsl:with-param name="indent" select="$indent"/>
3962
+ </xsl:apply-templates>
3963
+ </xsl:template>
3964
+
3965
+ <xsl:template match="*[local-name() = 'li']" mode="dl_if">
3966
+ <xsl:param name="indent"/>
3967
+ <xsl:apply-templates mode="dl_if">
3968
+ <xsl:with-param name="indent" select="$indent"/>
3969
+ </xsl:apply-templates>
3970
+ </xsl:template>
3971
+
3972
+ <xsl:template match="@provisional-distance-between-starts" mode="dl_if">
3973
+ <xsl:variable name="value" select="round(substring-before(.,'mm'))"/>
3974
+ <!-- emulate left indent for list item -->
3975
+ <xsl:call-template name="repeat">
3976
+ <xsl:with-param name="char" select="'x'"/>
3977
+ <xsl:with-param name="count" select="$value"/>
3978
+ </xsl:call-template>
3979
+ </xsl:template>
3980
+
3903
3981
  <xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
3904
3982
  <xsl:for-each select="*[local-name() = 'dt']">
3905
3983
  <p>
@@ -4296,6 +4374,7 @@
4296
4374
  </word>
4297
4375
  <xsl:call-template name="tokenize_with_tags">
4298
4376
  <xsl:with-param name="text" select="substring-after($text, $separator)"/>
4377
+ <xsl:with-param name="tags" select="$tags"/>
4299
4378
  </xsl:call-template>
4300
4379
  </xsl:otherwise>
4301
4380
  </xsl:choose>
@@ -4335,8 +4414,18 @@
4335
4414
 
4336
4415
  <xsl:template name="add-zero-spaces-java">
4337
4416
  <xsl:param name="text" select="."/>
4338
- <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
4339
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
4417
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space, arrow right -->
4418
+ <xsl:variable name="text1" select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |→)','$1​')"/>
4419
+ <!-- add zero-width space (#x200B) after characters: 'great than' -->
4420
+ <xsl:variable name="text2" select="java:replaceAll(java:java.lang.String.new($text1), '(\u003e)(?!\u003e)', '$1​')"/><!-- negative lookahead: 'great than' not followed by 'great than' -->
4421
+ <!-- add zero-width space (#x200B) before characters: 'less than' -->
4422
+ <xsl:variable name="text3" select="java:replaceAll(java:java.lang.String.new($text2), '(?&lt;!\u003c)(\u003c)', '​$1')"/> <!-- (?<!\u003c)(\u003c) --> <!-- negative lookbehind: 'less than' not preceeded by 'less than' -->
4423
+ <!-- add zero-width space (#x200B) before character: { -->
4424
+ <xsl:variable name="text4" select="java:replaceAll(java:java.lang.String.new($text3), '(?&lt;!\W)(\{)', '​$1')"/> <!-- negative lookbehind: '{' not preceeded by 'punctuation char' -->
4425
+ <!-- add zero-width space (#x200B) after character: , -->
4426
+ <xsl:variable name="text5" select="java:replaceAll(java:java.lang.String.new($text4), '(\,)(?!\d)', '$1​')"/> <!-- negative lookahead: ',' not followed by digit -->
4427
+
4428
+ <xsl:value-of select="$text5"/>
4340
4429
  </xsl:template>
4341
4430
 
4342
4431
  <xsl:template name="add-zero-spaces-link-java">
@@ -4482,7 +4571,7 @@
4482
4571
  </xsl:copy>
4483
4572
  </xsl:template>
4484
4573
 
4485
- <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p'])]" mode="table-without-br">
4574
+ <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p']) and not(*[local-name()='sourcecode'])]" mode="table-without-br">
4486
4575
  <xsl:copy>
4487
4576
  <xsl:copy-of select="@*"/>
4488
4577
  <p>
@@ -4530,6 +4619,28 @@
4530
4619
  </xsl:for-each>
4531
4620
  </xsl:template>
4532
4621
 
4622
+ <xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'sourcecode']" mode="table-without-br">
4623
+ <xsl:apply-templates mode="table-without-br"/>
4624
+ </xsl:template>
4625
+
4626
+ <xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'sourcecode']/text()[contains(., '&#13;') or contains(., '&#10;')]" mode="table-without-br">
4627
+
4628
+ <xsl:variable name="sep">###SOURCECODE_NEWLINE###</xsl:variable>
4629
+ <xsl:variable name="sourcecode_text" select="java:replaceAll(java:java.lang.String.new(.),'(&#13;&#10;|&#13;|&#10;)', $sep)"/>
4630
+ <xsl:variable name="items">
4631
+ <xsl:call-template name="split">
4632
+ <xsl:with-param name="pText" select="$sourcecode_text"/>
4633
+ <xsl:with-param name="sep" select="$sep"/>
4634
+ <xsl:with-param name="normalize-space">false</xsl:with-param>
4635
+ </xsl:call-template>
4636
+ </xsl:variable>
4637
+ <xsl:for-each select="xalan:nodeset($items)/*">
4638
+ <p>
4639
+ <sourcecode><xsl:copy-of select="node()"/></sourcecode>
4640
+ </p>
4641
+ </xsl:for-each>
4642
+ </xsl:template>
4643
+
4533
4644
  <!-- remove redundant white spaces -->
4534
4645
  <xsl:template match="text()[not(ancestor::*[local-name() = 'sourcecode'])]" mode="table-without-br">
4535
4646
  <xsl:variable name="text" select="translate(.,'&#9;&#10;&#13;','')"/>
@@ -4840,6 +4951,7 @@
4840
4951
  <xsl:if test="ancestor::*[local-name() = 'sub']"><tag>sub</tag></xsl:if>
4841
4952
  <xsl:if test="ancestor::*[local-name() = 'sup']"><tag>sup</tag></xsl:if>
4842
4953
  <xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
4954
+ <xsl:if test="ancestor::*[local-name() = 'sourcecode']"><tag>sourcecode</tag></xsl:if>
4843
4955
  <xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
4844
4956
  </tags>
4845
4957
  </xsl:template>
@@ -4902,6 +5014,9 @@
4902
5014
  <xsl:value-of select="substring($str, 2)"/>
4903
5015
  </xsl:template>
4904
5016
 
5017
+ <!-- ======================================= -->
5018
+ <!-- math -->
5019
+ <!-- ======================================= -->
4905
5020
  <xsl:template match="mathml:math">
4906
5021
  <xsl:variable name="isAdded" select="@added"/>
4907
5022
  <xsl:variable name="isDeleted" select="@deleted"/>
@@ -4952,14 +5067,57 @@
4952
5067
  <xsl:value-of select="$comment_text"/>
4953
5068
  </xsl:template>
4954
5069
 
5070
+ <xsl:template match="*[local-name() = 'asciimath']">
5071
+ <xsl:param name="process" select="'false'"/>
5072
+ <xsl:if test="$process = 'true'">
5073
+ <xsl:apply-templates/>
5074
+ </xsl:if>
5075
+ </xsl:template>
5076
+
5077
+ <xsl:template match="*[local-name() = 'latexmath']"/>
5078
+
5079
+ <xsl:template name="getMathml_asciimath_text">
5080
+ <xsl:variable name="asciimath" select="../*[local-name() = 'asciimath']"/>
5081
+ <xsl:variable name="latexmath">
5082
+
5083
+ </xsl:variable>
5084
+ <xsl:variable name="asciimath_text_following">
5085
+ <xsl:choose>
5086
+ <xsl:when test="normalize-space($latexmath) != ''">
5087
+ <xsl:value-of select="$latexmath"/>
5088
+ </xsl:when>
5089
+ <xsl:when test="normalize-space($asciimath) != ''">
5090
+ <xsl:value-of select="$asciimath"/>
5091
+ </xsl:when>
5092
+ <xsl:otherwise>
5093
+ <xsl:value-of select="following-sibling::node()[1][self::comment()]"/>
5094
+ </xsl:otherwise>
5095
+ </xsl:choose>
5096
+ </xsl:variable>
5097
+ <xsl:variable name="asciimath_text_">
5098
+ <xsl:choose>
5099
+ <xsl:when test="normalize-space($asciimath_text_following) != ''">
5100
+ <xsl:value-of select="$asciimath_text_following"/>
5101
+ </xsl:when>
5102
+ <xsl:otherwise>
5103
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
5104
+ </xsl:otherwise>
5105
+ </xsl:choose>
5106
+ </xsl:variable>
5107
+ <xsl:variable name="asciimath_text_2" select="java:org.metanorma.fop.Util.unescape($asciimath_text_)"/>
5108
+ <xsl:variable name="asciimath_text" select="java:trim(java:java.lang.String.new($asciimath_text_2))"/>
5109
+ <xsl:value-of select="$asciimath_text"/>
5110
+ </xsl:template>
5111
+
4955
5112
  <xsl:template name="mathml_instream_object">
4956
- <xsl:param name="comment_text"/>
5113
+ <xsl:param name="asciimath_text"/>
4957
5114
  <xsl:param name="mathml_content"/>
4958
5115
 
4959
- <xsl:variable name="comment_text_">
5116
+ <xsl:variable name="asciimath_text_">
4960
5117
  <xsl:choose>
4961
- <xsl:when test="normalize-space($comment_text) != ''"><xsl:value-of select="$comment_text"/></xsl:when>
4962
- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise>
5118
+ <xsl:when test="normalize-space($asciimath_text) != ''"><xsl:value-of select="$asciimath_text"/></xsl:when>
5119
+ <!-- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise> -->
5120
+ <xsl:otherwise><xsl:call-template name="getMathml_asciimath_text"/></xsl:otherwise>
4963
5121
  </xsl:choose>
4964
5122
  </xsl:variable>
4965
5123
 
@@ -4976,10 +5134,10 @@
4976
5134
  </xsl:attribute>
4977
5135
 
4978
5136
  <!-- <xsl:if test="$add_math_as_text = 'true'"> -->
4979
- <xsl:if test="normalize-space($comment_text_) != ''">
5137
+ <xsl:if test="normalize-space($asciimath_text_) != ''">
4980
5138
  <!-- put Mathin Alternate Text -->
4981
5139
  <xsl:attribute name="fox:alt-text">
4982
- <xsl:value-of select="$comment_text_"/>
5140
+ <xsl:value-of select="$asciimath_text_"/>
4983
5141
  </xsl:attribute>
4984
5142
  </xsl:if>
4985
5143
  <!-- </xsl:if> -->
@@ -5052,6 +5210,29 @@
5052
5210
  <xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
5053
5211
  </xsl:template>
5054
5212
 
5213
+ <!-- Examples:
5214
+ <stem type="AsciiMath">x = 1</stem>
5215
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
5216
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath><latexmath>x = 1</latexmath></stem>
5217
+ -->
5218
+ <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
5219
+ <fo:inline xsl:use-attribute-sets="mathml-style">
5220
+
5221
+ <xsl:choose>
5222
+ <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
5223
+ <xsl:otherwise>
5224
+ <xsl:apply-templates>
5225
+ <xsl:with-param name="process">true</xsl:with-param>
5226
+ </xsl:apply-templates>
5227
+ </xsl:otherwise>
5228
+ </xsl:choose>
5229
+
5230
+ </fo:inline>
5231
+ </xsl:template>
5232
+ <!-- ======================================= -->
5233
+ <!-- END: math -->
5234
+ <!-- ======================================= -->
5235
+
5055
5236
  <xsl:template match="*[local-name()='localityStack']"/>
5056
5237
 
5057
5238
  <xsl:template match="*[local-name()='link']" name="link">
@@ -5254,6 +5435,12 @@
5254
5435
 
5255
5436
  <fo:block-container margin-left="0mm">
5256
5437
 
5438
+ <!-- <xsl:if test="$namespace = 'iho'">
5439
+ <xsl:if test="ancestor::iho:td">
5440
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
5441
+ </xsl:if>
5442
+ </xsl:if> -->
5443
+
5257
5444
  <fo:block>
5258
5445
 
5259
5446
  <fo:inline xsl:use-attribute-sets="note-name-style">
@@ -6388,45 +6575,23 @@
6388
6575
  <xsl:apply-templates mode="contents_item"/>
6389
6576
  </xsl:template>
6390
6577
 
6391
- <!-- ====== -->
6392
- <!-- sourcecode -->
6393
- <!-- ====== -->
6578
+ <!-- =============== -->
6579
+ <!-- sourcecode -->
6580
+ <!-- =============== -->
6394
6581
  <xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
6395
6582
 
6396
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
6583
+ <xsl:variable name="sourcecode_attributes">
6584
+ <xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
6585
+ <xsl:variable name="_font-size">
6397
6586
 
6398
- <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
6399
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
6400
- </xsl:if>
6587
+ 10
6401
6588
 
6402
- <xsl:if test="ancestor::*[local-name() = 'example']">
6403
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
6404
- </xsl:if>
6405
6589
 
6406
- <xsl:copy-of select="@id"/>
6590
+ <!-- 9 -->
6407
6591
 
6408
- <xsl:if test="parent::*[local-name() = 'note']">
6409
- <xsl:attribute name="margin-left">
6410
- <xsl:choose>
6411
- <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
6412
- <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
6413
- </xsl:choose>
6414
- </xsl:attribute>
6415
-
6416
- </xsl:if>
6417
- <fo:block-container margin-left="0mm">
6418
-
6419
- <fo:block xsl:use-attribute-sets="sourcecode-style">
6420
- <xsl:variable name="_font-size">
6421
-
6422
- 10
6423
-
6424
-
6425
- <!-- 9 -->
6426
-
6427
- <!-- <xsl:if test="$namespace = 'ieee'">
6428
- <xsl:if test="$current_template = 'standard'">8</xsl:if>
6429
- </xsl:if> -->
6592
+ <!-- <xsl:if test="$namespace = 'ieee'">
6593
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
6594
+ </xsl:if> -->
6430
6595
 
6431
6596
  </xsl:variable>
6432
6597
 
@@ -6441,14 +6606,60 @@
6441
6606
  </xsl:choose>
6442
6607
  </xsl:attribute>
6443
6608
  </xsl:if>
6609
+ </xsl:element>
6610
+ </xsl:variable>
6444
6611
 
6612
+ <xsl:choose>
6613
+ <xsl:when test="$isGenerateTableIF = 'true' and (ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])">
6614
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
6615
+ <xsl:attribute name="{local-name()}">
6616
+ <xsl:value-of select="."/>
6617
+ </xsl:attribute>
6618
+ </xsl:for-each>
6445
6619
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6446
- </fo:block>
6620
+ </xsl:when>
6447
6621
 
6448
- <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
6622
+ <xsl:otherwise>
6623
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
6449
6624
 
6450
- </fo:block-container>
6451
- </fo:block-container>
6625
+ <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
6626
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
6627
+ </xsl:if>
6628
+
6629
+ <xsl:if test="ancestor::*[local-name() = 'example']">
6630
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
6631
+ </xsl:if>
6632
+
6633
+ <xsl:copy-of select="@id"/>
6634
+
6635
+ <xsl:if test="parent::*[local-name() = 'note']">
6636
+ <xsl:attribute name="margin-left">
6637
+ <xsl:choose>
6638
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
6639
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
6640
+ </xsl:choose>
6641
+ </xsl:attribute>
6642
+
6643
+ </xsl:if>
6644
+ <fo:block-container margin-left="0mm">
6645
+
6646
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
6647
+
6648
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
6649
+ <xsl:attribute name="{local-name()}">
6650
+ <xsl:value-of select="."/>
6651
+ </xsl:attribute>
6652
+ </xsl:for-each>
6653
+
6654
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6655
+ </fo:block>
6656
+
6657
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
6658
+
6659
+ </fo:block-container>
6660
+ </fo:block-container>
6661
+ </xsl:otherwise>
6662
+ </xsl:choose>
6452
6663
  </xsl:template>
6453
6664
 
6454
6665
  <xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
@@ -6690,8 +6901,22 @@
6690
6901
  </fo:block>
6691
6902
  </xsl:if>
6692
6903
  </xsl:template>
6693
- <!-- ====== -->
6694
- <!-- ====== -->
6904
+ <!-- =============== -->
6905
+ <!-- END sourcecode -->
6906
+ <!-- =============== -->
6907
+
6908
+ <!-- =============== -->
6909
+ <!-- pre -->
6910
+ <!-- =============== -->
6911
+ <xsl:template match="*[local-name()='pre']" name="pre">
6912
+ <fo:block xsl:use-attribute-sets="pre-style">
6913
+ <xsl:copy-of select="@id"/>
6914
+ <xsl:apply-templates/>
6915
+ </fo:block>
6916
+ </xsl:template>
6917
+ <!-- =============== -->
6918
+ <!-- pre -->
6919
+ <!-- =============== -->
6695
6920
 
6696
6921
  <!-- ========== -->
6697
6922
  <!-- permission -->
@@ -8672,7 +8897,9 @@
8672
8897
  <!-- ===================================== -->
8673
8898
  <!-- Update xml -->
8674
8899
  <!-- ===================================== -->
8900
+ <!-- =========================================================================== -->
8675
8901
  <!-- STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
8902
+ <!-- =========================================================================== -->
8676
8903
  <xsl:template match="@*|node()" mode="update_xml_step1">
8677
8904
  <xsl:copy>
8678
8905
  <xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
@@ -8764,10 +8991,15 @@
8764
8991
  <xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
8765
8992
  <xsl:apply-templates mode="update_xml_step1"/>
8766
8993
  </xsl:template>
8767
-
8994
+ <!-- =========================================================================== -->
8768
8995
  <!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
8996
+ <!-- =========================================================================== -->
8769
8997
 
8998
+ <!-- =========================================================================== -->
8770
8999
  <!-- XML UPDATE STEP: enclose standard's name into tag 'keep-together_within-line' -->
9000
+ <!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
9001
+ <!-- keep-together_within-line for: a.b, aaa.b, a.bbb, .b in table's cell ONLY -->
9002
+ <!-- =========================================================================== -->
8771
9003
  <!-- Example: <keep-together_within-line>ISO 10303-51</keep-together_within-line> -->
8772
9004
  <xsl:template match="@*|node()" mode="update_xml_enclose_keep-together_within-line">
8773
9005
  <xsl:copy>
@@ -8783,10 +9015,15 @@
8783
9015
  <xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
8784
9016
 
8785
9017
  <!-- enclose standard's number into tag 'keep-together_within-line' -->
8786
- <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
8787
9018
  <xsl:variable name="tag_keep-together_within-line_open">###<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
8788
9019
  <xsl:variable name="tag_keep-together_within-line_close">###/<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
8789
- <xsl:variable name="text_" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
9020
+ <xsl:variable name="text__" select="java:replaceAll(java:java.lang.String.new(.), $regex_standard_reference, concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
9021
+ <xsl:variable name="text_">
9022
+ <xsl:choose>
9023
+ <xsl:when test="ancestor::*[local-name() = 'table']"><xsl:value-of select="."/></xsl:when> <!-- no need enclose standard's number into tag 'keep-together_within-line' in table cells -->
9024
+ <xsl:otherwise><xsl:value-of select="$text__"/></xsl:otherwise>
9025
+ </xsl:choose>
9026
+ </xsl:variable>
8790
9027
  <xsl:variable name="text"><text><xsl:call-template name="replace_text_tags">
8791
9028
  <xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
8792
9029
  <xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
@@ -8802,7 +9039,11 @@
8802
9039
  </xsl:variable>
8803
9040
 
8804
9041
  <!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
8805
- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable>
9042
+ <!-- \S matches any non-whitespace character (equivalent to [^\r\n\t\f\v ]) -->
9043
+ <!-- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable> -->
9044
+ <!-- add &lt; and &gt; to \S -->
9045
+ <xsl:variable name="regex_S">[^\r\n\t\f\v \&lt;&gt;]</xsl:variable>
9046
+ <xsl:variable name="regex_solidus_units">((\b((<xsl:value-of select="$regex_S"/>{1,3}\/<xsl:value-of select="$regex_S"/>+)|(<xsl:value-of select="$regex_S"/>+\/<xsl:value-of select="$regex_S"/>{1,3}))\b)|(\/<xsl:value-of select="$regex_S"/>{1,3})\b)</xsl:variable>
8806
9047
  <xsl:variable name="text3">
8807
9048
  <text><xsl:for-each select="xalan:nodeset($text2)/text/node()">
8808
9049
  <xsl:choose>
@@ -8866,9 +9107,8 @@
8866
9107
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
8867
9108
  </xsl:choose>
8868
9109
  </xsl:template>
8869
-
8870
9110
  <!-- ===================================== -->
8871
- <!-- End Update xml -->
9111
+ <!-- END XML UPDATE STEP: enclose standard's name into tag 'keep-together_within-line' -->
8872
9112
  <!-- ===================================== -->
8873
9113
 
8874
9114
  <!-- for correct rendering combining chars -->
@@ -9256,13 +9496,14 @@
9256
9496
  </xsl:template>
9257
9497
 
9258
9498
  <xsl:template name="setId">
9499
+ <xsl:param name="prefix"/>
9259
9500
  <xsl:attribute name="id">
9260
9501
  <xsl:choose>
9261
9502
  <xsl:when test="@id">
9262
- <xsl:value-of select="@id"/>
9503
+ <xsl:value-of select="concat($prefix, @id)"/>
9263
9504
  </xsl:when>
9264
9505
  <xsl:otherwise>
9265
- <xsl:value-of select="generate-id()"/>
9506
+ <xsl:value-of select="concat($prefix, generate-id())"/>
9266
9507
  </xsl:otherwise>
9267
9508
  </xsl:choose>
9268
9509
  </xsl:attribute>
@@ -647,6 +647,15 @@ nav #toc {
647
647
  #toc .h3, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .h3 {
648
648
  padding-left: 50px; }
649
649
 
650
+ #toc .h4, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .h4 {
651
+ padding-left: 70px; }
652
+
653
+ #toc .h5, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .h5 {
654
+ padding-left: 90px; }
655
+
656
+ #toc .h6, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .h6 {
657
+ padding-left: 110px; }
658
+
650
659
  #toc .toc-active, #toc li:hover, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover {
651
660
  background: #1d1d1d;
652
661
  box-shadow: inset -5px 0px 10px -5px #1d1d1d !important; }
@@ -683,6 +683,156 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3 {
683
683
  font-weight: bold;
684
684
  mso-bidi-font-weight: normal; }
685
685
 
686
+ p.MsoToc4, li.MsoToc4, div.MsoToc4 {
687
+ mso-style-noshow: yes;
688
+ mso-style-priority: 39;
689
+ mso-style-unhide: no;
690
+ mso-style-name: "TOC 4";
691
+ mso-style-parent: "TOC 3";
692
+ mso-style-next: Normal;
693
+ margin-top: 0cm;
694
+ margin-right: 25.0pt;
695
+ margin-bottom: 0cm;
696
+ margin-left: 36.0pt;
697
+ margin-bottom: .0001pt;
698
+ text-indent: -36.0pt;
699
+ line-height: 12.0pt;
700
+ mso-pagination: widow-orphan;
701
+ mso-hyphenate: none;
702
+ tab-stops: 20.15pt 47.9pt right dotted 487.6pt;
703
+ font-size: 10.5pt;
704
+ font-family: {{bodyfont}};
705
+ mso-fareast-font-family: {{bodyfont}};
706
+ mso-bidi-font-family: {{bodyfont}};
707
+ mso-ansi-language: EN-GB;
708
+ font-weight: bold;
709
+ mso-bidi-font-weight: normal; }
710
+
711
+ p.MsoToc5, li.MsoToc5, div.MsoToc5 {
712
+ mso-style-noshow: yes;
713
+ mso-style-priority: 39;
714
+ mso-style-unhide: no;
715
+ mso-style-name: "TOC 5";
716
+ mso-style-parent: "TOC 4";
717
+ mso-style-next: Normal;
718
+ margin-top: 0cm;
719
+ margin-right: 25.0pt;
720
+ margin-bottom: 0cm;
721
+ margin-left: 36.0pt;
722
+ margin-bottom: .0001pt;
723
+ text-indent: -36.0pt;
724
+ line-height: 12.0pt;
725
+ mso-pagination: widow-orphan;
726
+ mso-hyphenate: none;
727
+ tab-stops: 20.15pt 47.9pt right dotted 487.6pt;
728
+ font-size: 10.5pt;
729
+ font-family: {{bodyfont}};
730
+ mso-fareast-font-family: {{bodyfont}};
731
+ mso-bidi-font-family: {{bodyfont}};
732
+ mso-ansi-language: EN-GB;
733
+ font-weight: bold;
734
+ mso-bidi-font-weight: normal; }
735
+
736
+ p.MsoToc6, li.MsoToc6, div.MsoToc6 {
737
+ mso-style-noshow: yes;
738
+ mso-style-priority: 39;
739
+ mso-style-unhide: no;
740
+ mso-style-name: "TOC 6";
741
+ mso-style-parent: "TOC 5";
742
+ mso-style-next: Normal;
743
+ margin-top: 0cm;
744
+ margin-right: 25.0pt;
745
+ margin-bottom: 0cm;
746
+ margin-left: 36.0pt;
747
+ margin-bottom: .0001pt;
748
+ text-indent: -36.0pt;
749
+ line-height: 12.0pt;
750
+ mso-pagination: widow-orphan;
751
+ mso-hyphenate: none;
752
+ tab-stops: 20.15pt 55.0pt right dotted 487.6pt;
753
+ font-size: 10.5pt;
754
+ font-family: {{bodyfont}};
755
+ mso-fareast-font-family: {{bodyfont}};
756
+ mso-bidi-font-family: {{bodyfont}};
757
+ mso-ansi-language: EN-GB;
758
+ font-weight: bold;
759
+ mso-bidi-font-weight: normal; }
760
+
761
+ p.MsoToc7, li.MsoToc7, div.MsoToc7 {
762
+ mso-style-noshow: yes;
763
+ mso-style-priority: 39;
764
+ mso-style-unhide: no;
765
+ mso-style-name: "TOC 7";
766
+ mso-style-parent: "TOC 6";
767
+ mso-style-next: Normal;
768
+ margin-top: 0cm;
769
+ margin-right: 25.0pt;
770
+ margin-bottom: 0cm;
771
+ margin-left: 36.0pt;
772
+ margin-bottom: .0001pt;
773
+ text-indent: -36.0pt;
774
+ line-height: 12.0pt;
775
+ mso-pagination: widow-orphan;
776
+ mso-hyphenate: none;
777
+ tab-stops: 20.15pt 62.7pt right dotted 487.6pt;
778
+ font-size: 10.5pt;
779
+ font-family: {{bodyfont}};
780
+ mso-fareast-font-family: {{bodyfont}};
781
+ mso-bidi-font-family: {{bodyfont}};
782
+ mso-ansi-language: EN-GB;
783
+ font-weight: bold;
784
+ mso-bidi-font-weight: normal; }
785
+
786
+ p.MsoToc8, li.MsoToc8, div.MsoToc8 {
787
+ mso-style-noshow: yes;
788
+ mso-style-priority: 39;
789
+ mso-style-unhide: no;
790
+ mso-style-name: "TOC 8";
791
+ mso-style-parent: "TOC 7";
792
+ mso-style-next: Normal;
793
+ margin-top: 0cm;
794
+ margin-right: 25.0pt;
795
+ margin-bottom: 0cm;
796
+ margin-left: 36.0pt;
797
+ margin-bottom: .0001pt;
798
+ text-indent: -36.0pt;
799
+ line-height: 12.0pt;
800
+ mso-pagination: widow-orphan;
801
+ mso-hyphenate: none;
802
+ tab-stops: 20.15pt 70.3pt right dotted 487.6pt;
803
+ font-size: 10.5pt;
804
+ font-family: {{bodyfont}};
805
+ mso-fareast-font-family: {{bodyfont}};
806
+ mso-bidi-font-family: {{bodyfont}};
807
+ mso-ansi-language: EN-GB;
808
+ font-weight: bold;
809
+ mso-bidi-font-weight: normal; }
810
+
811
+ p.MsoToc9, li.MsoToc9, div.MsoToc9 {
812
+ mso-style-noshow: yes;
813
+ mso-style-priority: 39;
814
+ mso-style-unhide: no;
815
+ mso-style-name: "TOC 9";
816
+ mso-style-parent: "TOC 8";
817
+ mso-style-next: Normal;
818
+ margin-top: 0cm;
819
+ margin-right: 25.0pt;
820
+ margin-bottom: 0cm;
821
+ margin-left: 36.0pt;
822
+ margin-bottom: .0001pt;
823
+ text-indent: -36.0pt;
824
+ line-height: 12.0pt;
825
+ mso-pagination: widow-orphan;
826
+ mso-hyphenate: none;
827
+ tab-stops: 20.15pt 78.0pt right dotted 487.6pt;
828
+ font-size: 10.5pt;
829
+ font-family: {{bodyfont}};
830
+ mso-fareast-font-family: {{bodyfont}};
831
+ mso-bidi-font-family: {{bodyfont}};
832
+ mso-ansi-language: EN-GB;
833
+ font-weight: bold;
834
+ mso-bidi-font-weight: normal; }
835
+
686
836
  span.MsoFootnoteReference {
687
837
  mso-style-name: "Footnote Reference";
688
838
  mso-style-priority: 99;
@@ -642,6 +642,150 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3
642
642
  mso-ansi-language:EN-GB;
643
643
  font-weight:bold;
644
644
  mso-bidi-font-weight:normal;}
645
+ p.MsoToc4, li.MsoToc4, div.MsoToc4
646
+ {mso-style-noshow:yes;
647
+ mso-style-priority:39;
648
+ mso-style-unhide:no;
649
+ mso-style-name:"TOC 4";
650
+ mso-style-parent:"TOC 3";
651
+ mso-style-next:Normal;
652
+ margin-top:0cm;
653
+ margin-right:25.0pt;
654
+ margin-bottom:0cm;
655
+ margin-left:36.0pt;
656
+ margin-bottom:.0001pt;
657
+ text-indent:-36.0pt;
658
+ line-height:12.0pt;
659
+ mso-pagination:widow-orphan;
660
+ mso-hyphenate:none;
661
+ tab-stops:20.15pt 47.9pt right dotted 487.6pt;
662
+ font-size:10.5pt;
663
+ font-family:$bodyfont;
664
+ mso-fareast-font-family:$bodyfont;
665
+ mso-bidi-font-family:$bodyfont;
666
+ mso-ansi-language:EN-GB;
667
+ font-weight:bold;
668
+ mso-bidi-font-weight:normal;}
669
+ p.MsoToc5, li.MsoToc5, div.MsoToc5
670
+ {mso-style-noshow:yes;
671
+ mso-style-priority:39;
672
+ mso-style-unhide:no;
673
+ mso-style-name:"TOC 5";
674
+ mso-style-parent:"TOC 4";
675
+ mso-style-next:Normal;
676
+ margin-top:0cm;
677
+ margin-right:25.0pt;
678
+ margin-bottom:0cm;
679
+ margin-left:36.0pt;
680
+ margin-bottom:.0001pt;
681
+ text-indent:-36.0pt;
682
+ line-height:12.0pt;
683
+ mso-pagination:widow-orphan;
684
+ mso-hyphenate:none;
685
+ tab-stops:20.15pt 47.9pt right dotted 487.6pt;
686
+ font-size:10.5pt;
687
+ font-family:$bodyfont;
688
+ mso-fareast-font-family:$bodyfont;
689
+ mso-bidi-font-family:$bodyfont;
690
+ mso-ansi-language:EN-GB;
691
+ font-weight:bold;
692
+ mso-bidi-font-weight:normal;}
693
+ p.MsoToc6, li.MsoToc6, div.MsoToc6
694
+ {mso-style-noshow:yes;
695
+ mso-style-priority:39;
696
+ mso-style-unhide:no;
697
+ mso-style-name:"TOC 6";
698
+ mso-style-parent:"TOC 5";
699
+ mso-style-next:Normal;
700
+ margin-top:0cm;
701
+ margin-right:25.0pt;
702
+ margin-bottom:0cm;
703
+ margin-left:36.0pt;
704
+ margin-bottom:.0001pt;
705
+ text-indent:-36.0pt;
706
+ line-height:12.0pt;
707
+ mso-pagination:widow-orphan;
708
+ mso-hyphenate:none;
709
+ tab-stops:20.15pt 55.0pt right dotted 487.6pt;
710
+ font-size:10.5pt;
711
+ font-family:$bodyfont;
712
+ mso-fareast-font-family:$bodyfont;
713
+ mso-bidi-font-family:$bodyfont;
714
+ mso-ansi-language:EN-GB;
715
+ font-weight:bold;
716
+ mso-bidi-font-weight:normal;}
717
+ p.MsoToc7, li.MsoToc7, div.MsoToc7
718
+ {mso-style-noshow:yes;
719
+ mso-style-priority:39;
720
+ mso-style-unhide:no;
721
+ mso-style-name:"TOC 7";
722
+ mso-style-parent:"TOC 6";
723
+ mso-style-next:Normal;
724
+ margin-top:0cm;
725
+ margin-right:25.0pt;
726
+ margin-bottom:0cm;
727
+ margin-left:36.0pt;
728
+ margin-bottom:.0001pt;
729
+ text-indent:-36.0pt;
730
+ line-height:12.0pt;
731
+ mso-pagination:widow-orphan;
732
+ mso-hyphenate:none;
733
+ tab-stops:20.15pt 62.7pt right dotted 487.6pt;
734
+ font-size:10.5pt;
735
+ font-family:$bodyfont;
736
+ mso-fareast-font-family:$bodyfont;
737
+ mso-bidi-font-family:$bodyfont;
738
+ mso-ansi-language:EN-GB;
739
+ font-weight:bold;
740
+ mso-bidi-font-weight:normal;}
741
+ p.MsoToc8, li.MsoToc8, div.MsoToc8
742
+ {mso-style-noshow:yes;
743
+ mso-style-priority:39;
744
+ mso-style-unhide:no;
745
+ mso-style-name:"TOC 8";
746
+ mso-style-parent:"TOC 7";
747
+ mso-style-next:Normal;
748
+ margin-top:0cm;
749
+ margin-right:25.0pt;
750
+ margin-bottom:0cm;
751
+ margin-left:36.0pt;
752
+ margin-bottom:.0001pt;
753
+ text-indent:-36.0pt;
754
+ line-height:12.0pt;
755
+ mso-pagination:widow-orphan;
756
+ mso-hyphenate:none;
757
+ tab-stops:20.15pt 70.3pt right dotted 487.6pt;
758
+ font-size:10.5pt;
759
+ font-family:$bodyfont;
760
+ mso-fareast-font-family:$bodyfont;
761
+ mso-bidi-font-family:$bodyfont;
762
+ mso-ansi-language:EN-GB;
763
+ font-weight:bold;
764
+ mso-bidi-font-weight:normal;}
765
+ p.MsoToc9, li.MsoToc9, div.MsoToc9
766
+ {mso-style-noshow:yes;
767
+ mso-style-priority:39;
768
+ mso-style-unhide:no;
769
+ mso-style-name:"TOC 9";
770
+ mso-style-parent:"TOC 8";
771
+ mso-style-next:Normal;
772
+ margin-top:0cm;
773
+ margin-right:25.0pt;
774
+ margin-bottom:0cm;
775
+ margin-left:36.0pt;
776
+ margin-bottom:.0001pt;
777
+ text-indent:-36.0pt;
778
+ line-height:12.0pt;
779
+ mso-pagination:widow-orphan;
780
+ mso-hyphenate:none;
781
+ tab-stops:20.15pt 78.0pt right dotted 487.6pt;
782
+ font-size:10.5pt;
783
+ font-family:$bodyfont;
784
+ mso-fareast-font-family:$bodyfont;
785
+ mso-bidi-font-family:$bodyfont;
786
+ mso-ansi-language:EN-GB;
787
+ font-weight:bold;
788
+ mso-bidi-font-weight:normal;}
645
789
  span.MsoFootnoteReference {
646
790
  mso-style-name:"Footnote Reference";
647
791
  mso-style-priority:99;
@@ -188,6 +188,11 @@
188
188
  <value>adapter</value>
189
189
  <value>translator</value>
190
190
  <value>distributor</value>
191
+ <value>realizer</value>
192
+ <value>owner</value>
193
+ <value>authorizer</value>
194
+ <value>enabler</value>
195
+ <value>subject</value>
191
196
  </choice>
192
197
  </attribute>
193
198
  <zeroOrMore>
@@ -177,11 +177,7 @@
177
177
  </optional>
178
178
  <optional>
179
179
  <attribute name="style">
180
- <choice>
181
- <value>basic</value>
182
- <value>full</value>
183
- <value>short</value>
184
- </choice>
180
+ <ref name="XrefStyleType"/>
185
181
  </attribute>
186
182
  </optional>
187
183
  <ref name="XrefBody"/>
@@ -1031,6 +1027,7 @@
1031
1027
  <ref name="stem"/>
1032
1028
  <ref name="index"/>
1033
1029
  <ref name="eref"/>
1030
+ <ref name="erefstack"/>
1034
1031
  <ref name="xref"/>
1035
1032
  <ref name="hyperlink"/>
1036
1033
  </choice>
@@ -1045,6 +1042,7 @@
1045
1042
  <ref name="stem"/>
1046
1043
  <ref name="index"/>
1047
1044
  <ref name="eref"/>
1045
+ <ref name="erefstack"/>
1048
1046
  <ref name="xref"/>
1049
1047
  <ref name="hyperlink"/>
1050
1048
  </choice>
@@ -1058,6 +1056,7 @@
1058
1056
  <ref name="PureTextElement"/>
1059
1057
  <ref name="index"/>
1060
1058
  <ref name="eref"/>
1059
+ <ref name="erefstack"/>
1061
1060
  <ref name="xref"/>
1062
1061
  <ref name="hyperlink"/>
1063
1062
  </choice>
@@ -1153,7 +1152,7 @@
1153
1152
  <data type="boolean"/>
1154
1153
  </attribute>
1155
1154
  </optional>
1156
- <ref name="BibliographicItem"/>
1155
+ <ref name="ReducedBibliographicItem"/>
1157
1156
  </element>
1158
1157
  </define>
1159
1158
  <define name="image" combine="choice">
@@ -1195,6 +1194,7 @@
1195
1194
  <ref name="add"/>
1196
1195
  <ref name="del"/>
1197
1196
  <ref name="span"/>
1197
+ <ref name="erefstack"/>
1198
1198
  </choice>
1199
1199
  </define>
1200
1200
  <define name="add">
@@ -1202,6 +1202,7 @@
1202
1202
  <choice>
1203
1203
  <ref name="PureTextElement"/>
1204
1204
  <ref name="eref"/>
1205
+ <ref name="erefstack"/>
1205
1206
  <ref name="stem"/>
1206
1207
  <ref name="keyword"/>
1207
1208
  <ref name="xref"/>
@@ -1214,6 +1215,7 @@
1214
1215
  <choice>
1215
1216
  <ref name="PureTextElement"/>
1216
1217
  <ref name="eref"/>
1218
+ <ref name="erefstack"/>
1217
1219
  <ref name="stem"/>
1218
1220
  <ref name="keyword"/>
1219
1221
  <ref name="xref"/>
@@ -1278,6 +1280,7 @@
1278
1280
  </optional>
1279
1281
  <choice>
1280
1282
  <ref name="eref"/>
1283
+ <ref name="erefstack"/>
1281
1284
  <ref name="xref"/>
1282
1285
  <ref name="termref"/>
1283
1286
  </choice>
@@ -1970,6 +1973,7 @@
1970
1973
  </element>
1971
1974
  <choice>
1972
1975
  <ref name="eref"/>
1976
+ <ref name="erefstack"/>
1973
1977
  <ref name="xref"/>
1974
1978
  <ref name="termref"/>
1975
1979
  </choice>
@@ -2525,6 +2529,7 @@
2525
2529
  <ref name="xref"/>
2526
2530
  <ref name="hyperlink"/>
2527
2531
  <ref name="eref"/>
2532
+ <ref name="erefstack"/>
2528
2533
  </choice>
2529
2534
  <oneOrMore>
2530
2535
  <element name="coords">
@@ -2572,6 +2577,7 @@
2572
2577
  <ref name="xref"/>
2573
2578
  <ref name="hyperlink"/>
2574
2579
  <ref name="eref"/>
2580
+ <ref name="erefstack"/>
2575
2581
  </choice>
2576
2582
  </element>
2577
2583
  </zeroOrMore>
@@ -2620,6 +2626,15 @@
2620
2626
  <ref name="PureTextElement"/>
2621
2627
  </oneOrMore>
2622
2628
  </define>
2629
+ <define name="XrefConnectiveType">
2630
+ <choice>
2631
+ <value>and</value>
2632
+ <value>or</value>
2633
+ <value>from</value>
2634
+ <value>to</value>
2635
+ <value/>
2636
+ </choice>
2637
+ </define>
2623
2638
  <define name="XrefTarget">
2624
2639
  <element name="location">
2625
2640
  <attribute name="target">
@@ -2628,16 +2643,35 @@
2628
2643
  </data>
2629
2644
  </attribute>
2630
2645
  <attribute name="connective">
2631
- <choice>
2632
- <value>and</value>
2633
- <value>or</value>
2634
- <value>from</value>
2635
- <value>to</value>
2636
- <value/>
2637
- </choice>
2646
+ <ref name="XrefConnectiveType"/>
2638
2647
  </attribute>
2639
2648
  </element>
2640
2649
  </define>
2650
+ <define name="XrefStyleType">
2651
+ <choice>
2652
+ <value>basic</value>
2653
+ <value>full</value>
2654
+ <value>short</value>
2655
+ <value>id</value>
2656
+ </choice>
2657
+ </define>
2658
+ <define name="erefTypeWithConnective">
2659
+ <optional>
2660
+ <attribute name="connective">
2661
+ <ref name="XrefConnectiveType"/>
2662
+ </attribute>
2663
+ </optional>
2664
+ <ref name="erefType"/>
2665
+ </define>
2666
+ <define name="erefstack">
2667
+ <element name="erefstack">
2668
+ <oneOrMore>
2669
+ <element name="eref">
2670
+ <ref name="erefTypeWithConnective"/>
2671
+ </element>
2672
+ </oneOrMore>
2673
+ </element>
2674
+ </define>
2641
2675
  <start>
2642
2676
  <ref name="standard-document"/>
2643
2677
  </start>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module CC
3
- VERSION = "2.1.11".freeze
3
+ VERSION = "2.1.13".freeze
4
4
  end
5
5
  end
data/metanorma-cc.gemspec CHANGED
@@ -21,12 +21,13 @@ Gem::Specification.new do |spec|
21
21
  spec.license = "BSD-2-Clause"
22
22
 
23
23
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
24
- f.match(%r{^(test|spec|features)/})
24
+ f.match(%r{^(test|spec|features|bin|.github)/}) \
25
+ || f.match(%r{Rakefile|bin/rspec})
25
26
  end
26
27
  spec.bindir = "exe"
27
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
29
  spec.require_paths = ["lib"]
29
- spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
30
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
30
31
 
31
32
  spec.add_dependency "metanorma-generic", "~> 2.2.2"
32
33
 
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.11
4
+ version: 2.1.13
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-10-24 00:00:00.000000000 Z
11
+ date: 2022-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -176,9 +176,6 @@ executables: []
176
176
  extensions: []
177
177
  extra_rdoc_files: []
178
178
  files:
179
- - ".github/workflows/automerge.yml"
180
- - ".github/workflows/rake.yml"
181
- - ".github/workflows/release.yml"
182
179
  - ".gitignore"
183
180
  - ".hound.yml"
184
181
  - ".rubocop.yml"
@@ -186,10 +183,6 @@ files:
186
183
  - Gemfile
187
184
  - LICENSE
188
185
  - README.adoc
189
- - Rakefile
190
- - bin/console
191
- - bin/rspec
192
- - bin/setup
193
186
  - lib/isodoc/cc/base_convert.rb
194
187
  - lib/isodoc/cc/cc.standard.xsl
195
188
  - lib/isodoc/cc/html/_coverpage.css
@@ -245,14 +238,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
245
238
  requirements:
246
239
  - - ">="
247
240
  - !ruby/object:Gem::Version
248
- version: 2.5.0
241
+ version: 2.7.0
249
242
  required_rubygems_version: !ruby/object:Gem::Requirement
250
243
  requirements:
251
244
  - - ">="
252
245
  - !ruby/object:Gem::Version
253
246
  version: '0'
254
247
  requirements: []
255
- rubygems_version: 3.1.6
248
+ rubygems_version: 3.3.7
256
249
  signing_key:
257
250
  specification_version: 4
258
251
  summary: metanorma-cc lets you write CalConnect standards in AsciiDoc.
@@ -1,31 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- # source: https://github.com/marketplace/actions/merge-pull-requests#usage
4
- name: automerge
5
- on:
6
- pull_request:
7
- types:
8
- - labeled
9
- - unlabeled
10
- - synchronize
11
- - opened
12
- - edited
13
- - ready_for_review
14
- - reopened
15
- - unlocked
16
- pull_request_review:
17
- types:
18
- - submitted
19
- check_suite:
20
- types:
21
- - completed
22
- status: {}
23
- jobs:
24
- automerge:
25
- runs-on: ubuntu-latest
26
- steps:
27
- - id: automerge
28
- name: automerge
29
- uses: "pascalgn/automerge-action@v0.15.3"
30
- env:
31
- GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
@@ -1,15 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: rake
4
-
5
- on:
6
- push:
7
- branches: [ master, main ]
8
- tags: [ v* ]
9
- pull_request:
10
-
11
- jobs:
12
- notify:
13
- uses: metanorma/ci/.github/workflows/mn-processor-rake.yml@main
14
- secrets:
15
- pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
@@ -1,24 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: release
4
-
5
- on:
6
- workflow_dispatch:
7
- inputs:
8
- next_version:
9
- description: |
10
- Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
11
- required: true
12
- default: 'skip'
13
- push:
14
- tags: [ v* ]
15
-
16
- jobs:
17
- release:
18
- uses: metanorma/ci/.github/workflows/rubygems-release.yml@main
19
- with:
20
- next_version: ${{ github.event.inputs.next_version }}
21
- secrets:
22
- rubygems-api-key: ${{ secrets.METANORMA_CI_RUBYGEMS_API_KEY }}
23
- pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
24
-
data/Rakefile DELETED
@@ -1,8 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
- require 'isodoc/gem_tasks'
4
-
5
- IsoDoc::GemTasks.install
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- task :default => :spec
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "metanorma/cc"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/rspec DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'rspec' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require "pathname"
10
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path(
11
- "../../Gemfile", Pathname.new(__FILE__).realpath
12
- )
13
-
14
- require "rubygems"
15
- require "bundler/setup"
16
-
17
- load Gem.bin_path("rspec-core", "rspec")
18
-
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here