metanorma-csa 2.6.2 → 2.6.4
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 +4 -4
- data/lib/isodoc/csa/csa.standard.xsl +312 -77
- data/lib/isodoc/csa/html/htmlstyle.css +7 -0
- data/lib/isodoc/csa/presentation_xml_convert.rb +11 -0
- data/lib/metanorma/csa/basicdoc.rng +48 -35
- data/lib/metanorma/csa/biblio-standoc.rng +37 -7
- data/lib/metanorma/csa/biblio.rng +30 -18
- data/lib/metanorma/csa/csa.rng +1 -61
- data/lib/metanorma/csa/isodoc.rng +126 -80
- data/lib/metanorma/csa/processor.rb +13 -10
- data/lib/metanorma/csa/relaton-csa.rng +0 -16
- data/lib/metanorma/csa/reqt.rng +7 -6
- data/lib/metanorma/csa/version.rb +1 -1
- metadata +2 -2
@@ -1331,12 +1331,16 @@
|
|
1331
1331
|
</xsl:template> <!-- refine_table-style -->
|
1332
1332
|
|
1333
1333
|
<xsl:attribute-set name="table-name-style">
|
1334
|
+
<xsl:attribute name="role">Caption</xsl:attribute>
|
1334
1335
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1335
1336
|
|
1336
1337
|
</xsl:attribute-set> <!-- table-name-style -->
|
1337
1338
|
|
1338
1339
|
<xsl:template name="refine_table-name-style">
|
1339
1340
|
<xsl:param name="continued"/>
|
1341
|
+
<xsl:if test="$continued = 'true'">
|
1342
|
+
<xsl:attribute name="role">SKIP</xsl:attribute>
|
1343
|
+
</xsl:if>
|
1340
1344
|
|
1341
1345
|
</xsl:template> <!-- refine_table-name-style -->
|
1342
1346
|
|
@@ -3087,7 +3091,7 @@
|
|
3087
3091
|
</xsl:if>
|
3088
3092
|
|
3089
3093
|
</fo:block-container>
|
3090
|
-
</xsl:variable>
|
3094
|
+
</xsl:variable> <!-- END: variable name="table" -->
|
3091
3095
|
|
3092
3096
|
<xsl:variable name="isAdded" select="@added"/>
|
3093
3097
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -3097,14 +3101,14 @@
|
|
3097
3101
|
|
3098
3102
|
<!-- centered table when table name is centered (see table-name-style) -->
|
3099
3103
|
|
3100
|
-
<fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style">
|
3104
|
+
<fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style" role="SKIP">
|
3101
3105
|
|
3102
3106
|
<fo:table-column column-width="proportional-column-width(1)"/>
|
3103
3107
|
<fo:table-column column-width="{@width}"/>
|
3104
3108
|
<fo:table-column column-width="proportional-column-width(1)"/>
|
3105
|
-
<fo:table-body>
|
3106
|
-
<fo:table-row>
|
3107
|
-
<fo:table-cell column-number="2">
|
3109
|
+
<fo:table-body role="SKIP">
|
3110
|
+
<fo:table-row role="SKIP">
|
3111
|
+
<fo:table-cell column-number="2" role="SKIP">
|
3108
3112
|
<xsl:copy-of select="$table-preamble"/>
|
3109
3113
|
<fo:block role="SKIP">
|
3110
3114
|
<xsl:call-template name="setTrackChangesStyles">
|
@@ -3145,11 +3149,12 @@
|
|
3145
3149
|
|
3146
3150
|
</xsl:template>
|
3147
3151
|
|
3152
|
+
<!-- table/name-->
|
3148
3153
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
|
3149
3154
|
<xsl:param name="continued"/>
|
3150
3155
|
<xsl:if test="normalize-space() != ''">
|
3151
3156
|
|
3152
|
-
<fo:block xsl:use-attribute-sets="table-name-style"
|
3157
|
+
<fo:block xsl:use-attribute-sets="table-name-style">
|
3153
3158
|
|
3154
3159
|
<xsl:call-template name="refine_table-name-style">
|
3155
3160
|
<xsl:with-param name="continued" select="$continued"/>
|
@@ -3626,7 +3631,7 @@
|
|
3626
3631
|
|
3627
3632
|
<xsl:variable name="tableWithNotesAndFootnotes">
|
3628
3633
|
|
3629
|
-
<fo:table keep-with-previous="always">
|
3634
|
+
<fo:table keep-with-previous="always" role="SKIP">
|
3630
3635
|
<xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
|
3631
3636
|
<xsl:variable name="name" select="local-name()"/>
|
3632
3637
|
<xsl:choose>
|
@@ -3657,9 +3662,9 @@
|
|
3657
3662
|
</xsl:otherwise>
|
3658
3663
|
</xsl:choose>
|
3659
3664
|
|
3660
|
-
<fo:table-body>
|
3661
|
-
<fo:table-row>
|
3662
|
-
<fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
|
3665
|
+
<fo:table-body role="SKIP">
|
3666
|
+
<fo:table-row role="SKIP">
|
3667
|
+
<fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}" role="SKIP">
|
3663
3668
|
|
3664
3669
|
<xsl:call-template name="refine_table-footer-cell-style"/>
|
3665
3670
|
|
@@ -3863,6 +3868,8 @@
|
|
3863
3868
|
|
3864
3869
|
<xsl:template name="setTableRowAttributes">
|
3865
3870
|
|
3871
|
+
<xsl:call-template name="setColors"/>
|
3872
|
+
|
3866
3873
|
</xsl:template> <!-- setTableRowAttributes -->
|
3867
3874
|
<!-- ===================== -->
|
3868
3875
|
<!-- END Table's row processing -->
|
@@ -3914,6 +3921,7 @@
|
|
3914
3921
|
</xsl:attribute>
|
3915
3922
|
</xsl:if>
|
3916
3923
|
<xsl:call-template name="display-align"/>
|
3924
|
+
<xsl:call-template name="setColors"/>
|
3917
3925
|
</xsl:template>
|
3918
3926
|
|
3919
3927
|
<xsl:template name="display-align">
|
@@ -3929,6 +3937,29 @@
|
|
3929
3937
|
</xsl:if>
|
3930
3938
|
</xsl:template>
|
3931
3939
|
|
3940
|
+
<xsl:template name="setColors">
|
3941
|
+
<xsl:variable name="styles__">
|
3942
|
+
<xsl:call-template name="split">
|
3943
|
+
<xsl:with-param name="pText" select="concat(@style,';')"/>
|
3944
|
+
<xsl:with-param name="sep" select="';'"/>
|
3945
|
+
</xsl:call-template>
|
3946
|
+
</xsl:variable>
|
3947
|
+
<xsl:variable name="quot">"</xsl:variable>
|
3948
|
+
<xsl:variable name="styles_">
|
3949
|
+
<xsl:for-each select="xalan:nodeset($styles__)/item">
|
3950
|
+
<xsl:variable name="key" select="normalize-space(substring-before(., ':'))"/>
|
3951
|
+
<xsl:variable name="value" select="normalize-space(substring-after(translate(.,$quot,''), ':'))"/>
|
3952
|
+
<xsl:if test="$key = 'color' or $key = 'background-color'">
|
3953
|
+
<style name="{$key}"><xsl:value-of select="$value"/></style>
|
3954
|
+
</xsl:if>
|
3955
|
+
</xsl:for-each>
|
3956
|
+
</xsl:variable>
|
3957
|
+
<xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
|
3958
|
+
<xsl:for-each select="$styles/style">
|
3959
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
3960
|
+
</xsl:for-each>
|
3961
|
+
</xsl:template>
|
3962
|
+
|
3932
3963
|
<!-- cell in table body, footer -->
|
3933
3964
|
<xsl:template match="*[local-name()='td']" name="td">
|
3934
3965
|
<fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
|
@@ -3940,12 +3971,12 @@
|
|
3940
3971
|
|
3941
3972
|
<xsl:call-template name="refine_table-cell-style"/>
|
3942
3973
|
|
3974
|
+
<xsl:call-template name="setTableCellAttributes"/>
|
3975
|
+
|
3943
3976
|
<xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
|
3944
3977
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3945
3978
|
</xsl:if>
|
3946
3979
|
|
3947
|
-
<xsl:call-template name="setTableCellAttributes"/>
|
3948
|
-
|
3949
3980
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
3950
3981
|
<xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width -->
|
3951
3982
|
<xsl:attribute name="text-align">left</xsl:attribute>
|
@@ -4030,6 +4061,7 @@
|
|
4030
4061
|
<!-- footnotes in text (title, bibliography, main body), not for tables, figures and names --> <!-- table's, figure's names -->
|
4031
4062
|
<!-- fn in text -->
|
4032
4063
|
<xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure')] and not(ancestor::*[local-name() = 'name']))]" priority="2" name="fn">
|
4064
|
+
<xsl:param name="footnote_body_from_table">false</xsl:param>
|
4033
4065
|
|
4034
4066
|
<!-- list of unique footnotes -->
|
4035
4067
|
<xsl:variable name="p_fn_">
|
@@ -4095,7 +4127,7 @@
|
|
4095
4127
|
<xsl:copy-of select="$footnote_inline"/>
|
4096
4128
|
</xsl:when>
|
4097
4129
|
<!-- <xsl:when test="$footnotes//*[local-name() = 'fmt-fn-body'][@id = $ref_id] or normalize-space(@skip_footnote_body) = 'false'"> -->
|
4098
|
-
<xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
|
4130
|
+
<xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false' or $footnote_body_from_table = 'true'">
|
4099
4131
|
|
4100
4132
|
<fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
|
4101
4133
|
<xsl:copy-of select="$footnote_inline"/>
|
@@ -4504,39 +4536,51 @@
|
|
4504
4536
|
<!-- fn reference in the table rendering (for instance, 'some text 1) some text' ) -->
|
4505
4537
|
<!-- fn --> <!-- in table --> <!-- for figure see <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/> -->
|
4506
4538
|
<xsl:template match="*[local-name()='fn']">
|
4507
|
-
<
|
4508
|
-
|
4509
|
-
|
4539
|
+
<xsl:variable name="target" select="@target"/>
|
4540
|
+
<xsl:choose>
|
4541
|
+
<!-- case for footnotes in Requirement tables (https://github.com/metanorma/metanorma-ogc/issues/791) -->
|
4542
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'][1]/*[local-name() = 'fmt-footnote-container']/*[local-name() = 'fmt-fn-body'][@id = $target]) and $footnotes/*[local-name() = 'fmt-fn-body'][@id = $target]">
|
4543
|
+
<xsl:call-template name="fn">
|
4544
|
+
<xsl:with-param name="footnote_body_from_table">true</xsl:with-param>
|
4545
|
+
</xsl:call-template>
|
4546
|
+
</xsl:when>
|
4547
|
+
<xsl:otherwise>
|
4510
4548
|
|
4511
|
-
|
4512
|
-
<fo:basic-link internal-destination="{@target}" fox:alt-text="footnote {@reference}">
|
4513
|
-
<!-- <xsl:if test="ancestor::*[local-name()='table'][1]/@id"> --> <!-- for footnotes in tables -->
|
4514
|
-
<!-- <xsl:attribute name="internal-destination">
|
4515
|
-
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
4516
|
-
</xsl:attribute>
|
4517
|
-
</xsl:if>
|
4518
|
-
<xsl:if test="$namespace = 'ogc' or $namespace = 'ogc-white-paper'">
|
4519
|
-
<xsl:attribute name="internal-destination">
|
4520
|
-
<xsl:value-of select="@reference"/><xsl:text>_</xsl:text>
|
4521
|
-
<xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
|
4522
|
-
</xsl:attribute>
|
4523
|
-
</xsl:if> -->
|
4524
|
-
<!-- <xsl:if test="$namespace = 'plateau'">
|
4525
|
-
<xsl:text>※</xsl:text>
|
4526
|
-
</xsl:if> -->
|
4527
|
-
<!-- <xsl:value-of select="@reference"/> -->
|
4549
|
+
<fo:inline xsl:use-attribute-sets="fn-reference-style">
|
4528
4550
|
|
4529
|
-
|
4551
|
+
<xsl:call-template name="refine_fn-reference-style"/>
|
4530
4552
|
|
4531
|
-
|
4532
|
-
<
|
4533
|
-
|
4534
|
-
|
4535
|
-
|
4536
|
-
|
4537
|
-
|
4538
|
-
|
4539
|
-
|
4553
|
+
<!-- <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> --> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
4554
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="footnote {@reference}">
|
4555
|
+
<!-- <xsl:if test="ancestor::*[local-name()='table'][1]/@id"> --> <!-- for footnotes in tables -->
|
4556
|
+
<!-- <xsl:attribute name="internal-destination">
|
4557
|
+
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
4558
|
+
</xsl:attribute>
|
4559
|
+
</xsl:if>
|
4560
|
+
<xsl:if test="$namespace = 'ogc' or $namespace = 'ogc-white-paper'">
|
4561
|
+
<xsl:attribute name="internal-destination">
|
4562
|
+
<xsl:value-of select="@reference"/><xsl:text>_</xsl:text>
|
4563
|
+
<xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
|
4564
|
+
</xsl:attribute>
|
4565
|
+
</xsl:if> -->
|
4566
|
+
<!-- <xsl:if test="$namespace = 'plateau'">
|
4567
|
+
<xsl:text>※</xsl:text>
|
4568
|
+
</xsl:if> -->
|
4569
|
+
<!-- <xsl:value-of select="@reference"/> -->
|
4570
|
+
|
4571
|
+
<xsl:value-of select="normalize-space(*[local-name() = 'fmt-fn-label'])"/>
|
4572
|
+
|
4573
|
+
<!-- <xsl:if test="$namespace = 'bsi'">
|
4574
|
+
<xsl:text>)</xsl:text>
|
4575
|
+
</xsl:if> -->
|
4576
|
+
<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
|
4577
|
+
<!-- <xsl:if test="$namespace = 'jis'">
|
4578
|
+
<fo:inline font-weight="normal">)</fo:inline>
|
4579
|
+
</xsl:if> -->
|
4580
|
+
</fo:basic-link>
|
4581
|
+
</fo:inline>
|
4582
|
+
</xsl:otherwise>
|
4583
|
+
</xsl:choose>
|
4540
4584
|
</xsl:template> <!-- fn -->
|
4541
4585
|
|
4542
4586
|
<!-- fn/text() -->
|
@@ -5729,7 +5773,7 @@
|
|
5729
5773
|
<xsl:choose>
|
5730
5774
|
<xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
|
5731
5775
|
<xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
|
5732
|
-
<fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
|
5776
|
+
<fo:inline keep-with-next.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
|
5733
5777
|
</xsl:when>
|
5734
5778
|
<xsl:otherwise>
|
5735
5779
|
<xsl:apply-templates/>
|
@@ -5737,7 +5781,7 @@
|
|
5737
5781
|
</xsl:choose>
|
5738
5782
|
</xsl:template>
|
5739
5783
|
<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">
|
5740
|
-
<fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
|
5784
|
+
<fo:inline keep-with-next.within-line="always" role="SKIP"><xsl:value-of select="."/></fo:inline>
|
5741
5785
|
</xsl:template>
|
5742
5786
|
|
5743
5787
|
<xsl:template match="*[local-name() = 'span'][contains(@style, 'text-transform:none')]//text()" priority="5">
|
@@ -6777,24 +6821,26 @@
|
|
6777
6821
|
<xsl:apply-templates select="." mode="mathml"/>
|
6778
6822
|
</xsl:variable>
|
6779
6823
|
|
6780
|
-
<fo:instream-foreign-object fox:alt-text="Math">
|
6824
|
+
<fo:instream-foreign-object fox:alt-text="Math" fox:actual-text="Math">
|
6781
6825
|
|
6782
6826
|
<xsl:call-template name="refine_mathml_insteam_object_style"/>
|
6783
6827
|
|
6784
|
-
|
6785
|
-
|
6786
|
-
|
6787
|
-
<xsl:
|
6788
|
-
|
6789
|
-
|
6790
|
-
<!-- <xsl:if test="$add_math_as_text = 'true'"> -->
|
6791
|
-
<xsl:if test="normalize-space($asciimath_text_) != ''">
|
6792
|
-
<!-- put Mathin Alternate Text -->
|
6793
|
-
<xsl:attribute name="fox:alt-text">
|
6794
|
-
<xsl:value-of select="$asciimath_text_"/>
|
6828
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
6829
|
+
<!-- put MathML in Actual Text -->
|
6830
|
+
<!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
|
6831
|
+
<xsl:attribute name="fox:actual-text">
|
6832
|
+
<xsl:value-of select="$mathml_content"/>
|
6795
6833
|
</xsl:attribute>
|
6834
|
+
|
6835
|
+
<!-- <xsl:if test="$add_math_as_text = 'true'"> -->
|
6836
|
+
<xsl:if test="normalize-space($asciimath_text_) != ''">
|
6837
|
+
<!-- put Mathin Alternate Text -->
|
6838
|
+
<xsl:attribute name="fox:alt-text">
|
6839
|
+
<xsl:value-of select="$asciimath_text_"/>
|
6840
|
+
</xsl:attribute>
|
6841
|
+
</xsl:if>
|
6842
|
+
<!-- </xsl:if> -->
|
6796
6843
|
</xsl:if>
|
6797
|
-
<!-- </xsl:if> -->
|
6798
6844
|
|
6799
6845
|
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
6800
6846
|
|
@@ -8534,6 +8580,13 @@
|
|
8534
8580
|
<xsl:apply-templates select="."/>
|
8535
8581
|
</xsl:template>
|
8536
8582
|
|
8583
|
+
<!-- prevent missing stem for table and figures in ToC -->
|
8584
|
+
<xsl:template match="*[local-name() = 'name' or local-name() = 'fmt-name']//*[local-name() = 'stem']" mode="contents">
|
8585
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-stem'])">
|
8586
|
+
<xsl:apply-templates select="."/>
|
8587
|
+
</xsl:if>
|
8588
|
+
</xsl:template>
|
8589
|
+
|
8537
8590
|
<xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/>
|
8538
8591
|
|
8539
8592
|
<xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/>
|
@@ -8554,6 +8607,8 @@
|
|
8554
8607
|
<xsl:template match="*[local-name() = 'origin']" mode="contents"/>
|
8555
8608
|
<xsl:template match="*[local-name() = 'erefstack ']" mode="contents"/>
|
8556
8609
|
|
8610
|
+
<xsl:template match="*[local-name() = 'requirement'] | *[local-name() = 'recommendation'] | *[local-name() = 'permission']" mode="contents" priority="3"/>
|
8611
|
+
|
8557
8612
|
<xsl:template match="*[local-name() = 'stem']" mode="bookmarks"/>
|
8558
8613
|
<xsl:template match="*[local-name() = 'fmt-stem']" mode="bookmarks">
|
8559
8614
|
<xsl:apply-templates mode="bookmarks"/>
|
@@ -8575,6 +8630,8 @@
|
|
8575
8630
|
<xsl:template match="*[local-name() = 'origin']" mode="bookmarks"/>
|
8576
8631
|
<xsl:template match="*[local-name() = 'erefstack ']" mode="bookmarks"/>
|
8577
8632
|
|
8633
|
+
<xsl:template match="*[local-name() = 'requirement'] | *[local-name() = 'recommendation'] | *[local-name() = 'permission']" mode="bookmarks" priority="3"/>
|
8634
|
+
|
8578
8635
|
<!-- Bookmarks -->
|
8579
8636
|
<xsl:template name="addBookmarks">
|
8580
8637
|
<xsl:param name="contents"/>
|
@@ -8753,7 +8810,8 @@
|
|
8753
8810
|
|
8754
8811
|
<xsl:for-each select="$contents_nodes//tables/table">
|
8755
8812
|
<fo:bookmark internal-destination="{@id}">
|
8756
|
-
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
8813
|
+
<!-- <fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title> -->
|
8814
|
+
<fo:bookmark-title><xsl:apply-templates mode="bookmark_clean"/></fo:bookmark-title>
|
8757
8815
|
</fo:bookmark>
|
8758
8816
|
</xsl:for-each>
|
8759
8817
|
</fo:bookmark>
|
@@ -8762,6 +8820,26 @@
|
|
8762
8820
|
</xsl:template> <!-- insertTableBookmarks -->
|
8763
8821
|
<!-- End Bookmarks -->
|
8764
8822
|
|
8823
|
+
<!-- ============================ -->
|
8824
|
+
<!-- mode="bookmark_clean" -->
|
8825
|
+
<!-- ============================ -->
|
8826
|
+
<xsl:template match="node()" mode="bookmark_clean">
|
8827
|
+
<xsl:apply-templates select="node()" mode="bookmark_clean"/>
|
8828
|
+
</xsl:template>
|
8829
|
+
|
8830
|
+
<xsl:template match="text()" mode="bookmark_clean">
|
8831
|
+
<xsl:value-of select="."/>
|
8832
|
+
</xsl:template>
|
8833
|
+
|
8834
|
+
<xsl:template match="*[local-name() = 'math']" mode="bookmark_clean">
|
8835
|
+
<xsl:value-of select="normalize-space(.)"/>
|
8836
|
+
</xsl:template>
|
8837
|
+
|
8838
|
+
<xsl:template match="*[local-name() = 'asciimath']" mode="bookmark_clean"/>
|
8839
|
+
<!-- ============================ -->
|
8840
|
+
<!-- END: mode="bookmark_clean" -->
|
8841
|
+
<!-- ============================ -->
|
8842
|
+
|
8765
8843
|
<xsl:template name="getLangVersion">
|
8766
8844
|
<xsl:param name="lang"/>
|
8767
8845
|
<xsl:param name="doctype" select="''"/>
|
@@ -10452,21 +10530,32 @@
|
|
10452
10530
|
<!-- ========== -->
|
10453
10531
|
|
10454
10532
|
<xsl:variable name="reviews_">
|
10455
|
-
<xsl:for-each select="//*[local-name() = 'review'][@from]">
|
10533
|
+
<xsl:for-each select="//*[local-name() = 'review'][not(parent::*[local-name() = 'review-container'])][@from]">
|
10456
10534
|
<xsl:copy>
|
10457
10535
|
<xsl:copy-of select="@from"/>
|
10458
10536
|
<xsl:copy-of select="@id"/>
|
10459
10537
|
</xsl:copy>
|
10460
10538
|
</xsl:for-each>
|
10539
|
+
<xsl:for-each select="//*[local-name() = 'fmt-review-start'][@source]">
|
10540
|
+
<xsl:copy>
|
10541
|
+
<xsl:copy-of select="@source"/>
|
10542
|
+
<xsl:copy-of select="@id"/>
|
10543
|
+
</xsl:copy>
|
10544
|
+
</xsl:for-each>
|
10461
10545
|
</xsl:variable>
|
10462
10546
|
<xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
|
10463
10547
|
|
10464
10548
|
<xsl:template name="addReviewHelper">
|
10465
|
-
|
10466
|
-
|
10467
|
-
|
10468
|
-
|
10469
|
-
<
|
10549
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
10550
|
+
<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
|
10551
|
+
<xsl:variable name="curr_id" select="@id"/>
|
10552
|
+
<!-- <xsl:variable name="review_id" select="normalize-space(/@id)"/> -->
|
10553
|
+
<xsl:for-each select="$reviews//*[local-name() = 'review'][@from = $curr_id]"> <!-- $reviews//*[local-name() = 'fmt-review-start'][@source = $curr_id] -->
|
10554
|
+
<xsl:variable name="review_id" select="normalize-space(@id)"/>
|
10555
|
+
<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
|
10556
|
+
<fo:block keep-with-next="always" line-height="0.1" id="{$review_id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$review_id}" fox:alt-text="Annot___{$review_id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
|
10557
|
+
</xsl:if>
|
10558
|
+
</xsl:for-each>
|
10470
10559
|
</xsl:if>
|
10471
10560
|
<!-- <fo:block>
|
10472
10561
|
<curr_id><xsl:value-of select="$curr_id"/></curr_id>
|
@@ -10608,14 +10697,61 @@
|
|
10608
10697
|
|
10609
10698
|
</xsl:template>
|
10610
10699
|
|
10611
|
-
|
10700
|
+
<!-- document text (not figures, or tables) footnotes -->
|
10701
|
+
<xsl:variable name="reviews_container_">
|
10702
|
+
<xsl:for-each select="//*[local-name() = 'review-container']/*[local-name() = 'fmt-review-body']">
|
10703
|
+
<xsl:variable name="update_xml_step1">
|
10704
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
10705
|
+
</xsl:variable>
|
10706
|
+
<xsl:apply-templates select="xalan:nodeset($update_xml_step1)" mode="update_xml_enclose_keep-together_within-line"/>
|
10707
|
+
</xsl:for-each>
|
10708
|
+
</xsl:variable>
|
10709
|
+
<xsl:variable name="reviews_container" select="xalan:nodeset($reviews_container_)"/>
|
10710
|
+
|
10711
|
+
<xsl:template match="*[local-name() = 'review-container']"/>
|
10712
|
+
|
10713
|
+
<!-- for old Presentation XML (before https://github.com/metanorma/isodoc/issues/670) -->
|
10714
|
+
<xsl:template match="*[local-name() = 'review'][not(parent::*[local-name() = 'review-container'])]"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
|
10715
|
+
<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
|
10716
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
10717
|
+
<xsl:choose>
|
10718
|
+
<!-- if there isn't the attribute '@from', then -->
|
10719
|
+
<xsl:when test="$id_from = ''">
|
10720
|
+
<fo:block id="{@id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@id}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
|
10721
|
+
</xsl:when>
|
10722
|
+
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
10723
|
+
<xsl:when test="ancestor::*[local-name() = 'metanorma'] and not(ancestor::*[local-name() = 'metanorma']//*[@id = $id_from])">
|
10724
|
+
<fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
|
10725
|
+
</xsl:when>
|
10726
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
10727
|
+
<fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
|
10728
|
+
</xsl:when>
|
10729
|
+
</xsl:choose>
|
10730
|
+
</xsl:if>
|
10731
|
+
</xsl:template>
|
10732
|
+
|
10733
|
+
<!-- for new Presentation XML (https://github.com/metanorma/isodoc/issues/670) -->
|
10734
|
+
<xsl:template match="*[local-name() = 'fmt-review-start']" name="fmt-review-start"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
|
10612
10735
|
<!-- comment 2019-11-29 -->
|
10613
10736
|
<!-- <fo:block font-weight="bold">Review:</fo:block>
|
10614
10737
|
<xsl:apply-templates /> -->
|
10615
10738
|
|
10616
|
-
<xsl:variable name="id_from" select="normalize-space(current()/@
|
10739
|
+
<xsl:variable name="id_from" select="normalize-space(current()/@source)"/>
|
10617
10740
|
|
10618
|
-
<xsl:
|
10741
|
+
<xsl:variable name="source" select="normalize-space(@source)"/>
|
10742
|
+
|
10743
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
10744
|
+
<!-- <xsl:variable name="id_from" select="normalize-space(current()/@from)"/> -->
|
10745
|
+
|
10746
|
+
<!-- <xsl:if test="@source = @end"> -->
|
10747
|
+
<!-- following-sibling::node()[1][local-name() = 'bookmark'][@id = $source] and
|
10748
|
+
following-sibling::node()[2][local-name() = 'fmt-review-end'][@source = $source] -->
|
10749
|
+
<!-- <fo:block id="{$source}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$source}" fox:alt-text="Annot___{$source}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block> -->
|
10750
|
+
<fo:block id="{@id}" font-size="1pt" role="SKIP" keep-with-next="always" line-height="0.1"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@id}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
|
10751
|
+
<!-- </xsl:if> -->
|
10752
|
+
</xsl:if>
|
10753
|
+
|
10754
|
+
<xsl:if test="1 = 2">
|
10619
10755
|
<xsl:choose>
|
10620
10756
|
<!-- if there isn't the attribute '@from', then -->
|
10621
10757
|
<xsl:when test="$id_from = ''">
|
@@ -10623,10 +10759,10 @@
|
|
10623
10759
|
</xsl:when>
|
10624
10760
|
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
10625
10761
|
<xsl:when test="ancestor::*[local-name() = 'metanorma'] and not(ancestor::*[local-name() = 'metanorma']//*[@id = $id_from])">
|
10626
|
-
<fo:block id="{
|
10762
|
+
<fo:block id="{$id_from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$id_from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
|
10627
10763
|
</xsl:when>
|
10628
10764
|
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
10629
|
-
<fo:block id="{
|
10765
|
+
<fo:block id="{$id_from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$id_from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
|
10630
10766
|
</xsl:when>
|
10631
10767
|
</xsl:choose>
|
10632
10768
|
</xsl:if>
|
@@ -10677,16 +10813,21 @@
|
|
10677
10813
|
<xsl:variable name="list_level">
|
10678
10814
|
<xsl:choose>
|
10679
10815
|
<xsl:when test="$list_level_ <= 3"><xsl:value-of select="$list_level_"/></xsl:when>
|
10680
|
-
<xsl:
|
10816
|
+
<xsl:when test="$ul_labels/label[@level = 3]"><xsl:value-of select="$list_level_ mod 3"/></xsl:when>
|
10817
|
+
<xsl:when test="$list_level_ mod 2 = 0">2</xsl:when>
|
10818
|
+
<xsl:otherwise><xsl:value-of select="$list_level_ mod 2"/></xsl:otherwise>
|
10681
10819
|
</xsl:choose>
|
10682
10820
|
</xsl:variable>
|
10683
10821
|
<xsl:choose>
|
10684
10822
|
<xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
|
10685
10823
|
<xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
|
10686
10824
|
</xsl:when>
|
10687
|
-
<xsl:when test="$list_level mod 3 = 0">
|
10825
|
+
<xsl:when test="$list_level mod 3 = 0 and $ul_labels/label[@level = 3]">
|
10688
10826
|
<xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
|
10689
10827
|
</xsl:when>
|
10828
|
+
<xsl:when test="$list_level mod 3 = 0">
|
10829
|
+
<xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
|
10830
|
+
</xsl:when>
|
10690
10831
|
<xsl:when test="$list_level mod 2 = 0">
|
10691
10832
|
<xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
|
10692
10833
|
</xsl:when>
|
@@ -10707,9 +10848,15 @@
|
|
10707
10848
|
<xsl:when test="local-name(..) = 'ul'">
|
10708
10849
|
<xsl:choose>
|
10709
10850
|
<xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/>
|
10851
|
+
<!-- https://github.com/metanorma/isodoc/issues/675 -->
|
10852
|
+
<xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
|
10710
10853
|
<xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
|
10711
10854
|
</xsl:choose>
|
10712
10855
|
</xsl:when>
|
10856
|
+
<!-- https://github.com/metanorma/isodoc/issues/675 -->
|
10857
|
+
<xsl:when test="local-name(..) = 'ol' and @label and @full = 'true'"> <!-- @full added in the template li/fmt-name -->
|
10858
|
+
<xsl:value-of select="@label"/>
|
10859
|
+
</xsl:when>
|
10713
10860
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
10714
10861
|
|
10715
10862
|
<xsl:variable name="type" select="../@type"/>
|
@@ -10834,7 +10981,7 @@
|
|
10834
10981
|
|
10835
10982
|
</xsl:otherwise>
|
10836
10983
|
</xsl:choose>
|
10837
|
-
</xsl:template>
|
10984
|
+
</xsl:template> <!-- getListItemFormat -->
|
10838
10985
|
|
10839
10986
|
<xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
10840
10987
|
<xsl:param name="indent">0</xsl:param>
|
@@ -10966,6 +11113,11 @@
|
|
10966
11113
|
|
10967
11114
|
<xsl:call-template name="refine_list-item-label-style"/>
|
10968
11115
|
|
11116
|
+
<xsl:if test="local-name(..) = 'ul'">
|
11117
|
+
<xsl:variable name="li_label" select="@label"/>
|
11118
|
+
<xsl:copy-of select="$ul_labels//label[. = $li_label]/@*[not(local-name() = 'level')]"/>
|
11119
|
+
</xsl:if>
|
11120
|
+
|
10969
11121
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
10970
11122
|
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
10971
11123
|
<xsl:call-template name="append_add-style"/>
|
@@ -11229,10 +11381,22 @@
|
|
11229
11381
|
<xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/>
|
11230
11382
|
|
11231
11383
|
<xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
|
11232
|
-
|
11233
|
-
<
|
11234
|
-
|
11235
|
-
|
11384
|
+
<xsl:variable name="bookmark_id" select="@id"/>
|
11385
|
+
<xsl:choose>
|
11386
|
+
<!-- Example:
|
11387
|
+
<fmt-review-start id="_7ef81cf7-3f6c-4ed4-9c1f-1ba092052bbd" source="_dda23915-8574-ef1e-29a1-822d465a5b97" target="_ecfb2210-3b1b-46a2-b63a-8b8505be6686" end="_dda23915-8574-ef1e-29a1-822d465a5b97" author="" date="2025-03-24T00:00:00Z"/>
|
11388
|
+
<bookmark id="_dda23915-8574-ef1e-29a1-822d465a5b97"/>
|
11389
|
+
<fmt-review-end id="_f336a8d0-08a8-4b7f-a1aa-b04688ed40c1" source="_dda23915-8574-ef1e-29a1-822d465a5b97" target="_ecfb2210-3b1b-46a2-b63a-8b8505be6686" start="_dda23915-8574-ef1e-29a1-822d465a5b97" author="" date="2025-03-24T00:00:00Z"/> -->
|
11390
|
+
<xsl:when test="1 = 2 and preceding-sibling::node()[local-name() = 'fmt-review-start'][@source = $bookmark_id] and following-sibling::node()[local-name() = 'fmt-review-end'][@source = $bookmark_id]">
|
11391
|
+
<!-- skip here, see the template 'fmt-review-start' -->
|
11392
|
+
</xsl:when>
|
11393
|
+
<xsl:otherwise>
|
11394
|
+
<!-- <fo:inline id="{@id}" font-size="1pt"/> -->
|
11395
|
+
<fo:inline id="{@id}" font-size="1pt"><xsl:if test="preceding-sibling::node()[local-name() = 'fmt-review-start'][@source = $bookmark_id] and following-sibling::node()[local-name() = 'fmt-review-end'][@source = $bookmark_id]"><xsl:attribute name="line-height">0.1</xsl:attribute></xsl:if><xsl:value-of select="$hair_space"/></fo:inline>
|
11396
|
+
<!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
|
11397
|
+
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
|
11398
|
+
</xsl:otherwise>
|
11399
|
+
</xsl:choose>
|
11236
11400
|
</xsl:template>
|
11237
11401
|
<!-- =================== -->
|
11238
11402
|
<!-- End of Index processing -->
|
@@ -12329,6 +12493,16 @@
|
|
12329
12493
|
</xsl:choose>
|
12330
12494
|
</xsl:template>
|
12331
12495
|
|
12496
|
+
<!-- li/fmt-name -->
|
12497
|
+
<xsl:template match="*[local-name() = 'li']/*[local-name() = 'fmt-name']" priority="2" mode="update_xml_step1">
|
12498
|
+
<xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute>
|
12499
|
+
<xsl:attribute name="full">true</xsl:attribute>
|
12500
|
+
</xsl:template>
|
12501
|
+
<xsl:template match="*[local-name() = 'li']/*[local-name() = 'fmt-name']" priority="2" mode="update_xml_pres">
|
12502
|
+
<xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute>
|
12503
|
+
<xsl:attribute name="full">true</xsl:attribute>
|
12504
|
+
</xsl:template>
|
12505
|
+
|
12332
12506
|
<xsl:template match="*[local-name() = 'fmt-preferred']"/>
|
12333
12507
|
<xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_step1">
|
12334
12508
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -12558,6 +12732,9 @@
|
|
12558
12732
|
<xsl:template match="*[local-name() = 'svgmap']" mode="update_xml_step1"/>
|
12559
12733
|
<xsl:template match="*[local-name() = 'svgmap']" mode="update_xml_pres"/>
|
12560
12734
|
|
12735
|
+
<xsl:template match="*[local-name() = 'review-container']" mode="update_xml_step1"/>
|
12736
|
+
<xsl:template match="*[local-name() = 'review-container']" mode="update_xml_pres"/>
|
12737
|
+
|
12561
12738
|
<!-- END: update new Presentation XML -->
|
12562
12739
|
|
12563
12740
|
<!-- =========================================================================== -->
|
@@ -13140,6 +13317,64 @@
|
|
13140
13317
|
<fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
|
13141
13318
|
</xsl:template>
|
13142
13319
|
|
13320
|
+
<!-- ===================================== -->
|
13321
|
+
<!-- ===================================== -->
|
13322
|
+
<!-- Ruby text (CJK languages) rendering -->
|
13323
|
+
<!-- ===================================== -->
|
13324
|
+
<!-- ===================================== -->
|
13325
|
+
<xsl:template match="*[local-name() = 'ruby']">
|
13326
|
+
<fo:inline-container text-indent="0mm" last-line-end-indent="0mm">
|
13327
|
+
<xsl:if test="not(ancestor::*[local-name() = 'ruby'])">
|
13328
|
+
<xsl:attribute name="alignment-baseline">central</xsl:attribute>
|
13329
|
+
</xsl:if>
|
13330
|
+
<xsl:variable name="rt_text" select="*[local-name() = 'rt']"/>
|
13331
|
+
<xsl:variable name="rb_text" select=".//*[local-name() = 'rb'][not(*[local-name() = 'ruby'])]"/>
|
13332
|
+
<!-- Example: width="2em" -->
|
13333
|
+
<xsl:variable name="text_rt_width" select="java:org.metanorma.fop.Util.getStringWidthByFontSize($rt_text, $font_main, 6)"/>
|
13334
|
+
<xsl:variable name="text_rb_width" select="java:org.metanorma.fop.Util.getStringWidthByFontSize($rb_text, $font_main, 10)"/>
|
13335
|
+
<xsl:variable name="text_width">
|
13336
|
+
<xsl:choose>
|
13337
|
+
<xsl:when test="$text_rt_width >= $text_rb_width"><xsl:value-of select="$text_rt_width"/></xsl:when>
|
13338
|
+
<xsl:otherwise><xsl:value-of select="$text_rb_width"/></xsl:otherwise>
|
13339
|
+
</xsl:choose>
|
13340
|
+
</xsl:variable>
|
13341
|
+
<xsl:attribute name="width"><xsl:value-of select="$text_width div 10"/>em</xsl:attribute>
|
13342
|
+
|
13343
|
+
<xsl:choose>
|
13344
|
+
<xsl:when test="ancestor::*[local-name() = 'ruby']">
|
13345
|
+
<xsl:apply-templates select="*[local-name() = 'rb']"/>
|
13346
|
+
<xsl:apply-templates select="*[local-name() = 'rt']"/>
|
13347
|
+
</xsl:when>
|
13348
|
+
<xsl:otherwise>
|
13349
|
+
<xsl:apply-templates select="*[local-name() = 'rt']"/>
|
13350
|
+
<xsl:apply-templates select="*[local-name() = 'rb']"/>
|
13351
|
+
</xsl:otherwise>
|
13352
|
+
</xsl:choose>
|
13353
|
+
|
13354
|
+
<xsl:apply-templates select="node()[not(local-name() = 'rt') and not(local-name() = 'rb')]"/>
|
13355
|
+
</fo:inline-container>
|
13356
|
+
</xsl:template>
|
13357
|
+
|
13358
|
+
<xsl:template match="*[local-name() = 'rb']">
|
13359
|
+
<fo:block line-height="1em" text-align="center"><xsl:apply-templates/></fo:block>
|
13360
|
+
</xsl:template>
|
13361
|
+
|
13362
|
+
<xsl:template match="*[local-name() = 'rt']">
|
13363
|
+
<fo:block font-size="0.5em" text-align="center" line-height="1.2em" space-before="-1.4em" space-before.conditionality="retain"> <!-- -->
|
13364
|
+
<xsl:if test="ancestor::*[local-name() = 'ruby'][last()]//*[local-name() = 'ruby'] or ancestor::*[local-name() = 'rb']">
|
13365
|
+
<xsl:attribute name="space-before">0em</xsl:attribute>
|
13366
|
+
</xsl:if>
|
13367
|
+
<xsl:apply-templates/>
|
13368
|
+
</fo:block>
|
13369
|
+
|
13370
|
+
</xsl:template>
|
13371
|
+
|
13372
|
+
<!-- ===================================== -->
|
13373
|
+
<!-- ===================================== -->
|
13374
|
+
<!-- END: Ruby text (CJK languages) rendering -->
|
13375
|
+
<!-- ===================================== -->
|
13376
|
+
<!-- ===================================== -->
|
13377
|
+
|
13143
13378
|
<xsl:template name="printEdition">
|
13144
13379
|
<xsl:variable name="edition_i18n" select="normalize-space((//*[local-name() = 'metanorma'])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
|
13145
13380
|
|