metanorma-ribose 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/ribose/html/htmlstyle.css +7 -0
- data/lib/isodoc/ribose/presentation_xml_convert.rb +22 -20
- data/lib/isodoc/ribose/ribose.standard.xsl +312 -77
- data/lib/isodoc/ribose/xref.rb +0 -33
- data/lib/metanorma/ribose/basicdoc.rng +48 -35
- data/lib/metanorma/ribose/biblio-standoc.rng +37 -7
- data/lib/metanorma/ribose/biblio.rng +30 -18
- data/lib/metanorma/ribose/isodoc.rng +126 -80
- data/lib/metanorma/ribose/relaton-ribose.rng +8 -20
- data/lib/metanorma/ribose/reqt.rng +7 -6
- data/lib/metanorma/ribose/ribose.rng +1 -34
- data/lib/metanorma/ribose/version.rb +1 -1
- metadata +2 -2
@@ -2026,6 +2026,7 @@
|
|
2026
2026
|
</xsl:template> <!-- refine_table-style -->
|
2027
2027
|
|
2028
2028
|
<xsl:attribute-set name="table-name-style">
|
2029
|
+
<xsl:attribute name="role">Caption</xsl:attribute>
|
2029
2030
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2030
2031
|
|
2031
2032
|
<xsl:attribute name="font-size">13pt</xsl:attribute>
|
@@ -2039,6 +2040,9 @@
|
|
2039
2040
|
|
2040
2041
|
<xsl:template name="refine_table-name-style">
|
2041
2042
|
<xsl:param name="continued"/>
|
2043
|
+
<xsl:if test="$continued = 'true'">
|
2044
|
+
<xsl:attribute name="role">SKIP</xsl:attribute>
|
2045
|
+
</xsl:if>
|
2042
2046
|
|
2043
2047
|
</xsl:template> <!-- refine_table-name-style -->
|
2044
2048
|
|
@@ -3869,7 +3873,7 @@
|
|
3869
3873
|
</xsl:if>
|
3870
3874
|
|
3871
3875
|
</fo:block-container>
|
3872
|
-
</xsl:variable>
|
3876
|
+
</xsl:variable> <!-- END: variable name="table" -->
|
3873
3877
|
|
3874
3878
|
<xsl:variable name="isAdded" select="@added"/>
|
3875
3879
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -3879,14 +3883,14 @@
|
|
3879
3883
|
|
3880
3884
|
<!-- centered table when table name is centered (see table-name-style) -->
|
3881
3885
|
|
3882
|
-
<fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style">
|
3886
|
+
<fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style" role="SKIP">
|
3883
3887
|
|
3884
3888
|
<fo:table-column column-width="proportional-column-width(1)"/>
|
3885
3889
|
<fo:table-column column-width="{@width}"/>
|
3886
3890
|
<fo:table-column column-width="proportional-column-width(1)"/>
|
3887
|
-
<fo:table-body>
|
3888
|
-
<fo:table-row>
|
3889
|
-
<fo:table-cell column-number="2">
|
3891
|
+
<fo:table-body role="SKIP">
|
3892
|
+
<fo:table-row role="SKIP">
|
3893
|
+
<fo:table-cell column-number="2" role="SKIP">
|
3890
3894
|
<xsl:copy-of select="$table-preamble"/>
|
3891
3895
|
<fo:block role="SKIP">
|
3892
3896
|
<xsl:call-template name="setTrackChangesStyles">
|
@@ -3927,11 +3931,12 @@
|
|
3927
3931
|
|
3928
3932
|
</xsl:template>
|
3929
3933
|
|
3934
|
+
<!-- table/name-->
|
3930
3935
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
|
3931
3936
|
<xsl:param name="continued"/>
|
3932
3937
|
<xsl:if test="normalize-space() != ''">
|
3933
3938
|
|
3934
|
-
<fo:block xsl:use-attribute-sets="table-name-style"
|
3939
|
+
<fo:block xsl:use-attribute-sets="table-name-style">
|
3935
3940
|
|
3936
3941
|
<xsl:call-template name="refine_table-name-style">
|
3937
3942
|
<xsl:with-param name="continued" select="$continued"/>
|
@@ -4408,7 +4413,7 @@
|
|
4408
4413
|
|
4409
4414
|
<xsl:variable name="tableWithNotesAndFootnotes">
|
4410
4415
|
|
4411
|
-
<fo:table keep-with-previous="always">
|
4416
|
+
<fo:table keep-with-previous="always" role="SKIP">
|
4412
4417
|
<xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
|
4413
4418
|
<xsl:variable name="name" select="local-name()"/>
|
4414
4419
|
<xsl:choose>
|
@@ -4439,9 +4444,9 @@
|
|
4439
4444
|
</xsl:otherwise>
|
4440
4445
|
</xsl:choose>
|
4441
4446
|
|
4442
|
-
<fo:table-body>
|
4443
|
-
<fo:table-row>
|
4444
|
-
<fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
|
4447
|
+
<fo:table-body role="SKIP">
|
4448
|
+
<fo:table-row role="SKIP">
|
4449
|
+
<fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}" role="SKIP">
|
4445
4450
|
|
4446
4451
|
<xsl:call-template name="refine_table-footer-cell-style"/>
|
4447
4452
|
|
@@ -4645,6 +4650,8 @@
|
|
4645
4650
|
|
4646
4651
|
<xsl:template name="setTableRowAttributes">
|
4647
4652
|
|
4653
|
+
<xsl:call-template name="setColors"/>
|
4654
|
+
|
4648
4655
|
</xsl:template> <!-- setTableRowAttributes -->
|
4649
4656
|
<!-- ===================== -->
|
4650
4657
|
<!-- END Table's row processing -->
|
@@ -4696,6 +4703,7 @@
|
|
4696
4703
|
</xsl:attribute>
|
4697
4704
|
</xsl:if>
|
4698
4705
|
<xsl:call-template name="display-align"/>
|
4706
|
+
<xsl:call-template name="setColors"/>
|
4699
4707
|
</xsl:template>
|
4700
4708
|
|
4701
4709
|
<xsl:template name="display-align">
|
@@ -4711,6 +4719,29 @@
|
|
4711
4719
|
</xsl:if>
|
4712
4720
|
</xsl:template>
|
4713
4721
|
|
4722
|
+
<xsl:template name="setColors">
|
4723
|
+
<xsl:variable name="styles__">
|
4724
|
+
<xsl:call-template name="split">
|
4725
|
+
<xsl:with-param name="pText" select="concat(@style,';')"/>
|
4726
|
+
<xsl:with-param name="sep" select="';'"/>
|
4727
|
+
</xsl:call-template>
|
4728
|
+
</xsl:variable>
|
4729
|
+
<xsl:variable name="quot">"</xsl:variable>
|
4730
|
+
<xsl:variable name="styles_">
|
4731
|
+
<xsl:for-each select="xalan:nodeset($styles__)/item">
|
4732
|
+
<xsl:variable name="key" select="normalize-space(substring-before(., ':'))"/>
|
4733
|
+
<xsl:variable name="value" select="normalize-space(substring-after(translate(.,$quot,''), ':'))"/>
|
4734
|
+
<xsl:if test="$key = 'color' or $key = 'background-color'">
|
4735
|
+
<style name="{$key}"><xsl:value-of select="$value"/></style>
|
4736
|
+
</xsl:if>
|
4737
|
+
</xsl:for-each>
|
4738
|
+
</xsl:variable>
|
4739
|
+
<xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
|
4740
|
+
<xsl:for-each select="$styles/style">
|
4741
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
4742
|
+
</xsl:for-each>
|
4743
|
+
</xsl:template>
|
4744
|
+
|
4714
4745
|
<!-- cell in table body, footer -->
|
4715
4746
|
<xsl:template match="*[local-name()='td']" name="td">
|
4716
4747
|
<fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
|
@@ -4722,12 +4753,12 @@
|
|
4722
4753
|
|
4723
4754
|
<xsl:call-template name="refine_table-cell-style"/>
|
4724
4755
|
|
4756
|
+
<xsl:call-template name="setTableCellAttributes"/>
|
4757
|
+
|
4725
4758
|
<xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
|
4726
4759
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
4727
4760
|
</xsl:if>
|
4728
4761
|
|
4729
|
-
<xsl:call-template name="setTableCellAttributes"/>
|
4730
|
-
|
4731
4762
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
4732
4763
|
<xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width -->
|
4733
4764
|
<xsl:attribute name="text-align">left</xsl:attribute>
|
@@ -4812,6 +4843,7 @@
|
|
4812
4843
|
<!-- footnotes in text (title, bibliography, main body), not for tables, figures and names --> <!-- table's, figure's names -->
|
4813
4844
|
<!-- fn in text -->
|
4814
4845
|
<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">
|
4846
|
+
<xsl:param name="footnote_body_from_table">false</xsl:param>
|
4815
4847
|
|
4816
4848
|
<!-- list of unique footnotes -->
|
4817
4849
|
<xsl:variable name="p_fn_">
|
@@ -4877,7 +4909,7 @@
|
|
4877
4909
|
<xsl:copy-of select="$footnote_inline"/>
|
4878
4910
|
</xsl:when>
|
4879
4911
|
<!-- <xsl:when test="$footnotes//*[local-name() = 'fmt-fn-body'][@id = $ref_id] or normalize-space(@skip_footnote_body) = 'false'"> -->
|
4880
|
-
<xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
|
4912
|
+
<xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false' or $footnote_body_from_table = 'true'">
|
4881
4913
|
|
4882
4914
|
<fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
|
4883
4915
|
<xsl:copy-of select="$footnote_inline"/>
|
@@ -5286,39 +5318,51 @@
|
|
5286
5318
|
<!-- fn reference in the table rendering (for instance, 'some text 1) some text' ) -->
|
5287
5319
|
<!-- fn --> <!-- in table --> <!-- for figure see <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/> -->
|
5288
5320
|
<xsl:template match="*[local-name()='fn']">
|
5289
|
-
<
|
5290
|
-
|
5291
|
-
|
5321
|
+
<xsl:variable name="target" select="@target"/>
|
5322
|
+
<xsl:choose>
|
5323
|
+
<!-- case for footnotes in Requirement tables (https://github.com/metanorma/metanorma-ogc/issues/791) -->
|
5324
|
+
<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]">
|
5325
|
+
<xsl:call-template name="fn">
|
5326
|
+
<xsl:with-param name="footnote_body_from_table">true</xsl:with-param>
|
5327
|
+
</xsl:call-template>
|
5328
|
+
</xsl:when>
|
5329
|
+
<xsl:otherwise>
|
5292
5330
|
|
5293
|
-
|
5294
|
-
<fo:basic-link internal-destination="{@target}" fox:alt-text="footnote {@reference}">
|
5295
|
-
<!-- <xsl:if test="ancestor::*[local-name()='table'][1]/@id"> --> <!-- for footnotes in tables -->
|
5296
|
-
<!-- <xsl:attribute name="internal-destination">
|
5297
|
-
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
5298
|
-
</xsl:attribute>
|
5299
|
-
</xsl:if>
|
5300
|
-
<xsl:if test="$namespace = 'ogc' or $namespace = 'ogc-white-paper'">
|
5301
|
-
<xsl:attribute name="internal-destination">
|
5302
|
-
<xsl:value-of select="@reference"/><xsl:text>_</xsl:text>
|
5303
|
-
<xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
|
5304
|
-
</xsl:attribute>
|
5305
|
-
</xsl:if> -->
|
5306
|
-
<!-- <xsl:if test="$namespace = 'plateau'">
|
5307
|
-
<xsl:text>※</xsl:text>
|
5308
|
-
</xsl:if> -->
|
5309
|
-
<!-- <xsl:value-of select="@reference"/> -->
|
5331
|
+
<fo:inline xsl:use-attribute-sets="fn-reference-style">
|
5310
5332
|
|
5311
|
-
|
5333
|
+
<xsl:call-template name="refine_fn-reference-style"/>
|
5312
5334
|
|
5313
|
-
|
5314
|
-
<
|
5315
|
-
|
5316
|
-
|
5317
|
-
|
5318
|
-
|
5319
|
-
|
5320
|
-
|
5321
|
-
|
5335
|
+
<!-- <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> --> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
5336
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="footnote {@reference}">
|
5337
|
+
<!-- <xsl:if test="ancestor::*[local-name()='table'][1]/@id"> --> <!-- for footnotes in tables -->
|
5338
|
+
<!-- <xsl:attribute name="internal-destination">
|
5339
|
+
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
5340
|
+
</xsl:attribute>
|
5341
|
+
</xsl:if>
|
5342
|
+
<xsl:if test="$namespace = 'ogc' or $namespace = 'ogc-white-paper'">
|
5343
|
+
<xsl:attribute name="internal-destination">
|
5344
|
+
<xsl:value-of select="@reference"/><xsl:text>_</xsl:text>
|
5345
|
+
<xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
|
5346
|
+
</xsl:attribute>
|
5347
|
+
</xsl:if> -->
|
5348
|
+
<!-- <xsl:if test="$namespace = 'plateau'">
|
5349
|
+
<xsl:text>※</xsl:text>
|
5350
|
+
</xsl:if> -->
|
5351
|
+
<!-- <xsl:value-of select="@reference"/> -->
|
5352
|
+
|
5353
|
+
<xsl:value-of select="normalize-space(*[local-name() = 'fmt-fn-label'])"/>
|
5354
|
+
|
5355
|
+
<!-- <xsl:if test="$namespace = 'bsi'">
|
5356
|
+
<xsl:text>)</xsl:text>
|
5357
|
+
</xsl:if> -->
|
5358
|
+
<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
|
5359
|
+
<!-- <xsl:if test="$namespace = 'jis'">
|
5360
|
+
<fo:inline font-weight="normal">)</fo:inline>
|
5361
|
+
</xsl:if> -->
|
5362
|
+
</fo:basic-link>
|
5363
|
+
</fo:inline>
|
5364
|
+
</xsl:otherwise>
|
5365
|
+
</xsl:choose>
|
5322
5366
|
</xsl:template> <!-- fn -->
|
5323
5367
|
|
5324
5368
|
<!-- fn/text() -->
|
@@ -6522,7 +6566,7 @@
|
|
6522
6566
|
<xsl:choose>
|
6523
6567
|
<xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
|
6524
6568
|
<xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
|
6525
|
-
<fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
|
6569
|
+
<fo:inline keep-with-next.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
|
6526
6570
|
</xsl:when>
|
6527
6571
|
<xsl:otherwise>
|
6528
6572
|
<xsl:apply-templates/>
|
@@ -6530,7 +6574,7 @@
|
|
6530
6574
|
</xsl:choose>
|
6531
6575
|
</xsl:template>
|
6532
6576
|
<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">
|
6533
|
-
<fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
|
6577
|
+
<fo:inline keep-with-next.within-line="always" role="SKIP"><xsl:value-of select="."/></fo:inline>
|
6534
6578
|
</xsl:template>
|
6535
6579
|
|
6536
6580
|
<xsl:template match="*[local-name() = 'span'][contains(@style, 'text-transform:none')]//text()" priority="5">
|
@@ -7570,24 +7614,26 @@
|
|
7570
7614
|
<xsl:apply-templates select="." mode="mathml"/>
|
7571
7615
|
</xsl:variable>
|
7572
7616
|
|
7573
|
-
<fo:instream-foreign-object fox:alt-text="Math">
|
7617
|
+
<fo:instream-foreign-object fox:alt-text="Math" fox:actual-text="Math">
|
7574
7618
|
|
7575
7619
|
<xsl:call-template name="refine_mathml_insteam_object_style"/>
|
7576
7620
|
|
7577
|
-
|
7578
|
-
|
7579
|
-
|
7580
|
-
<xsl:
|
7581
|
-
|
7582
|
-
|
7583
|
-
<!-- <xsl:if test="$add_math_as_text = 'true'"> -->
|
7584
|
-
<xsl:if test="normalize-space($asciimath_text_) != ''">
|
7585
|
-
<!-- put Mathin Alternate Text -->
|
7586
|
-
<xsl:attribute name="fox:alt-text">
|
7587
|
-
<xsl:value-of select="$asciimath_text_"/>
|
7621
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
7622
|
+
<!-- put MathML in Actual Text -->
|
7623
|
+
<!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
|
7624
|
+
<xsl:attribute name="fox:actual-text">
|
7625
|
+
<xsl:value-of select="$mathml_content"/>
|
7588
7626
|
</xsl:attribute>
|
7627
|
+
|
7628
|
+
<!-- <xsl:if test="$add_math_as_text = 'true'"> -->
|
7629
|
+
<xsl:if test="normalize-space($asciimath_text_) != ''">
|
7630
|
+
<!-- put Mathin Alternate Text -->
|
7631
|
+
<xsl:attribute name="fox:alt-text">
|
7632
|
+
<xsl:value-of select="$asciimath_text_"/>
|
7633
|
+
</xsl:attribute>
|
7634
|
+
</xsl:if>
|
7635
|
+
<!-- </xsl:if> -->
|
7589
7636
|
</xsl:if>
|
7590
|
-
<!-- </xsl:if> -->
|
7591
7637
|
|
7592
7638
|
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
7593
7639
|
|
@@ -9324,6 +9370,13 @@
|
|
9324
9370
|
<xsl:apply-templates select="."/>
|
9325
9371
|
</xsl:template>
|
9326
9372
|
|
9373
|
+
<!-- prevent missing stem for table and figures in ToC -->
|
9374
|
+
<xsl:template match="*[local-name() = 'name' or local-name() = 'fmt-name']//*[local-name() = 'stem']" mode="contents">
|
9375
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-stem'])">
|
9376
|
+
<xsl:apply-templates select="."/>
|
9377
|
+
</xsl:if>
|
9378
|
+
</xsl:template>
|
9379
|
+
|
9327
9380
|
<xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/>
|
9328
9381
|
|
9329
9382
|
<xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/>
|
@@ -9344,6 +9397,8 @@
|
|
9344
9397
|
<xsl:template match="*[local-name() = 'origin']" mode="contents"/>
|
9345
9398
|
<xsl:template match="*[local-name() = 'erefstack ']" mode="contents"/>
|
9346
9399
|
|
9400
|
+
<xsl:template match="*[local-name() = 'requirement'] | *[local-name() = 'recommendation'] | *[local-name() = 'permission']" mode="contents" priority="3"/>
|
9401
|
+
|
9347
9402
|
<xsl:template match="*[local-name() = 'stem']" mode="bookmarks"/>
|
9348
9403
|
<xsl:template match="*[local-name() = 'fmt-stem']" mode="bookmarks">
|
9349
9404
|
<xsl:apply-templates mode="bookmarks"/>
|
@@ -9365,6 +9420,8 @@
|
|
9365
9420
|
<xsl:template match="*[local-name() = 'origin']" mode="bookmarks"/>
|
9366
9421
|
<xsl:template match="*[local-name() = 'erefstack ']" mode="bookmarks"/>
|
9367
9422
|
|
9423
|
+
<xsl:template match="*[local-name() = 'requirement'] | *[local-name() = 'recommendation'] | *[local-name() = 'permission']" mode="bookmarks" priority="3"/>
|
9424
|
+
|
9368
9425
|
<!-- Bookmarks -->
|
9369
9426
|
<xsl:template name="addBookmarks">
|
9370
9427
|
<xsl:param name="contents"/>
|
@@ -9543,7 +9600,8 @@
|
|
9543
9600
|
|
9544
9601
|
<xsl:for-each select="$contents_nodes//tables/table">
|
9545
9602
|
<fo:bookmark internal-destination="{@id}">
|
9546
|
-
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
9603
|
+
<!-- <fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title> -->
|
9604
|
+
<fo:bookmark-title><xsl:apply-templates mode="bookmark_clean"/></fo:bookmark-title>
|
9547
9605
|
</fo:bookmark>
|
9548
9606
|
</xsl:for-each>
|
9549
9607
|
</fo:bookmark>
|
@@ -9552,6 +9610,26 @@
|
|
9552
9610
|
</xsl:template> <!-- insertTableBookmarks -->
|
9553
9611
|
<!-- End Bookmarks -->
|
9554
9612
|
|
9613
|
+
<!-- ============================ -->
|
9614
|
+
<!-- mode="bookmark_clean" -->
|
9615
|
+
<!-- ============================ -->
|
9616
|
+
<xsl:template match="node()" mode="bookmark_clean">
|
9617
|
+
<xsl:apply-templates select="node()" mode="bookmark_clean"/>
|
9618
|
+
</xsl:template>
|
9619
|
+
|
9620
|
+
<xsl:template match="text()" mode="bookmark_clean">
|
9621
|
+
<xsl:value-of select="."/>
|
9622
|
+
</xsl:template>
|
9623
|
+
|
9624
|
+
<xsl:template match="*[local-name() = 'math']" mode="bookmark_clean">
|
9625
|
+
<xsl:value-of select="normalize-space(.)"/>
|
9626
|
+
</xsl:template>
|
9627
|
+
|
9628
|
+
<xsl:template match="*[local-name() = 'asciimath']" mode="bookmark_clean"/>
|
9629
|
+
<!-- ============================ -->
|
9630
|
+
<!-- END: mode="bookmark_clean" -->
|
9631
|
+
<!-- ============================ -->
|
9632
|
+
|
9555
9633
|
<xsl:template name="getLangVersion">
|
9556
9634
|
<xsl:param name="lang"/>
|
9557
9635
|
<xsl:param name="doctype" select="''"/>
|
@@ -11245,21 +11323,32 @@
|
|
11245
11323
|
<!-- ========== -->
|
11246
11324
|
|
11247
11325
|
<xsl:variable name="reviews_">
|
11248
|
-
<xsl:for-each select="//*[local-name() = 'review'][@from]">
|
11326
|
+
<xsl:for-each select="//*[local-name() = 'review'][not(parent::*[local-name() = 'review-container'])][@from]">
|
11249
11327
|
<xsl:copy>
|
11250
11328
|
<xsl:copy-of select="@from"/>
|
11251
11329
|
<xsl:copy-of select="@id"/>
|
11252
11330
|
</xsl:copy>
|
11253
11331
|
</xsl:for-each>
|
11332
|
+
<xsl:for-each select="//*[local-name() = 'fmt-review-start'][@source]">
|
11333
|
+
<xsl:copy>
|
11334
|
+
<xsl:copy-of select="@source"/>
|
11335
|
+
<xsl:copy-of select="@id"/>
|
11336
|
+
</xsl:copy>
|
11337
|
+
</xsl:for-each>
|
11254
11338
|
</xsl:variable>
|
11255
11339
|
<xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
|
11256
11340
|
|
11257
11341
|
<xsl:template name="addReviewHelper">
|
11258
|
-
|
11259
|
-
|
11260
|
-
|
11261
|
-
|
11262
|
-
<
|
11342
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
11343
|
+
<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
|
11344
|
+
<xsl:variable name="curr_id" select="@id"/>
|
11345
|
+
<!-- <xsl:variable name="review_id" select="normalize-space(/@id)"/> -->
|
11346
|
+
<xsl:for-each select="$reviews//*[local-name() = 'review'][@from = $curr_id]"> <!-- $reviews//*[local-name() = 'fmt-review-start'][@source = $curr_id] -->
|
11347
|
+
<xsl:variable name="review_id" select="normalize-space(@id)"/>
|
11348
|
+
<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
|
11349
|
+
<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>
|
11350
|
+
</xsl:if>
|
11351
|
+
</xsl:for-each>
|
11263
11352
|
</xsl:if>
|
11264
11353
|
<!-- <fo:block>
|
11265
11354
|
<curr_id><xsl:value-of select="$curr_id"/></curr_id>
|
@@ -11401,14 +11490,61 @@
|
|
11401
11490
|
|
11402
11491
|
</xsl:template>
|
11403
11492
|
|
11404
|
-
|
11493
|
+
<!-- document text (not figures, or tables) footnotes -->
|
11494
|
+
<xsl:variable name="reviews_container_">
|
11495
|
+
<xsl:for-each select="//*[local-name() = 'review-container']/*[local-name() = 'fmt-review-body']">
|
11496
|
+
<xsl:variable name="update_xml_step1">
|
11497
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
11498
|
+
</xsl:variable>
|
11499
|
+
<xsl:apply-templates select="xalan:nodeset($update_xml_step1)" mode="update_xml_enclose_keep-together_within-line"/>
|
11500
|
+
</xsl:for-each>
|
11501
|
+
</xsl:variable>
|
11502
|
+
<xsl:variable name="reviews_container" select="xalan:nodeset($reviews_container_)"/>
|
11503
|
+
|
11504
|
+
<xsl:template match="*[local-name() = 'review-container']"/>
|
11505
|
+
|
11506
|
+
<!-- for old Presentation XML (before https://github.com/metanorma/isodoc/issues/670) -->
|
11507
|
+
<xsl:template match="*[local-name() = 'review'][not(parent::*[local-name() = 'review-container'])]"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
|
11508
|
+
<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
|
11509
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
11510
|
+
<xsl:choose>
|
11511
|
+
<!-- if there isn't the attribute '@from', then -->
|
11512
|
+
<xsl:when test="$id_from = ''">
|
11513
|
+
<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>
|
11514
|
+
</xsl:when>
|
11515
|
+
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
11516
|
+
<xsl:when test="ancestor::*[local-name() = 'metanorma'] and not(ancestor::*[local-name() = 'metanorma']//*[@id = $id_from])">
|
11517
|
+
<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>
|
11518
|
+
</xsl:when>
|
11519
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
11520
|
+
<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>
|
11521
|
+
</xsl:when>
|
11522
|
+
</xsl:choose>
|
11523
|
+
</xsl:if>
|
11524
|
+
</xsl:template>
|
11525
|
+
|
11526
|
+
<!-- for new Presentation XML (https://github.com/metanorma/isodoc/issues/670) -->
|
11527
|
+
<xsl:template match="*[local-name() = 'fmt-review-start']" name="fmt-review-start"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
|
11405
11528
|
<!-- comment 2019-11-29 -->
|
11406
11529
|
<!-- <fo:block font-weight="bold">Review:</fo:block>
|
11407
11530
|
<xsl:apply-templates /> -->
|
11408
11531
|
|
11409
|
-
<xsl:variable name="id_from" select="normalize-space(current()/@
|
11532
|
+
<xsl:variable name="id_from" select="normalize-space(current()/@source)"/>
|
11410
11533
|
|
11411
|
-
<xsl:
|
11534
|
+
<xsl:variable name="source" select="normalize-space(@source)"/>
|
11535
|
+
|
11536
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
11537
|
+
<!-- <xsl:variable name="id_from" select="normalize-space(current()/@from)"/> -->
|
11538
|
+
|
11539
|
+
<!-- <xsl:if test="@source = @end"> -->
|
11540
|
+
<!-- following-sibling::node()[1][local-name() = 'bookmark'][@id = $source] and
|
11541
|
+
following-sibling::node()[2][local-name() = 'fmt-review-end'][@source = $source] -->
|
11542
|
+
<!-- <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> -->
|
11543
|
+
<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>
|
11544
|
+
<!-- </xsl:if> -->
|
11545
|
+
</xsl:if>
|
11546
|
+
|
11547
|
+
<xsl:if test="1 = 2">
|
11412
11548
|
<xsl:choose>
|
11413
11549
|
<!-- if there isn't the attribute '@from', then -->
|
11414
11550
|
<xsl:when test="$id_from = ''">
|
@@ -11416,10 +11552,10 @@
|
|
11416
11552
|
</xsl:when>
|
11417
11553
|
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
11418
11554
|
<xsl:when test="ancestor::*[local-name() = 'metanorma'] and not(ancestor::*[local-name() = 'metanorma']//*[@id = $id_from])">
|
11419
|
-
<fo:block id="{
|
11555
|
+
<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>
|
11420
11556
|
</xsl:when>
|
11421
11557
|
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
11422
|
-
<fo:block id="{
|
11558
|
+
<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>
|
11423
11559
|
</xsl:when>
|
11424
11560
|
</xsl:choose>
|
11425
11561
|
</xsl:if>
|
@@ -11470,16 +11606,21 @@
|
|
11470
11606
|
<xsl:variable name="list_level">
|
11471
11607
|
<xsl:choose>
|
11472
11608
|
<xsl:when test="$list_level_ <= 3"><xsl:value-of select="$list_level_"/></xsl:when>
|
11473
|
-
<xsl:
|
11609
|
+
<xsl:when test="$ul_labels/label[@level = 3]"><xsl:value-of select="$list_level_ mod 3"/></xsl:when>
|
11610
|
+
<xsl:when test="$list_level_ mod 2 = 0">2</xsl:when>
|
11611
|
+
<xsl:otherwise><xsl:value-of select="$list_level_ mod 2"/></xsl:otherwise>
|
11474
11612
|
</xsl:choose>
|
11475
11613
|
</xsl:variable>
|
11476
11614
|
<xsl:choose>
|
11477
11615
|
<xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
|
11478
11616
|
<xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
|
11479
11617
|
</xsl:when>
|
11480
|
-
<xsl:when test="$list_level mod 3 = 0">
|
11618
|
+
<xsl:when test="$list_level mod 3 = 0 and $ul_labels/label[@level = 3]">
|
11481
11619
|
<xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
|
11482
11620
|
</xsl:when>
|
11621
|
+
<xsl:when test="$list_level mod 3 = 0">
|
11622
|
+
<xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
|
11623
|
+
</xsl:when>
|
11483
11624
|
<xsl:when test="$list_level mod 2 = 0">
|
11484
11625
|
<xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
|
11485
11626
|
</xsl:when>
|
@@ -11500,9 +11641,15 @@
|
|
11500
11641
|
<xsl:when test="local-name(..) = 'ul'">
|
11501
11642
|
<xsl:choose>
|
11502
11643
|
<xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/>
|
11644
|
+
<!-- https://github.com/metanorma/isodoc/issues/675 -->
|
11645
|
+
<xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
|
11503
11646
|
<xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
|
11504
11647
|
</xsl:choose>
|
11505
11648
|
</xsl:when>
|
11649
|
+
<!-- https://github.com/metanorma/isodoc/issues/675 -->
|
11650
|
+
<xsl:when test="local-name(..) = 'ol' and @label and @full = 'true'"> <!-- @full added in the template li/fmt-name -->
|
11651
|
+
<xsl:value-of select="@label"/>
|
11652
|
+
</xsl:when>
|
11506
11653
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
11507
11654
|
|
11508
11655
|
<xsl:variable name="type" select="../@type"/>
|
@@ -11627,7 +11774,7 @@
|
|
11627
11774
|
|
11628
11775
|
</xsl:otherwise>
|
11629
11776
|
</xsl:choose>
|
11630
|
-
</xsl:template>
|
11777
|
+
</xsl:template> <!-- getListItemFormat -->
|
11631
11778
|
|
11632
11779
|
<xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
11633
11780
|
<xsl:param name="indent">0</xsl:param>
|
@@ -11759,6 +11906,11 @@
|
|
11759
11906
|
|
11760
11907
|
<xsl:call-template name="refine_list-item-label-style"/>
|
11761
11908
|
|
11909
|
+
<xsl:if test="local-name(..) = 'ul'">
|
11910
|
+
<xsl:variable name="li_label" select="@label"/>
|
11911
|
+
<xsl:copy-of select="$ul_labels//label[. = $li_label]/@*[not(local-name() = 'level')]"/>
|
11912
|
+
</xsl:if>
|
11913
|
+
|
11762
11914
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
11763
11915
|
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
11764
11916
|
<xsl:call-template name="append_add-style"/>
|
@@ -12022,10 +12174,22 @@
|
|
12022
12174
|
<xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/>
|
12023
12175
|
|
12024
12176
|
<xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
|
12025
|
-
|
12026
|
-
<
|
12027
|
-
|
12028
|
-
|
12177
|
+
<xsl:variable name="bookmark_id" select="@id"/>
|
12178
|
+
<xsl:choose>
|
12179
|
+
<!-- Example:
|
12180
|
+
<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"/>
|
12181
|
+
<bookmark id="_dda23915-8574-ef1e-29a1-822d465a5b97"/>
|
12182
|
+
<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"/> -->
|
12183
|
+
<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]">
|
12184
|
+
<!-- skip here, see the template 'fmt-review-start' -->
|
12185
|
+
</xsl:when>
|
12186
|
+
<xsl:otherwise>
|
12187
|
+
<!-- <fo:inline id="{@id}" font-size="1pt"/> -->
|
12188
|
+
<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>
|
12189
|
+
<!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
|
12190
|
+
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
|
12191
|
+
</xsl:otherwise>
|
12192
|
+
</xsl:choose>
|
12029
12193
|
</xsl:template>
|
12030
12194
|
<!-- =================== -->
|
12031
12195
|
<!-- End of Index processing -->
|
@@ -13140,6 +13304,16 @@
|
|
13140
13304
|
</xsl:choose>
|
13141
13305
|
</xsl:template>
|
13142
13306
|
|
13307
|
+
<!-- li/fmt-name -->
|
13308
|
+
<xsl:template match="*[local-name() = 'li']/*[local-name() = 'fmt-name']" priority="2" mode="update_xml_step1">
|
13309
|
+
<xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute>
|
13310
|
+
<xsl:attribute name="full">true</xsl:attribute>
|
13311
|
+
</xsl:template>
|
13312
|
+
<xsl:template match="*[local-name() = 'li']/*[local-name() = 'fmt-name']" priority="2" mode="update_xml_pres">
|
13313
|
+
<xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute>
|
13314
|
+
<xsl:attribute name="full">true</xsl:attribute>
|
13315
|
+
</xsl:template>
|
13316
|
+
|
13143
13317
|
<xsl:template match="*[local-name() = 'fmt-preferred']"/>
|
13144
13318
|
<xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_step1">
|
13145
13319
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -13369,6 +13543,9 @@
|
|
13369
13543
|
<xsl:template match="*[local-name() = 'svgmap']" mode="update_xml_step1"/>
|
13370
13544
|
<xsl:template match="*[local-name() = 'svgmap']" mode="update_xml_pres"/>
|
13371
13545
|
|
13546
|
+
<xsl:template match="*[local-name() = 'review-container']" mode="update_xml_step1"/>
|
13547
|
+
<xsl:template match="*[local-name() = 'review-container']" mode="update_xml_pres"/>
|
13548
|
+
|
13372
13549
|
<!-- END: update new Presentation XML -->
|
13373
13550
|
|
13374
13551
|
<!-- =========================================================================== -->
|
@@ -13951,6 +14128,64 @@
|
|
13951
14128
|
<fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
|
13952
14129
|
</xsl:template>
|
13953
14130
|
|
14131
|
+
<!-- ===================================== -->
|
14132
|
+
<!-- ===================================== -->
|
14133
|
+
<!-- Ruby text (CJK languages) rendering -->
|
14134
|
+
<!-- ===================================== -->
|
14135
|
+
<!-- ===================================== -->
|
14136
|
+
<xsl:template match="*[local-name() = 'ruby']">
|
14137
|
+
<fo:inline-container text-indent="0mm" last-line-end-indent="0mm">
|
14138
|
+
<xsl:if test="not(ancestor::*[local-name() = 'ruby'])">
|
14139
|
+
<xsl:attribute name="alignment-baseline">central</xsl:attribute>
|
14140
|
+
</xsl:if>
|
14141
|
+
<xsl:variable name="rt_text" select="*[local-name() = 'rt']"/>
|
14142
|
+
<xsl:variable name="rb_text" select=".//*[local-name() = 'rb'][not(*[local-name() = 'ruby'])]"/>
|
14143
|
+
<!-- Example: width="2em" -->
|
14144
|
+
<xsl:variable name="text_rt_width" select="java:org.metanorma.fop.Util.getStringWidthByFontSize($rt_text, $font_main, 6)"/>
|
14145
|
+
<xsl:variable name="text_rb_width" select="java:org.metanorma.fop.Util.getStringWidthByFontSize($rb_text, $font_main, 10)"/>
|
14146
|
+
<xsl:variable name="text_width">
|
14147
|
+
<xsl:choose>
|
14148
|
+
<xsl:when test="$text_rt_width >= $text_rb_width"><xsl:value-of select="$text_rt_width"/></xsl:when>
|
14149
|
+
<xsl:otherwise><xsl:value-of select="$text_rb_width"/></xsl:otherwise>
|
14150
|
+
</xsl:choose>
|
14151
|
+
</xsl:variable>
|
14152
|
+
<xsl:attribute name="width"><xsl:value-of select="$text_width div 10"/>em</xsl:attribute>
|
14153
|
+
|
14154
|
+
<xsl:choose>
|
14155
|
+
<xsl:when test="ancestor::*[local-name() = 'ruby']">
|
14156
|
+
<xsl:apply-templates select="*[local-name() = 'rb']"/>
|
14157
|
+
<xsl:apply-templates select="*[local-name() = 'rt']"/>
|
14158
|
+
</xsl:when>
|
14159
|
+
<xsl:otherwise>
|
14160
|
+
<xsl:apply-templates select="*[local-name() = 'rt']"/>
|
14161
|
+
<xsl:apply-templates select="*[local-name() = 'rb']"/>
|
14162
|
+
</xsl:otherwise>
|
14163
|
+
</xsl:choose>
|
14164
|
+
|
14165
|
+
<xsl:apply-templates select="node()[not(local-name() = 'rt') and not(local-name() = 'rb')]"/>
|
14166
|
+
</fo:inline-container>
|
14167
|
+
</xsl:template>
|
14168
|
+
|
14169
|
+
<xsl:template match="*[local-name() = 'rb']">
|
14170
|
+
<fo:block line-height="1em" text-align="center"><xsl:apply-templates/></fo:block>
|
14171
|
+
</xsl:template>
|
14172
|
+
|
14173
|
+
<xsl:template match="*[local-name() = 'rt']">
|
14174
|
+
<fo:block font-size="0.5em" text-align="center" line-height="1.2em" space-before="-1.4em" space-before.conditionality="retain"> <!-- -->
|
14175
|
+
<xsl:if test="ancestor::*[local-name() = 'ruby'][last()]//*[local-name() = 'ruby'] or ancestor::*[local-name() = 'rb']">
|
14176
|
+
<xsl:attribute name="space-before">0em</xsl:attribute>
|
14177
|
+
</xsl:if>
|
14178
|
+
<xsl:apply-templates/>
|
14179
|
+
</fo:block>
|
14180
|
+
|
14181
|
+
</xsl:template>
|
14182
|
+
|
14183
|
+
<!-- ===================================== -->
|
14184
|
+
<!-- ===================================== -->
|
14185
|
+
<!-- END: Ruby text (CJK languages) rendering -->
|
14186
|
+
<!-- ===================================== -->
|
14187
|
+
<!-- ===================================== -->
|
14188
|
+
|
13954
14189
|
<xsl:template name="printEdition">
|
13955
14190
|
<xsl:variable name="edition_i18n" select="normalize-space((//*[local-name() = 'metanorma'])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
|
13956
14191
|
|