metanorma-iho 0.6.13 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52594470d0466b19c5f8fddc675d4b2c7205da4cfec7ee07f17f84dee106af75
4
- data.tar.gz: 3f64e4ddb8098a6b73ff47a85ebd069882d48695717dd60a8997337b8a56b1cc
3
+ metadata.gz: 1340067bd6efc8f1651dabb526b2ec76dd66335b5a66a61db8343029c1ee8a8b
4
+ data.tar.gz: 154d9df5ac5eb11ac659b9eec41cb8ed76b03ae22bad9e5decf59eb7773475ea
5
5
  SHA512:
6
- metadata.gz: 49a783b17aa1fe7384a3745bed9913bd5cf051da7d5c93cd7ccf03c84fa09f4d967645cc7924dfcf6727f4dd2da08efc46e132d5591e149ab590d8c4b0620581
7
- data.tar.gz: 292333832c427c1648065c3a2c5db5b2fa390b380e861b7c4489763066780a66bf0c82f9c404ac1d596e9865889158313df8f4c19a4f1f394ee749c093a91263
6
+ metadata.gz: 9183c1385f0914009343d4d81db0f18f4bf44a8f1902589d49dc544fc67eba4ec34c5275046b76400ca347eeafbacf0178d9d5fb4b6e1fdc93df1be327885f5a
7
+ data.tar.gz: a9675063b1b0b1fd5fa793a2b4c0a1b802a586fe08d60151cb890f6228a9317b0c3d7beacace2ed16dcc929781262757d8bc6a130c7016e0a8f2f6825e52cc2b
@@ -335,29 +335,32 @@
335
335
 
336
336
  <!-- Document Pages -->
337
337
 
338
- <fo:page-sequence master-reference="document" initial-page-number="1" format="1" force-page-count="no-force">
339
- <fo:static-content flow-name="xsl-footnote-separator">
340
- <fo:block>
341
- <fo:leader leader-pattern="rule" leader-length="30%"/>
342
- </fo:block>
343
- </fo:static-content>
344
- <xsl:call-template name="insertHeaderFooter"/>
345
- <fo:flow flow-name="xsl-region-body">
346
- <fo:block-container>
338
+ <xsl:if test="/iho:iho-standard/iho:sections/*">
339
+
340
+ <fo:page-sequence master-reference="document" initial-page-number="1" format="1" force-page-count="no-force">
341
+ <fo:static-content flow-name="xsl-footnote-separator">
342
+ <fo:block>
343
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
344
+ </fo:block>
345
+ </fo:static-content>
346
+ <xsl:call-template name="insertHeaderFooter"/>
347
+ <fo:flow flow-name="xsl-region-body">
348
+ <fo:block-container>
347
349
 
348
- <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt" role="H1"><xsl:value-of select="$title-en"/></fo:block> -->
350
+ <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt" role="H1"><xsl:value-of select="$title-en"/></fo:block> -->
349
351
 
350
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
351
- <!-- Normative references -->
352
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
353
- <!-- Terms and definitions -->
354
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms']"/>
355
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='definitions']"/>
356
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope')]"/>
352
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
353
+ <!-- Normative references -->
354
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
355
+ <!-- Terms and definitions -->
356
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms']"/>
357
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='definitions']"/>
358
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope')]"/>
357
359
 
358
- </fo:block-container>
359
- </fo:flow>
360
- </fo:page-sequence>
360
+ </fo:block-container>
361
+ </fo:flow>
362
+ </fo:page-sequence>
363
+ </xsl:if>
361
364
 
362
365
  <xsl:if test="/iho:iho-standard/iho:annex">
363
366
  <fo:page-sequence master-reference="document">
@@ -484,6 +487,10 @@
484
487
 
485
488
  </xsl:template>
486
489
 
490
+ <xsl:template match="*[local-name() = 'strong']" mode="contents_item" priority="2">
491
+ <xsl:apply-templates mode="contents_item"/>
492
+ </xsl:template>
493
+
487
494
  <!-- ============================= -->
488
495
  <!-- END CONTENTS -->
489
496
  <!-- ============================= -->
@@ -3443,6 +3450,10 @@
3443
3450
  <xsl:variable name="footnote_inline">
3444
3451
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3445
3452
 
3453
+ <xsl:if test="following-sibling::*[1][local-name() = 'fn']">
3454
+ <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
3455
+ </xsl:if>
3456
+
3446
3457
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3447
3458
  <xsl:value-of select="$current_fn_number_text"/>
3448
3459
  </fo:basic-link>
@@ -4667,6 +4678,23 @@
4667
4678
  <xsl:apply-templates/>
4668
4679
  </xsl:template>
4669
4680
 
4681
+ <!-- Don't break standard's numbers -->
4682
+ <!-- Example : <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
4683
+ <xsl:template match="*[local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" priority="2">
4684
+ <xsl:choose>
4685
+ <xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
4686
+ <xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
4687
+ <fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
4688
+ </xsl:when>
4689
+ <xsl:otherwise>
4690
+ <xsl:apply-templates/>
4691
+ </xsl:otherwise>
4692
+ </xsl:choose>
4693
+ </xsl:template>
4694
+ <xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
4695
+ <fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
4696
+ </xsl:template>
4697
+
4670
4698
  <!-- ========================= -->
4671
4699
  <!-- END Rich text formatting -->
4672
4700
  <!-- ========================= -->
@@ -5062,7 +5090,7 @@
5062
5090
  <xsl:choose>
5063
5091
  <xsl:when test="@colspan">
5064
5092
  <xsl:variable name="td">
5065
- <xsl:element name="td">
5093
+ <xsl:element name="{local-name()}">
5066
5094
  <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
5067
5095
  <xsl:if test="local-name()='th'">
5068
5096
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -5077,7 +5105,7 @@
5077
5105
  </xsl:call-template>
5078
5106
  </xsl:when>
5079
5107
  <xsl:otherwise>
5080
- <xsl:element name="td">
5108
+ <xsl:element name="{local-name()}">
5081
5109
  <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
5082
5110
  <xsl:if test="local-name()='th'">
5083
5111
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -5144,7 +5172,7 @@
5144
5172
  <xsl:variable name="currentRow" select="."/>
5145
5173
 
5146
5174
  <xsl:variable name="normalizedTDs">
5147
- <xsl:for-each select="xalan:nodeset($previousRow)//td">
5175
+ <xsl:for-each select="xalan:nodeset($previousRow)//*[self::td or self::th]">
5148
5176
  <xsl:choose>
5149
5177
  <xsl:when test="@rowspan &gt; 1">
5150
5178
  <xsl:copy>
@@ -5156,7 +5184,7 @@
5156
5184
  </xsl:copy>
5157
5185
  </xsl:when>
5158
5186
  <xsl:otherwise>
5159
- <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
5187
+ <xsl:copy-of select="$currentRow/*[self::td or self::th][1 + count(current()/preceding-sibling::*[self::td or self::th][not(@rowspan) or (@rowspan = 1)])]"/>
5160
5188
  </xsl:otherwise>
5161
5189
  </xsl:choose>
5162
5190
  </xsl:for-each>
@@ -5826,12 +5854,6 @@
5826
5854
 
5827
5855
  <fo:block-container margin-left="0mm">
5828
5856
 
5829
- <!-- <xsl:if test="$namespace = 'iho'">
5830
- <xsl:if test="ancestor::iho:td">
5831
- <xsl:attribute name="font-size">12pt</xsl:attribute>
5832
- </xsl:if>
5833
- </xsl:if> -->
5834
-
5835
5857
  <fo:block>
5836
5858
 
5837
5859
  <fo:inline xsl:use-attribute-sets="note-name-style">
@@ -6335,6 +6357,31 @@
6335
6357
  <xsl:apply-templates mode="svg_update"/>
6336
6358
  </xsl:copy>
6337
6359
  </xsl:template>
6360
+
6361
+ <!-- regex for 'display: inline-block;' -->
6362
+ <xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
6363
+ <xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
6364
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), $regex_svg_style_notsupported, '')"/>
6365
+ </xsl:template>
6366
+
6367
+ <!-- replace
6368
+ stroke="rgba(r, g, b, alpha)" to
6369
+ stroke="rgb(r,g,b)" stroke-opacity="alpha", and
6370
+ fill="rgba(r, g, b, alpha)" to
6371
+ fill="rgb(r,g,b)" fill-opacity="alpha" -->
6372
+ <xsl:template match="@*[local-name() = 'stroke' or local-name() = 'fill'][starts-with(normalize-space(.), 'rgba')]" mode="svg_update">
6373
+ <xsl:variable name="components_">
6374
+ <xsl:call-template name="split">
6375
+ <xsl:with-param name="pText" select="substring-before(substring-after(., '('), ')')"/>
6376
+ <xsl:with-param name="sep" select="','"/>
6377
+ </xsl:call-template>
6378
+ </xsl:variable>
6379
+ <xsl:variable name="components" select="xalan:nodeset($components_)"/>
6380
+ <xsl:variable name="att_name" select="local-name()"/>
6381
+ <xsl:attribute name="{$att_name}"><xsl:value-of select="concat('rgb(', $components/item[1], ',', $components/item[2], ',', $components/item[3], ')')"/></xsl:attribute>
6382
+ <xsl:attribute name="{$att_name}-opacity"><xsl:value-of select="$components/item[4]"/></xsl:attribute>
6383
+ </xsl:template>
6384
+
6338
6385
  <!-- ============== -->
6339
6386
  <!-- END: svg_update -->
6340
6387
  <!-- ============== -->
@@ -6977,7 +7024,7 @@
6977
7024
  <xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
6978
7025
  <xsl:variable name="_font-size">
6979
7026
 
6980
- 10
7027
+ 9.5
6981
7028
  <!-- 9 -->
6982
7029
 
6983
7030
  <!-- <xsl:if test="$namespace = 'ieee'">
@@ -9247,7 +9294,9 @@
9247
9294
  <!-- Update xml -->
9248
9295
  <!-- ===================================== -->
9249
9296
  <!-- =========================================================================== -->
9250
- <!-- STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
9297
+ <!-- STEP1: -->
9298
+ <!-- - Re-order elements in 'preface', 'sections' based on @displayorder -->
9299
+ <!-- - Ignore 'span' without style -->
9251
9300
  <!-- =========================================================================== -->
9252
9301
  <xsl:template match="@*|node()" mode="update_xml_step1">
9253
9302
  <xsl:copy>
@@ -9330,7 +9379,8 @@
9330
9379
  </xsl:copy>
9331
9380
  </xsl:template>
9332
9381
 
9333
- <xsl:template match="*[local-name() = 'span'][@style]" mode="update_xml_step1" priority="2">
9382
+ <!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
9383
+ <xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
9334
9384
  <xsl:copy>
9335
9385
  <xsl:copy-of select="@*"/>
9336
9386
  <xsl:apply-templates mode="update_xml_step1"/>
@@ -335,29 +335,32 @@
335
335
 
336
336
  <!-- Document Pages -->
337
337
 
338
- <fo:page-sequence master-reference="document" initial-page-number="1" format="1" force-page-count="no-force">
339
- <fo:static-content flow-name="xsl-footnote-separator">
340
- <fo:block>
341
- <fo:leader leader-pattern="rule" leader-length="30%"/>
342
- </fo:block>
343
- </fo:static-content>
344
- <xsl:call-template name="insertHeaderFooter"/>
345
- <fo:flow flow-name="xsl-region-body">
346
- <fo:block-container>
338
+ <xsl:if test="/iho:iho-standard/iho:sections/*">
339
+
340
+ <fo:page-sequence master-reference="document" initial-page-number="1" format="1" force-page-count="no-force">
341
+ <fo:static-content flow-name="xsl-footnote-separator">
342
+ <fo:block>
343
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
344
+ </fo:block>
345
+ </fo:static-content>
346
+ <xsl:call-template name="insertHeaderFooter"/>
347
+ <fo:flow flow-name="xsl-region-body">
348
+ <fo:block-container>
347
349
 
348
- <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt" role="H1"><xsl:value-of select="$title-en"/></fo:block> -->
350
+ <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt" role="H1"><xsl:value-of select="$title-en"/></fo:block> -->
349
351
 
350
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
351
- <!-- Normative references -->
352
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
353
- <!-- Terms and definitions -->
354
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms']"/>
355
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='definitions']"/>
356
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope')]"/>
352
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
353
+ <!-- Normative references -->
354
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
355
+ <!-- Terms and definitions -->
356
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms']"/>
357
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='definitions']"/>
358
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope')]"/>
357
359
 
358
- </fo:block-container>
359
- </fo:flow>
360
- </fo:page-sequence>
360
+ </fo:block-container>
361
+ </fo:flow>
362
+ </fo:page-sequence>
363
+ </xsl:if>
361
364
 
362
365
  <xsl:if test="/iho:iho-standard/iho:annex">
363
366
  <fo:page-sequence master-reference="document">
@@ -484,6 +487,10 @@
484
487
 
485
488
  </xsl:template>
486
489
 
490
+ <xsl:template match="*[local-name() = 'strong']" mode="contents_item" priority="2">
491
+ <xsl:apply-templates mode="contents_item"/>
492
+ </xsl:template>
493
+
487
494
  <!-- ============================= -->
488
495
  <!-- END CONTENTS -->
489
496
  <!-- ============================= -->
@@ -3443,6 +3450,10 @@
3443
3450
  <xsl:variable name="footnote_inline">
3444
3451
  <fo:inline xsl:use-attribute-sets="fn-num-style">
3445
3452
 
3453
+ <xsl:if test="following-sibling::*[1][local-name() = 'fn']">
3454
+ <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
3455
+ </xsl:if>
3456
+
3446
3457
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3447
3458
  <xsl:value-of select="$current_fn_number_text"/>
3448
3459
  </fo:basic-link>
@@ -4667,6 +4678,23 @@
4667
4678
  <xsl:apply-templates/>
4668
4679
  </xsl:template>
4669
4680
 
4681
+ <!-- Don't break standard's numbers -->
4682
+ <!-- Example : <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
4683
+ <xsl:template match="*[local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" priority="2">
4684
+ <xsl:choose>
4685
+ <xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
4686
+ <xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
4687
+ <fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
4688
+ </xsl:when>
4689
+ <xsl:otherwise>
4690
+ <xsl:apply-templates/>
4691
+ </xsl:otherwise>
4692
+ </xsl:choose>
4693
+ </xsl:template>
4694
+ <xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
4695
+ <fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
4696
+ </xsl:template>
4697
+
4670
4698
  <!-- ========================= -->
4671
4699
  <!-- END Rich text formatting -->
4672
4700
  <!-- ========================= -->
@@ -5062,7 +5090,7 @@
5062
5090
  <xsl:choose>
5063
5091
  <xsl:when test="@colspan">
5064
5092
  <xsl:variable name="td">
5065
- <xsl:element name="td">
5093
+ <xsl:element name="{local-name()}">
5066
5094
  <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
5067
5095
  <xsl:if test="local-name()='th'">
5068
5096
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -5077,7 +5105,7 @@
5077
5105
  </xsl:call-template>
5078
5106
  </xsl:when>
5079
5107
  <xsl:otherwise>
5080
- <xsl:element name="td">
5108
+ <xsl:element name="{local-name()}">
5081
5109
  <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
5082
5110
  <xsl:if test="local-name()='th'">
5083
5111
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -5144,7 +5172,7 @@
5144
5172
  <xsl:variable name="currentRow" select="."/>
5145
5173
 
5146
5174
  <xsl:variable name="normalizedTDs">
5147
- <xsl:for-each select="xalan:nodeset($previousRow)//td">
5175
+ <xsl:for-each select="xalan:nodeset($previousRow)//*[self::td or self::th]">
5148
5176
  <xsl:choose>
5149
5177
  <xsl:when test="@rowspan &gt; 1">
5150
5178
  <xsl:copy>
@@ -5156,7 +5184,7 @@
5156
5184
  </xsl:copy>
5157
5185
  </xsl:when>
5158
5186
  <xsl:otherwise>
5159
- <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
5187
+ <xsl:copy-of select="$currentRow/*[self::td or self::th][1 + count(current()/preceding-sibling::*[self::td or self::th][not(@rowspan) or (@rowspan = 1)])]"/>
5160
5188
  </xsl:otherwise>
5161
5189
  </xsl:choose>
5162
5190
  </xsl:for-each>
@@ -5826,12 +5854,6 @@
5826
5854
 
5827
5855
  <fo:block-container margin-left="0mm">
5828
5856
 
5829
- <!-- <xsl:if test="$namespace = 'iho'">
5830
- <xsl:if test="ancestor::iho:td">
5831
- <xsl:attribute name="font-size">12pt</xsl:attribute>
5832
- </xsl:if>
5833
- </xsl:if> -->
5834
-
5835
5857
  <fo:block>
5836
5858
 
5837
5859
  <fo:inline xsl:use-attribute-sets="note-name-style">
@@ -6335,6 +6357,31 @@
6335
6357
  <xsl:apply-templates mode="svg_update"/>
6336
6358
  </xsl:copy>
6337
6359
  </xsl:template>
6360
+
6361
+ <!-- regex for 'display: inline-block;' -->
6362
+ <xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
6363
+ <xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
6364
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), $regex_svg_style_notsupported, '')"/>
6365
+ </xsl:template>
6366
+
6367
+ <!-- replace
6368
+ stroke="rgba(r, g, b, alpha)" to
6369
+ stroke="rgb(r,g,b)" stroke-opacity="alpha", and
6370
+ fill="rgba(r, g, b, alpha)" to
6371
+ fill="rgb(r,g,b)" fill-opacity="alpha" -->
6372
+ <xsl:template match="@*[local-name() = 'stroke' or local-name() = 'fill'][starts-with(normalize-space(.), 'rgba')]" mode="svg_update">
6373
+ <xsl:variable name="components_">
6374
+ <xsl:call-template name="split">
6375
+ <xsl:with-param name="pText" select="substring-before(substring-after(., '('), ')')"/>
6376
+ <xsl:with-param name="sep" select="','"/>
6377
+ </xsl:call-template>
6378
+ </xsl:variable>
6379
+ <xsl:variable name="components" select="xalan:nodeset($components_)"/>
6380
+ <xsl:variable name="att_name" select="local-name()"/>
6381
+ <xsl:attribute name="{$att_name}"><xsl:value-of select="concat('rgb(', $components/item[1], ',', $components/item[2], ',', $components/item[3], ')')"/></xsl:attribute>
6382
+ <xsl:attribute name="{$att_name}-opacity"><xsl:value-of select="$components/item[4]"/></xsl:attribute>
6383
+ </xsl:template>
6384
+
6338
6385
  <!-- ============== -->
6339
6386
  <!-- END: svg_update -->
6340
6387
  <!-- ============== -->
@@ -6977,7 +7024,7 @@
6977
7024
  <xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
6978
7025
  <xsl:variable name="_font-size">
6979
7026
 
6980
- 10
7027
+ 9.5
6981
7028
  <!-- 9 -->
6982
7029
 
6983
7030
  <!-- <xsl:if test="$namespace = 'ieee'">
@@ -9247,7 +9294,9 @@
9247
9294
  <!-- Update xml -->
9248
9295
  <!-- ===================================== -->
9249
9296
  <!-- =========================================================================== -->
9250
- <!-- STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
9297
+ <!-- STEP1: -->
9298
+ <!-- - Re-order elements in 'preface', 'sections' based on @displayorder -->
9299
+ <!-- - Ignore 'span' without style -->
9251
9300
  <!-- =========================================================================== -->
9252
9301
  <xsl:template match="@*|node()" mode="update_xml_step1">
9253
9302
  <xsl:copy>
@@ -9330,7 +9379,8 @@
9330
9379
  </xsl:copy>
9331
9380
  </xsl:template>
9332
9381
 
9333
- <xsl:template match="*[local-name() = 'span'][@style]" mode="update_xml_step1" priority="2">
9382
+ <!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
9383
+ <xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
9334
9384
  <xsl:copy>
9335
9385
  <xsl:copy-of select="@*"/>
9336
9386
  <xsl:apply-templates mode="update_xml_step1"/>
@@ -683,6 +683,9 @@
683
683
  </define>
684
684
  <define name="underline">
685
685
  <element name="underline">
686
+ <optional>
687
+ <attribute name="style"/>
688
+ </optional>
686
689
  <zeroOrMore>
687
690
  <ref name="PureTextElement"/>
688
691
  </zeroOrMore>
@@ -2653,6 +2653,7 @@
2653
2653
  <value>full</value>
2654
2654
  <value>short</value>
2655
2655
  <value>id</value>
2656
+ <value>modspec</value>
2656
2657
  </choice>
2657
2658
  </define>
2658
2659
  <define name="erefTypeWithConnective">
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module IHO
3
- VERSION = "0.6.13".freeze
3
+ VERSION = "0.7.0".freeze
4
4
  end
5
5
  end
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = ["lib"]
28
28
  spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
29
29
 
30
- spec.add_dependency "metanorma-generic", "~> 2.2.2"
30
+ spec.add_dependency "metanorma-generic", "~> 2.3.0"
31
31
 
32
32
  spec.add_development_dependency "debug"
33
33
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.13
4
+ version: 0.7.0
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-21 00:00:00.000000000 Z
11
+ date: 2022-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.2
19
+ version: 2.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.2
26
+ version: 2.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -247,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
247
  - !ruby/object:Gem::Version
248
248
  version: '0'
249
249
  requirements: []
250
- rubygems_version: 3.3.7
250
+ rubygems_version: 3.3.26
251
251
  signing_key:
252
252
  specification_version: 4
253
253
  summary: metanorma-iho lets you write IHO in AsciiDoc.