metanorma-iso 2.8.9 → 2.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/iso/base_convert.rb +31 -61
- data/lib/isodoc/iso/html/isodoc-dis.css +1 -1
- data/lib/isodoc/iso/html/isodoc-dis.scss +1 -1
- data/lib/isodoc/iso/html/isodoc.css +1 -1
- data/lib/isodoc/iso/html/isodoc.scss +1 -1
- data/lib/isodoc/iso/iso.amendment.xsl +723 -182
- data/lib/isodoc/iso/iso.international-standard.xsl +723 -182
- data/lib/isodoc/iso/presentation_bibdata.rb +0 -29
- data/lib/isodoc/iso/presentation_terms.rb +0 -13
- data/lib/isodoc/iso/presentation_xml_convert.rb +122 -48
- data/lib/isodoc/iso/presentation_xref.rb +6 -2
- data/lib/isodoc/iso/sections.rb +2 -2
- data/lib/isodoc/iso/word_convert.rb +11 -13
- data/lib/isodoc/iso/word_dis_convert.rb +1 -4
- data/lib/isodoc/iso/xref.rb +52 -14
- data/lib/isodoc/iso/xref_section.rb +23 -28
- data/lib/metanorma/iso/biblio.rng +13 -1
- data/lib/metanorma/iso/front.rb +1 -0
- data/lib/metanorma/iso/front_contributor.rb +1 -3
- data/lib/metanorma/iso/isodoc.rng +6 -6
- data/lib/metanorma/iso/relaton-iso.rng +21 -30
- data/lib/metanorma/iso/version.rb +1 -1
- data/lib/metanorma/requirements/modspec.rb +10 -6
- data/metanorma-iso.gemspec +1 -1
- metadata +4 -4
@@ -1898,7 +1898,7 @@
|
|
1898
1898
|
</fo:table-cell>
|
1899
1899
|
<fo:table-cell number-columns-spanned="2" display-align="after" padding-left="6mm">
|
1900
1900
|
<fo:block font-size="19pt" font-weight="bold" line-height="1">
|
1901
|
-
<xsl:if test="$stage >=60">
|
1901
|
+
<xsl:if test="$stage >=60 and $substage != 0">
|
1902
1902
|
<xsl:attribute name="color"><xsl:value-of select="$color_red"/></xsl:attribute>
|
1903
1903
|
</xsl:if>
|
1904
1904
|
<xsl:value-of select="$docidentifierISO"/>
|
@@ -1924,7 +1924,7 @@
|
|
1924
1924
|
<xsl:call-template name="insertTitlesLangMain"/>
|
1925
1925
|
</fo:block>
|
1926
1926
|
|
1927
|
-
<xsl:if test="not($stage-abbreviation = 'FDAMD' or $stage-abbreviation = 'FDAM')">
|
1927
|
+
<xsl:if test="not($stage-abbreviation = 'FDAMD' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'PRF')">
|
1928
1928
|
<xsl:for-each select="xalan:nodeset($lang_other)/lang">
|
1929
1929
|
<xsl:variable name="lang_other" select="."/>
|
1930
1930
|
<fo:block font-size="12pt" role="SKIP"><xsl:value-of select="$linebreak"/></fo:block>
|
@@ -1961,7 +1961,7 @@
|
|
1961
1961
|
</xsl:if>
|
1962
1962
|
|
1963
1963
|
<xsl:if test="$doctype = 'amendment'"> <!-- and not($stage-abbreviation = 'FDAMD' or $stage-abbreviation = 'FDAM') -->
|
1964
|
-
<fo:block font-size="
|
1964
|
+
<fo:block font-size="15pt" font-weight="bold" margin-bottom="3mm">
|
1965
1965
|
<xsl:value-of select="$doctype_uppercased"/>
|
1966
1966
|
<xsl:text> </xsl:text>
|
1967
1967
|
<xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
|
@@ -2030,7 +2030,10 @@
|
|
2030
2030
|
<xsl:variable name="additionalNotes">
|
2031
2031
|
<xsl:call-template name="insertCoverPageAdditionalNotes"/>
|
2032
2032
|
</xsl:variable>
|
2033
|
-
|
2033
|
+
|
2034
|
+
<xsl:variable name="feedback_link" select="normalize-space(/iso:iso-standard/iso:metanorma-extension/iso:semantic-metadata/iso:feedback-link)"/>
|
2035
|
+
|
2036
|
+
<xsl:if test="normalize-space($additionalNotes) != ''"> <!-- or $stage-abbreviation = 'PRF' -->
|
2034
2037
|
<xsl:attribute name="display-align">center</xsl:attribute>
|
2035
2038
|
<fo:block>
|
2036
2039
|
<xsl:copy-of select="$additionalNotes"/>
|
@@ -2038,7 +2041,10 @@
|
|
2038
2041
|
</xsl:if>
|
2039
2042
|
|
2040
2043
|
<xsl:if test="$stage-abbreviation = 'PRF'">
|
2041
|
-
<fo:block font-size="
|
2044
|
+
<fo:block font-size="34pt" font-weight="bold">
|
2045
|
+
<xsl:if test="normalize-space($additionalNotes) = '' and $feedback_link = ''">
|
2046
|
+
<xsl:attribute name="margin-bottom">3.5mm</xsl:attribute>
|
2047
|
+
</xsl:if>
|
2042
2048
|
<xsl:call-template name="add-letter-spacing">
|
2043
2049
|
<xsl:with-param name="text" select="$proof-text"/>
|
2044
2050
|
<xsl:with-param name="letter-spacing" select="0.65"/>
|
@@ -2047,7 +2053,6 @@
|
|
2047
2053
|
</xsl:if>
|
2048
2054
|
|
2049
2055
|
<fo:block>
|
2050
|
-
<xsl:variable name="feedback_link" select="normalize-space(/iso:iso-standard/iso:metanorma-extension/iso:semantic-metadata/iso:feedback-link)"/>
|
2051
2056
|
<xsl:if test="$stage >=60 and $feedback_link != ''">
|
2052
2057
|
<fo:block-container width="69mm" background-color="rgb(242,242,242)" display-align="before">
|
2053
2058
|
<fo:table table-layout="fixed" width="100%" role="SKIP">
|
@@ -2973,7 +2978,7 @@
|
|
2973
2978
|
<xsl:when test="($stage-abbreviation = 'IS' or $stage-abbreviation = 'D') and /iso:iso-standard/iso:bibdata/iso:date[@type = 'created']">
|
2974
2979
|
<xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'created']"/>
|
2975
2980
|
</xsl:when>
|
2976
|
-
<xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
|
2981
|
+
<xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published' or $stage-abbreviation = 'PRF'">
|
2977
2982
|
<xsl:value-of select="substring(/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date,1, 7)"/>
|
2978
2983
|
</xsl:when>
|
2979
2984
|
</xsl:choose>
|
@@ -3587,10 +3592,10 @@
|
|
3587
3592
|
<!-- ============================= -->
|
3588
3593
|
|
3589
3594
|
<!-- element with title -->
|
3590
|
-
<xsl:template match="*[iso:title]" mode="contents">
|
3595
|
+
<xsl:template match="*[iso:title or iso:fmt-title]" mode="contents">
|
3591
3596
|
<xsl:variable name="level">
|
3592
3597
|
<xsl:call-template name="getLevel">
|
3593
|
-
<xsl:with-param name="depth" select="iso:title/@depth"/>
|
3598
|
+
<xsl:with-param name="depth" select="iso:fmt-title/@depth | iso:title/@depth"/>
|
3594
3599
|
</xsl:call-template>
|
3595
3600
|
</xsl:variable>
|
3596
3601
|
|
@@ -3731,6 +3736,21 @@
|
|
3731
3736
|
</xsl:choose>
|
3732
3737
|
</xsl:template>
|
3733
3738
|
|
3739
|
+
<xsl:template match="iso:copyright-statement/iso:clause" priority="3">
|
3740
|
+
<fo:block role="SKIP">
|
3741
|
+
<xsl:if test="@id = 'boilerplate-copyright-default' and ../iso:clause[not(@id = 'boilerplate-copyright-default')]">
|
3742
|
+
<xsl:attribute name="color">blue</xsl:attribute>
|
3743
|
+
<xsl:attribute name="border">1pt solid blue</xsl:attribute>
|
3744
|
+
<xsl:attribute name="padding">1mm</xsl:attribute>
|
3745
|
+
</xsl:if>
|
3746
|
+
<xsl:if test="not(@id = 'boilerplate-copyright-default') and preceding-sibling::iso:clause">
|
3747
|
+
<xsl:attribute name="margin-top">5mm</xsl:attribute>
|
3748
|
+
</xsl:if>
|
3749
|
+
<xsl:copy-of select="@id"/>
|
3750
|
+
<xsl:apply-templates/>
|
3751
|
+
</fo:block>
|
3752
|
+
</xsl:template>
|
3753
|
+
|
3734
3754
|
<xsl:template match="iso:copyright-statement//iso:p" priority="2">
|
3735
3755
|
<xsl:choose>
|
3736
3756
|
<xsl:when test="$layoutVersion = '1951'">
|
@@ -3777,7 +3797,7 @@
|
|
3777
3797
|
<xsl:attribute name="margin-left">0.5mm</xsl:attribute>
|
3778
3798
|
<xsl:attribute name="margin-right">0.5mm</xsl:attribute>
|
3779
3799
|
</xsl:if>
|
3780
|
-
<xsl:if test="contains(@id, 'address')">
|
3800
|
+
<xsl:if test="contains(@id, 'address') or contains(normalize-space(), 'Tel:') or contains(normalize-space(), 'Phone:')">
|
3781
3801
|
<xsl:attribute name="margin-left">4.5mm</xsl:attribute>
|
3782
3802
|
</xsl:if>
|
3783
3803
|
<xsl:apply-templates/>
|
@@ -4415,6 +4435,8 @@
|
|
4415
4435
|
</xsl:if>
|
4416
4436
|
</xsl:if>
|
4417
4437
|
|
4438
|
+
<xsl:call-template name="addReviewHelper"/>
|
4439
|
+
|
4418
4440
|
<xsl:call-template name="processElementContent"/>
|
4419
4441
|
</fo:block>
|
4420
4442
|
</xsl:template>
|
@@ -4431,6 +4453,8 @@
|
|
4431
4453
|
|
4432
4454
|
<xsl:call-template name="refine_clause_style"/>
|
4433
4455
|
|
4456
|
+
<xsl:call-template name="addReviewHelper"/>
|
4457
|
+
|
4434
4458
|
<xsl:call-template name="processElementContent"/>
|
4435
4459
|
|
4436
4460
|
</fo:block>
|
@@ -5080,12 +5104,22 @@
|
|
5080
5104
|
<xsl:param name="font-weight" select="'bold'"/>
|
5081
5105
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
5082
5106
|
<xsl:attribute name="line-height">1.1</xsl:attribute>
|
5107
|
+
<xsl:if test="$stage-abbreviation = 'PRF'">
|
5108
|
+
<fo:block font-size="10pt" font-weight="bold" text-align="center">
|
5109
|
+
<xsl:value-of select="$proof-text"/>
|
5110
|
+
</fo:block>
|
5111
|
+
</xsl:if>
|
5083
5112
|
<fo:block font-size="9pt">
|
5084
5113
|
<!-- <xsl:call-template name="insertInterFont"/> -->
|
5085
5114
|
<xsl:value-of select="$copyrightText"/>
|
5086
5115
|
</fo:block>
|
5087
|
-
<xsl:if test="$copyrightAbbrIEEE = ''"><fo:block> </fo:block></xsl:if>
|
5088
|
-
<fo:block font-size="11pt" font-weight="{$font-weight}"
|
5116
|
+
<xsl:if test="$copyrightAbbrIEEE = '' and $stage-abbreviation != 'PRF'"><fo:block> </fo:block></xsl:if>
|
5117
|
+
<fo:block font-size="11pt" font-weight="{$font-weight}">
|
5118
|
+
<xsl:if test="$stage-abbreviation = 'PRF'">
|
5119
|
+
<xsl:attribute name="margin-top">1mm</xsl:attribute>
|
5120
|
+
</xsl:if>
|
5121
|
+
<fo:page-number/>
|
5122
|
+
</fo:block>
|
5089
5123
|
</xsl:template>
|
5090
5124
|
<xsl:template name="insertLayoutVersionAttributesTop">
|
5091
5125
|
<xsl:param name="odd_or_even"/>
|
@@ -5301,7 +5335,7 @@
|
|
5301
5335
|
</fo:table-cell>
|
5302
5336
|
<fo:table-cell number-columns-spanned="2" text-align="right" display-align="after">
|
5303
5337
|
<fo:block font-size="16pt" font-weight="bold" margin-bottom="1mm" margin-right="1.5mm">
|
5304
|
-
<xsl:if test="$stage >=60">
|
5338
|
+
<xsl:if test="$stage >=60 and $substage != 0">
|
5305
5339
|
<xsl:attribute name="color"><xsl:value-of select="$color_red"/></xsl:attribute>
|
5306
5340
|
</xsl:if>
|
5307
5341
|
<xsl:text>iso.org</xsl:text>
|
@@ -5341,7 +5375,7 @@
|
|
5341
5375
|
<xsl:variable name="Image-ISO-Logo-SVG">
|
5342
5376
|
<xsl:variable name="logo_color">
|
5343
5377
|
<xsl:choose>
|
5344
|
-
<xsl:when test="$stage >=60"><xsl:value-of select="$color_red"/></xsl:when>
|
5378
|
+
<xsl:when test="$stage >=60 and $substage != 0"><xsl:value-of select="$color_red"/></xsl:when>
|
5345
5379
|
<xsl:otherwise>rgb(88,88,90)</xsl:otherwise>
|
5346
5380
|
</xsl:choose>
|
5347
5381
|
</xsl:variable>
|
@@ -5505,7 +5539,7 @@
|
|
5505
5539
|
<fo:block id="lastBlock" font-size="1pt" keep-with-previous="always" role="SKIP"><fo:wrapper role="artifact"> </fo:wrapper></fo:block>
|
5506
5540
|
</xsl:template>
|
5507
5541
|
|
5508
|
-
<xsl:strip-space elements="iso:xref"/>
|
5542
|
+
<!-- <xsl:strip-space elements="iso:xref"/> -->
|
5509
5543
|
|
5510
5544
|
<xsl:variable name="namespace_full" select="namespace-uri(/*)"/> <!-- example: https://www.metanorma.org/ns/iso -->
|
5511
5545
|
<xsl:variable name="root_element" select="local-name(/*)"/> <!-- example: iso-standard -->
|
@@ -6718,6 +6752,10 @@
|
|
6718
6752
|
|
6719
6753
|
<xsl:template name="refine_termnote-name-style">
|
6720
6754
|
|
6755
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
6756
|
+
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
6757
|
+
</xsl:if> -->
|
6758
|
+
|
6721
6759
|
</xsl:template>
|
6722
6760
|
|
6723
6761
|
<xsl:attribute-set name="termnote-p-style">
|
@@ -7433,9 +7471,21 @@
|
|
7433
7471
|
<xsl:template name="processTables_Contents">
|
7434
7472
|
<tables>
|
7435
7473
|
<xsl:for-each select="//*[local-name() = 'table'][not(ancestor::*[local-name() = 'metanorma-extension'])][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
7436
|
-
<
|
7437
|
-
<xsl:
|
7438
|
-
|
7474
|
+
<xsl:choose>
|
7475
|
+
<xsl:when test="*[local-name() = 'fmt-name']">
|
7476
|
+
<xsl:variable name="fmt_name">
|
7477
|
+
<xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
|
7478
|
+
</xsl:variable>
|
7479
|
+
<table id="{@id}" alt-text="{normalize-space($fmt_name)}">
|
7480
|
+
<xsl:copy-of select="$fmt_name"/>
|
7481
|
+
</table>
|
7482
|
+
</xsl:when>
|
7483
|
+
<xsl:otherwise>
|
7484
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
7485
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
7486
|
+
</table>
|
7487
|
+
</xsl:otherwise>
|
7488
|
+
</xsl:choose>
|
7439
7489
|
</xsl:for-each>
|
7440
7490
|
</tables>
|
7441
7491
|
</xsl:template>
|
@@ -7443,9 +7493,21 @@
|
|
7443
7493
|
<xsl:template name="processFigures_Contents">
|
7444
7494
|
<figures>
|
7445
7495
|
<xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(*[local-name() = 'name'], 'Figure ') and normalize-space(@id) != '']">
|
7446
|
-
<
|
7447
|
-
<xsl:
|
7448
|
-
|
7496
|
+
<xsl:choose>
|
7497
|
+
<xsl:when test="*[local-name() = 'fmt-name']">
|
7498
|
+
<xsl:variable name="fmt_name">
|
7499
|
+
<xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
|
7500
|
+
</xsl:variable>
|
7501
|
+
<figure id="{@id}" alt-text="{normalize-space($fmt_name)}">
|
7502
|
+
<xsl:copy-of select="$fmt_name"/>
|
7503
|
+
</figure>
|
7504
|
+
</xsl:when>
|
7505
|
+
<xsl:otherwise>
|
7506
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
7507
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
7508
|
+
</figure>
|
7509
|
+
</xsl:otherwise>
|
7510
|
+
</xsl:choose>
|
7449
7511
|
</xsl:for-each>
|
7450
7512
|
</figures>
|
7451
7513
|
</xsl:template>
|
@@ -9357,6 +9419,11 @@
|
|
9357
9419
|
|
9358
9420
|
<xsl:value-of select="@reference"/>
|
9359
9421
|
|
9422
|
+
<!-- commented https://github.com/metanorma/isodoc/issues/614 -->
|
9423
|
+
<!-- <xsl:if test="$namespace = 'itu'">
|
9424
|
+
<xsl:text>)</xsl:text>
|
9425
|
+
</xsl:if> -->
|
9426
|
+
|
9360
9427
|
</fo:inline>
|
9361
9428
|
<fo:inline xsl:use-attribute-sets="table-fn-body-style">
|
9362
9429
|
<xsl:copy-of select="./node()"/>
|
@@ -9366,7 +9433,7 @@
|
|
9366
9433
|
|
9367
9434
|
</xsl:if>
|
9368
9435
|
</xsl:for-each>
|
9369
|
-
</xsl:template>
|
9436
|
+
</xsl:template> <!-- table_fn_display -->
|
9370
9437
|
|
9371
9438
|
<xsl:template name="create_fn">
|
9372
9439
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
@@ -9394,8 +9461,10 @@
|
|
9394
9461
|
<!-- EMD table's footnotes rendering -->
|
9395
9462
|
<!-- ============================ -->
|
9396
9463
|
|
9464
|
+
<!-- ============================ -->
|
9397
9465
|
<!-- figure's footnotes rendering -->
|
9398
|
-
|
9466
|
+
<!-- ============================ -->
|
9467
|
+
<xsl:template name="fn_display_figure"> <!-- figure_fn_display -->
|
9399
9468
|
|
9400
9469
|
<!-- current figure id -->
|
9401
9470
|
<xsl:variable name="figure_id_">
|
@@ -9508,9 +9577,28 @@
|
|
9508
9577
|
|
9509
9578
|
</fo:block>
|
9510
9579
|
</xsl:if>
|
9511
|
-
|
9512
9580
|
</xsl:template> <!-- fn_display_figure -->
|
9513
9581
|
|
9582
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
9583
|
+
<!-- figure's footnote label -->
|
9584
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'dl'][@key = 'true']/*[local-name() = 'dt']/ *[local-name() = 'p'][count(node()[normalize-space() != '']) = 1]/*[local-name() = 'sup']" priority="3">
|
9585
|
+
<xsl:variable name="key_iso">
|
9586
|
+
true
|
9587
|
+
</xsl:variable>
|
9588
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
9589
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
9590
|
+
|
9591
|
+
</xsl:if>
|
9592
|
+
<fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}" -->
|
9593
|
+
<!-- <xsl:value-of select="@reference"/> -->
|
9594
|
+
<xsl:apply-templates/>
|
9595
|
+
</fo:inline>
|
9596
|
+
</xsl:template>
|
9597
|
+
|
9598
|
+
<!-- ============================ -->
|
9599
|
+
<!-- END: figure's footnotes rendering -->
|
9600
|
+
<!-- ============================ -->
|
9601
|
+
|
9514
9602
|
<!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
|
9515
9603
|
<xsl:template match="*[local-name()='fn']">
|
9516
9604
|
<fo:inline xsl:use-attribute-sets="fn-reference-style">
|
@@ -9526,6 +9614,10 @@
|
|
9526
9614
|
|
9527
9615
|
<xsl:value-of select="@reference"/>
|
9528
9616
|
|
9617
|
+
<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
|
9618
|
+
<!-- <xsl:if test="$namespace = 'jis'">
|
9619
|
+
<fo:inline font-weight="normal">)</fo:inline>
|
9620
|
+
</xsl:if> -->
|
9529
9621
|
</fo:basic-link>
|
9530
9622
|
</fo:inline>
|
9531
9623
|
</xsl:template>
|
@@ -9656,17 +9748,22 @@
|
|
9656
9748
|
</fo:block>
|
9657
9749
|
</xsl:when> <!-- END: a few components -->
|
9658
9750
|
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
|
9659
|
-
|
9751
|
+
<!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
|
9752
|
+
<xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
|
9660
9753
|
|
9661
|
-
|
9754
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
9662
9755
|
|
9663
|
-
|
9664
|
-
|
9665
|
-
|
9666
|
-
|
9667
|
-
|
9668
|
-
|
9669
|
-
|
9756
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
9757
|
+
|
9758
|
+
<xsl:variable name="title-key">
|
9759
|
+
<xsl:call-template name="getLocalizedString">
|
9760
|
+
<xsl:with-param name="key">key</xsl:with-param>
|
9761
|
+
</xsl:call-template>
|
9762
|
+
</xsl:variable>
|
9763
|
+
<xsl:value-of select="$title-key"/>
|
9764
|
+
</fo:block>
|
9765
|
+
|
9766
|
+
</xsl:if>
|
9670
9767
|
</xsl:when> <!-- END: definition list in a figure -->
|
9671
9768
|
</xsl:choose>
|
9672
9769
|
|
@@ -9856,6 +9953,14 @@
|
|
9856
9953
|
|
9857
9954
|
</xsl:template> <!-- END: dl -->
|
9858
9955
|
|
9956
|
+
<!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
|
9957
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
|
9958
|
+
<fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
|
9959
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
9960
|
+
<xsl:apply-templates/>
|
9961
|
+
</fo:block>
|
9962
|
+
</xsl:template>
|
9963
|
+
|
9859
9964
|
<xsl:template name="refine_dl_formula_where_style">
|
9860
9965
|
|
9861
9966
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
@@ -11988,6 +12093,39 @@
|
|
11988
12093
|
</xsl:copy>
|
11989
12094
|
</xsl:template>
|
11990
12095
|
|
12096
|
+
<xsl:template match="@*|node()" mode="mathml_linebreak">
|
12097
|
+
<xsl:copy>
|
12098
|
+
<xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
|
12099
|
+
</xsl:copy>
|
12100
|
+
</xsl:template>
|
12101
|
+
|
12102
|
+
<!-- split math into two math -->
|
12103
|
+
<xsl:template match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
|
12104
|
+
<xsl:variable name="math_elements_tree_">
|
12105
|
+
<xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
|
12106
|
+
<element pos="{position()}">
|
12107
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/>
|
12108
|
+
<xsl:value-of select="name()"/>
|
12109
|
+
</element>
|
12110
|
+
</xsl:for-each>
|
12111
|
+
</xsl:variable>
|
12112
|
+
|
12113
|
+
<xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
|
12114
|
+
|
12115
|
+
<xsl:call-template name="insertClosingElements">
|
12116
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
12117
|
+
</xsl:call-template>
|
12118
|
+
|
12119
|
+
<xsl:element name="br" namespace="{$namespace_full}"/>
|
12120
|
+
|
12121
|
+
<xsl:call-template name="insertOpeningElements">
|
12122
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
12123
|
+
<xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
|
12124
|
+
<xsl:with-param name="add_continue">false</xsl:with-param>
|
12125
|
+
</xsl:call-template>
|
12126
|
+
|
12127
|
+
</xsl:template>
|
12128
|
+
|
11991
12129
|
<!-- Examples:
|
11992
12130
|
<stem type="AsciiMath">x = 1</stem>
|
11993
12131
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -12241,9 +12379,11 @@
|
|
12241
12379
|
</xsl:template>
|
12242
12380
|
|
12243
12381
|
<xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
|
12382
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
12244
12383
|
<xsl:if test="normalize-space() != ''">
|
12245
|
-
<xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
|
12246
|
-
</xsl:if>
|
12384
|
+
<xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
|
12385
|
+
</xsl:if> -->
|
12386
|
+
<xsl:apply-templates/>
|
12247
12387
|
</xsl:template>
|
12248
12388
|
|
12249
12389
|
<!-- stem inside formula with name (with formula's number) -->
|
@@ -12314,6 +12454,8 @@
|
|
12314
12454
|
|
12315
12455
|
<fo:inline xsl:use-attribute-sets="note-name-style" role="SKIP">
|
12316
12456
|
|
12457
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab"/>
|
12458
|
+
|
12317
12459
|
<xsl:call-template name="refine_note-name-style"/>
|
12318
12460
|
|
12319
12461
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
@@ -12393,10 +12535,6 @@
|
|
12393
12535
|
|
12394
12536
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
12395
12537
|
|
12396
|
-
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
12397
|
-
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
12398
|
-
</xsl:if>
|
12399
|
-
|
12400
12538
|
<xsl:call-template name="refine_termnote-name-style"/>
|
12401
12539
|
|
12402
12540
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
@@ -12422,10 +12560,21 @@
|
|
12422
12560
|
</xsl:when>
|
12423
12561
|
<xsl:otherwise>
|
12424
12562
|
|
12563
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
12564
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
12565
|
+
<xsl:text>—</xsl:text> em dash —
|
12566
|
+
</xsl:if> -->
|
12567
|
+
<!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
|
12568
|
+
<xsl:text>:</xsl:text>
|
12569
|
+
</xsl:if> -->
|
12570
|
+
|
12425
12571
|
<xsl:if test="$layoutVersion = '1987' and . = translate(.,'1234567890','')"> <!-- NOTE without number -->
|
12426
12572
|
<xsl:text> — </xsl:text>
|
12427
12573
|
</xsl:if>
|
12428
12574
|
|
12575
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
12576
|
+
<xsl:text> – </xsl:text> en dash –
|
12577
|
+
</xsl:if> -->
|
12429
12578
|
</xsl:otherwise>
|
12430
12579
|
</xsl:choose>
|
12431
12580
|
</xsl:variable>
|
@@ -12444,8 +12593,16 @@
|
|
12444
12593
|
</xsl:when>
|
12445
12594
|
<xsl:otherwise>
|
12446
12595
|
|
12596
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
12597
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
12598
|
+
<xsl:text>—</xsl:text> em dash —
|
12599
|
+
</xsl:if> -->
|
12600
|
+
<!-- <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' or $namespace = 'rsd' or $namespace = 'jcgm'">
|
12447
12601
|
<xsl:text>:</xsl:text>
|
12448
|
-
|
12602
|
+
</xsl:if> -->
|
12603
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">
|
12604
|
+
<xsl:text> – </xsl:text> en dash –
|
12605
|
+
</xsl:if> -->
|
12449
12606
|
</xsl:otherwise>
|
12450
12607
|
</xsl:choose>
|
12451
12608
|
</xsl:variable>
|
@@ -12530,17 +12687,29 @@
|
|
12530
12687
|
<!-- Example: Dimensions in millimeters -->
|
12531
12688
|
<xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
|
12532
12689
|
|
12690
|
+
<xsl:variable name="show_figure_key_in_block_container">
|
12691
|
+
true
|
12692
|
+
</xsl:variable>
|
12693
|
+
|
12533
12694
|
<fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
|
12534
12695
|
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
|
12535
12696
|
</fo:block>
|
12536
|
-
|
12537
|
-
|
12538
|
-
|
12539
|
-
|
12697
|
+
|
12698
|
+
<xsl:if test="normalize-space($show_figure_key_in_block_container) = 'true'">
|
12699
|
+
<xsl:call-template name="showFigureKey"/>
|
12700
|
+
</xsl:if>
|
12540
12701
|
|
12541
12702
|
<xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
|
12542
12703
|
|
12543
12704
|
</fo:block-container>
|
12705
|
+
|
12706
|
+
</xsl:template>
|
12707
|
+
|
12708
|
+
<xsl:template name="showFigureKey">
|
12709
|
+
<xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
|
12710
|
+
<xsl:call-template name="note"/>
|
12711
|
+
</xsl:for-each>
|
12712
|
+
<xsl:call-template name="fn_display_figure"/>
|
12544
12713
|
</xsl:template>
|
12545
12714
|
|
12546
12715
|
<xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
|
@@ -12736,6 +12905,22 @@
|
|
12736
12905
|
</xsl:if>
|
12737
12906
|
</xsl:template>
|
12738
12907
|
|
12908
|
+
<xsl:template name="getImageSrc">
|
12909
|
+
<xsl:choose>
|
12910
|
+
<xsl:when test="not(starts-with(@src, 'data:'))">
|
12911
|
+
<xsl:choose>
|
12912
|
+
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
12913
|
+
<xsl:value-of select="@src"/>
|
12914
|
+
</xsl:when>
|
12915
|
+
<xsl:otherwise>
|
12916
|
+
<xsl:value-of select="concat($basepath, @src)"/>
|
12917
|
+
</xsl:otherwise>
|
12918
|
+
</xsl:choose>
|
12919
|
+
</xsl:when>
|
12920
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
12921
|
+
</xsl:choose>
|
12922
|
+
</xsl:template>
|
12923
|
+
|
12739
12924
|
<xsl:template name="getImageScale">
|
12740
12925
|
<xsl:param name="indent"/>
|
12741
12926
|
<xsl:variable name="indent_left">
|
@@ -12745,19 +12930,7 @@
|
|
12745
12930
|
</xsl:choose>
|
12746
12931
|
</xsl:variable>
|
12747
12932
|
<xsl:variable name="img_src">
|
12748
|
-
<xsl:
|
12749
|
-
<xsl:when test="not(starts-with(@src, 'data:'))">
|
12750
|
-
<xsl:choose>
|
12751
|
-
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
12752
|
-
<xsl:value-of select="@src"/>
|
12753
|
-
</xsl:when>
|
12754
|
-
<xsl:otherwise>
|
12755
|
-
<xsl:value-of select="concat($basepath, @src)"/>
|
12756
|
-
</xsl:otherwise>
|
12757
|
-
</xsl:choose>
|
12758
|
-
</xsl:when>
|
12759
|
-
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
12760
|
-
</xsl:choose>
|
12933
|
+
<xsl:call-template name="getImageSrc"/>
|
12761
12934
|
</xsl:variable>
|
12762
12935
|
|
12763
12936
|
<xsl:variable name="image_width_effective">
|
@@ -12765,10 +12938,15 @@
|
|
12765
12938
|
<xsl:value-of select="$width_effective - number($indent_left)"/>
|
12766
12939
|
|
12767
12940
|
</xsl:variable>
|
12941
|
+
<xsl:variable name="image_height_effective" select="$height_effective - number($indent_left)"/>
|
12768
12942
|
<!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
|
12769
12943
|
<xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
|
12770
12944
|
<xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
|
12771
|
-
<xsl:variable name="scale"
|
12945
|
+
<xsl:variable name="scale">
|
12946
|
+
|
12947
|
+
<xsl:value-of select="java:org.metanorma.fop.utils.ImageUtils.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
12948
|
+
|
12949
|
+
</xsl:variable>
|
12772
12950
|
<xsl:value-of select="$scale"/>
|
12773
12951
|
</xsl:template>
|
12774
12952
|
|
@@ -13321,20 +13499,48 @@
|
|
13321
13499
|
<xsl:template match="*[local-name() = 'emf']"/>
|
13322
13500
|
|
13323
13501
|
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
13502
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
|
13503
|
+
<xsl:apply-templates mode="contents"/>
|
13504
|
+
<xsl:text> </xsl:text>
|
13505
|
+
</xsl:if>
|
13506
|
+
</xsl:template>
|
13507
|
+
|
13508
|
+
<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="contents"/>
|
13509
|
+
|
13510
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fmt-name'] | *[local-name() = 'table']/*[local-name() = 'fmt-name'] | *[local-name() = 'permission']/*[local-name() = 'fmt-name'] | *[local-name() = 'recommendation']/*[local-name() = 'fmt-name'] | *[local-name() = 'requirement']/*[local-name() = 'fmt-name']" mode="contents">
|
13324
13511
|
<xsl:apply-templates mode="contents"/>
|
13325
13512
|
<xsl:text> </xsl:text>
|
13326
13513
|
</xsl:template>
|
13327
13514
|
|
13328
13515
|
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
|
13516
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
|
13517
|
+
<xsl:apply-templates mode="bookmarks"/>
|
13518
|
+
<xsl:text> </xsl:text>
|
13519
|
+
</xsl:if>
|
13520
|
+
</xsl:template>
|
13521
|
+
|
13522
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fmt-name'] | *[local-name() = 'table']/*[local-name() = 'fmt-name'] | *[local-name() = 'permission']/*[local-name() = 'fmt-name'] | *[local-name() = 'recommendation']/*[local-name() = 'fmt-name'] | *[local-name() = 'requirement']/*[local-name() = 'fmt-name'] | *[local-name() = 'sourcecode']/*[local-name() = 'fmt-name']" mode="bookmarks">
|
13329
13523
|
<xsl:apply-templates mode="bookmarks"/>
|
13330
13524
|
<xsl:text> </xsl:text>
|
13331
13525
|
</xsl:template>
|
13332
13526
|
|
13333
13527
|
<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
|
13528
|
+
<xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
|
13529
|
+
<xsl:value-of select="."/>
|
13530
|
+
</xsl:if>
|
13531
|
+
</xsl:template>
|
13532
|
+
|
13533
|
+
<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'fmt-name']/text()" mode="contents" priority="2">
|
13334
13534
|
<xsl:value-of select="."/>
|
13335
13535
|
</xsl:template>
|
13336
13536
|
|
13337
13537
|
<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement' or local-name() = 'sourcecode']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
|
13538
|
+
<xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
|
13539
|
+
<xsl:value-of select="."/>
|
13540
|
+
</xsl:if>
|
13541
|
+
</xsl:template>
|
13542
|
+
|
13543
|
+
<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement' or local-name() = 'sourcecode']/*[local-name() = 'fmt-name']//text()" mode="bookmarks" priority="2">
|
13338
13544
|
<xsl:value-of select="."/>
|
13339
13545
|
</xsl:template>
|
13340
13546
|
|
@@ -13355,7 +13561,7 @@
|
|
13355
13561
|
</xsl:template>
|
13356
13562
|
|
13357
13563
|
<!-- special case: ignore section-title if @depth different than @depth of parent clause, or @depth of parent clause = 1 -->
|
13358
|
-
<xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title']/@depth or ../*[local-name() = 'title']/@depth = 1)]" priority="3" mode="contents"/>
|
13564
|
+
<xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title' or local-name() = 'fmt-title']/@depth or ../*[local-name() = 'title' or local-name() = 'fmt-title']/@depth = 1)]" priority="3" mode="contents"/>
|
13359
13565
|
|
13360
13566
|
<xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
|
13361
13567
|
<xsl:variable name="level">
|
@@ -13367,6 +13573,9 @@
|
|
13367
13573
|
<xsl:variable name="section">
|
13368
13574
|
<xsl:choose>
|
13369
13575
|
<xsl:when test="@type = 'section-title'"/>
|
13576
|
+
<xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
|
13577
|
+
<xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
|
13578
|
+
</xsl:when>
|
13370
13579
|
<xsl:otherwise>
|
13371
13580
|
<xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
13372
13581
|
</xsl:otherwise>
|
@@ -13389,6 +13598,19 @@
|
|
13389
13598
|
|
13390
13599
|
<xsl:variable name="title">
|
13391
13600
|
<xsl:choose>
|
13601
|
+
<!-- https://github.com/metanorma/mn-native-pdf/issues/770 -->
|
13602
|
+
<xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
|
13603
|
+
<xsl:choose>
|
13604
|
+
<xsl:when test="@type = 'section-title'">
|
13605
|
+
<xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
|
13606
|
+
<xsl:text>: </xsl:text>
|
13607
|
+
<xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
|
13608
|
+
</xsl:when>
|
13609
|
+
<xsl:otherwise>
|
13610
|
+
<xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
|
13611
|
+
</xsl:otherwise>
|
13612
|
+
</xsl:choose>
|
13613
|
+
</xsl:when>
|
13392
13614
|
<xsl:when test="*[local-name() = 'tab']">
|
13393
13615
|
<xsl:choose>
|
13394
13616
|
<xsl:when test="@type = 'section-title'">
|
@@ -13424,7 +13646,7 @@
|
|
13424
13646
|
<xsl:apply-templates mode="bookmarks"/>
|
13425
13647
|
</xsl:template>
|
13426
13648
|
|
13427
|
-
<xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
|
13649
|
+
<xsl:template match="*[local-name() = 'title' or local-name() = 'name' or local-name() = 'fmt-title' or local-name() = 'fmt-name']//*[local-name() = 'stem']" mode="contents">
|
13428
13650
|
<xsl:apply-templates select="."/>
|
13429
13651
|
</xsl:template>
|
13430
13652
|
|
@@ -13437,6 +13659,10 @@
|
|
13437
13659
|
<xsl:apply-templates mode="contents"/>
|
13438
13660
|
</xsl:template>
|
13439
13661
|
|
13662
|
+
<xsl:template match="*[local-name() = 'semx']" mode="contents">
|
13663
|
+
<xsl:apply-templates mode="contents"/>
|
13664
|
+
</xsl:template>
|
13665
|
+
|
13440
13666
|
<xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
13441
13667
|
<xsl:apply-templates mode="bookmarks"/>
|
13442
13668
|
</xsl:template>
|
@@ -13446,9 +13672,14 @@
|
|
13446
13672
|
<xsl:apply-templates mode="bookmarks"/>
|
13447
13673
|
</xsl:template>
|
13448
13674
|
|
13675
|
+
<xsl:template match="*[local-name() = 'semx']" mode="bookmarks">
|
13676
|
+
<xsl:apply-templates mode="bookmarks"/>
|
13677
|
+
</xsl:template>
|
13678
|
+
|
13449
13679
|
<!-- Bookmarks -->
|
13450
13680
|
<xsl:template name="addBookmarks">
|
13451
13681
|
<xsl:param name="contents"/>
|
13682
|
+
<xsl:param name="contents_addon"/>
|
13452
13683
|
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
13453
13684
|
<xsl:if test="$contents_nodes//item">
|
13454
13685
|
<fo:bookmark-tree>
|
@@ -13546,6 +13777,9 @@
|
|
13546
13777
|
</xsl:otherwise>
|
13547
13778
|
</xsl:choose>
|
13548
13779
|
|
13780
|
+
<!-- for $namespace = 'nist-sp' $namespace = 'ogc' $namespace = 'ogc-white-paper' -->
|
13781
|
+
<xsl:copy-of select="$contents_addon"/>
|
13782
|
+
|
13549
13783
|
</fo:bookmark-tree>
|
13550
13784
|
</xsl:if>
|
13551
13785
|
</xsl:template>
|
@@ -13699,6 +13933,16 @@
|
|
13699
13933
|
<!-- ====== -->
|
13700
13934
|
<!-- ====== -->
|
13701
13935
|
<xsl:template match="*[local-name() = 'title']" mode="contents_item">
|
13936
|
+
<xsl:param name="mode">bookmarks</xsl:param>
|
13937
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-title'])">
|
13938
|
+
<xsl:apply-templates mode="contents_item">
|
13939
|
+
<xsl:with-param name="mode" select="$mode"/>
|
13940
|
+
</xsl:apply-templates>
|
13941
|
+
<!-- <xsl:text> </xsl:text> -->
|
13942
|
+
</xsl:if>
|
13943
|
+
</xsl:template>
|
13944
|
+
|
13945
|
+
<xsl:template match="*[local-name() = 'fmt-title']" mode="contents_item">
|
13702
13946
|
<xsl:param name="mode">bookmarks</xsl:param>
|
13703
13947
|
<xsl:apply-templates mode="contents_item">
|
13704
13948
|
<xsl:with-param name="mode" select="$mode"/>
|
@@ -13706,12 +13950,38 @@
|
|
13706
13950
|
<!-- <xsl:text> </xsl:text> -->
|
13707
13951
|
</xsl:template>
|
13708
13952
|
|
13953
|
+
<xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim']" mode="contents_item" priority="3">
|
13954
|
+
<xsl:apply-templates mode="contents_item"/>
|
13955
|
+
</xsl:template>
|
13956
|
+
|
13957
|
+
<xsl:template match="*[local-name() = 'semx']" mode="contents_item">
|
13958
|
+
<xsl:apply-templates mode="contents_item"/>
|
13959
|
+
</xsl:template>
|
13960
|
+
|
13961
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="contents_item"/>
|
13962
|
+
|
13709
13963
|
<xsl:template name="getSection">
|
13710
|
-
<xsl:
|
13964
|
+
<xsl:choose>
|
13965
|
+
<xsl:when test="*[local-name() = 'fmt-title']">
|
13966
|
+
<xsl:variable name="fmt_title_section">
|
13967
|
+
<xsl:copy-of select="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']][1]/preceding-sibling::node()[not(local-name() = 'review')]"/>
|
13968
|
+
</xsl:variable>
|
13969
|
+
<xsl:value-of select="normalize-space($fmt_title_section)"/>
|
13970
|
+
</xsl:when>
|
13971
|
+
<xsl:otherwise>
|
13972
|
+
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
13973
|
+
</xsl:otherwise>
|
13974
|
+
</xsl:choose>
|
13711
13975
|
</xsl:template>
|
13712
13976
|
|
13713
13977
|
<xsl:template name="getName">
|
13714
13978
|
<xsl:choose>
|
13979
|
+
<xsl:when test="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']]">
|
13980
|
+
<xsl:copy-of select="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']][1]/following-sibling::node()"/>
|
13981
|
+
</xsl:when>
|
13982
|
+
<xsl:when test="*[local-name() = 'fmt-title']">
|
13983
|
+
<xsl:copy-of select="*[local-name() = 'fmt-title']/node()"/>
|
13984
|
+
</xsl:when>
|
13715
13985
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
13716
13986
|
<xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
13717
13987
|
</xsl:when>
|
@@ -13818,6 +14088,15 @@
|
|
13818
14088
|
</xsl:template>
|
13819
14089
|
|
13820
14090
|
<xsl:template match="*[local-name() = 'name']" mode="contents_item">
|
14091
|
+
<xsl:param name="mode">bookmarks</xsl:param>
|
14092
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
|
14093
|
+
<xsl:apply-templates mode="contents_item">
|
14094
|
+
<xsl:with-param name="mode" select="$mode"/>
|
14095
|
+
</xsl:apply-templates>
|
14096
|
+
</xsl:if>
|
14097
|
+
</xsl:template>
|
14098
|
+
|
14099
|
+
<xsl:template match="*[local-name() = 'fmt-name']" mode="contents_item">
|
13821
14100
|
<xsl:param name="mode">bookmarks</xsl:param>
|
13822
14101
|
<xsl:apply-templates mode="contents_item">
|
13823
14102
|
<xsl:with-param name="mode" select="$mode"/>
|
@@ -14615,7 +14894,7 @@
|
|
14615
14894
|
<xsl:if test="normalize-space() != ''">
|
14616
14895
|
<fo:inline xsl:use-attribute-sets="termexample-name-style">
|
14617
14896
|
<xsl:call-template name="refine_termexample-name-style"/>
|
14618
|
-
<xsl:apply-templates/>
|
14897
|
+
<xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
|
14619
14898
|
</fo:inline>
|
14620
14899
|
</xsl:if>
|
14621
14900
|
</xsl:template>
|
@@ -14656,112 +14935,113 @@
|
|
14656
14935
|
-->
|
14657
14936
|
<xsl:template match="*[local-name() = 'example']">
|
14658
14937
|
|
14659
|
-
|
14660
|
-
|
14661
|
-
<xsl:call-template name="setBlockSpanAll"/>
|
14938
|
+
<fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
|
14662
14939
|
|
14663
|
-
|
14940
|
+
<xsl:call-template name="setBlockSpanAll"/>
|
14664
14941
|
|
14665
|
-
|
14666
|
-
<xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
|
14942
|
+
<xsl:call-template name="refine_example-style"/>
|
14667
14943
|
|
14668
|
-
|
14669
|
-
|
14670
|
-
<xsl:otherwise>inline</xsl:otherwise>
|
14671
|
-
</xsl:choose>
|
14944
|
+
<xsl:variable name="fo_element">
|
14945
|
+
<xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
|
14672
14946
|
|
14673
|
-
|
14947
|
+
<xsl:choose>
|
14948
|
+
<xsl:when test="$layoutVersion = '1951' and $revision_date_num < 19610101">list</xsl:when>
|
14949
|
+
<xsl:otherwise>inline</xsl:otherwise>
|
14950
|
+
</xsl:choose>
|
14674
14951
|
|
14675
|
-
|
14952
|
+
</xsl:variable>
|
14676
14953
|
|
14677
|
-
|
14954
|
+
<fo:block-container margin-left="0mm" role="SKIP">
|
14678
14955
|
|
14679
|
-
|
14956
|
+
<xsl:choose>
|
14680
14957
|
|
14681
|
-
|
14682
|
-
<fo:block>
|
14683
|
-
<xsl:apply-templates select="*[local-name()='name']">
|
14684
|
-
<xsl:with-param name="fo_element" select="$fo_element"/>
|
14685
|
-
</xsl:apply-templates>
|
14686
|
-
</fo:block>
|
14958
|
+
<xsl:when test="contains(normalize-space($fo_element), 'block')">
|
14687
14959
|
|
14688
|
-
|
14689
|
-
|
14690
|
-
|
14691
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
14960
|
+
<!-- display name 'EXAMPLE' in a separate block -->
|
14961
|
+
<fo:block>
|
14962
|
+
<xsl:apply-templates select="*[local-name()='name']">
|
14692
14963
|
<xsl:with-param name="fo_element" select="$fo_element"/>
|
14693
14964
|
</xsl:apply-templates>
|
14965
|
+
</fo:block>
|
14966
|
+
|
14967
|
+
<fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
|
14968
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
14969
|
+
<xsl:variable name="example_body">
|
14970
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
14971
|
+
<xsl:with-param name="fo_element" select="$fo_element"/>
|
14972
|
+
</xsl:apply-templates>
|
14973
|
+
</xsl:variable>
|
14974
|
+
<xsl:choose>
|
14975
|
+
<xsl:when test="xalan:nodeset($example_body)/*">
|
14976
|
+
<xsl:copy-of select="$example_body"/>
|
14977
|
+
</xsl:when>
|
14978
|
+
<xsl:otherwise><fo:block/><!-- prevent empty block-container --></xsl:otherwise>
|
14979
|
+
</xsl:choose>
|
14980
|
+
</fo:block-container>
|
14981
|
+
</fo:block-container>
|
14982
|
+
</xsl:when> <!-- end block -->
|
14983
|
+
|
14984
|
+
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
14985
|
+
|
14986
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
14987
|
+
45
|
14694
14988
|
</xsl:variable>
|
14695
|
-
<xsl:
|
14696
|
-
|
14697
|
-
|
14698
|
-
|
14699
|
-
|
14700
|
-
</xsl:choose>
|
14701
|
-
</fo:block-container>
|
14702
|
-
</fo:block-container>
|
14703
|
-
</xsl:when> <!-- end block -->
|
14989
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
14990
|
+
<xsl:variable name="indent_">
|
14991
|
+
28
|
14992
|
+
</xsl:variable>
|
14993
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
14704
14994
|
|
14705
|
-
|
14995
|
+
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
14996
|
+
<fo:list-item>
|
14997
|
+
<fo:list-item-label start-indent="{$indent}mm" end-indent="label-end()">
|
14998
|
+
<fo:block>
|
14999
|
+
<xsl:apply-templates select="*[local-name()='name']">
|
15000
|
+
<xsl:with-param name="fo_element">block</xsl:with-param>
|
15001
|
+
</xsl:apply-templates>
|
15002
|
+
</fo:block>
|
15003
|
+
</fo:list-item-label>
|
15004
|
+
<fo:list-item-body start-indent="body-start()">
|
15005
|
+
<fo:block>
|
15006
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
15007
|
+
<xsl:with-param name="fo_element" select="$fo_element"/>
|
15008
|
+
</xsl:apply-templates>
|
15009
|
+
</fo:block>
|
15010
|
+
</fo:list-item-body>
|
15011
|
+
</fo:list-item>
|
15012
|
+
</fo:list-block>
|
15013
|
+
</xsl:when> <!-- end list -->
|
14706
15014
|
|
14707
|
-
|
14708
|
-
45
|
14709
|
-
</xsl:variable>
|
14710
|
-
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
14711
|
-
<xsl:variable name="indent_">
|
14712
|
-
28
|
14713
|
-
</xsl:variable>
|
14714
|
-
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
15015
|
+
<xsl:otherwise> <!-- inline -->
|
14715
15016
|
|
14716
|
-
|
14717
|
-
|
14718
|
-
|
14719
|
-
|
14720
|
-
|
14721
|
-
|
14722
|
-
|
14723
|
-
</fo:block>
|
14724
|
-
</fo:list-item-label>
|
14725
|
-
<fo:list-item-body start-indent="body-start()">
|
14726
|
-
<fo:block>
|
14727
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
15017
|
+
<!-- display 'EXAMPLE' and first element in the same line -->
|
15018
|
+
<fo:block>
|
15019
|
+
<xsl:apply-templates select="*[local-name()='name']">
|
15020
|
+
<xsl:with-param name="fo_element" select="$fo_element"/>
|
15021
|
+
</xsl:apply-templates>
|
15022
|
+
<fo:inline>
|
15023
|
+
<xsl:apply-templates select="*[not(local-name() = 'name')][1]">
|
14728
15024
|
<xsl:with-param name="fo_element" select="$fo_element"/>
|
14729
15025
|
</xsl:apply-templates>
|
14730
|
-
</fo:
|
14731
|
-
</fo:
|
14732
|
-
</fo:list-item>
|
14733
|
-
</fo:list-block>
|
14734
|
-
</xsl:when> <!-- end list -->
|
14735
|
-
|
14736
|
-
<xsl:otherwise> <!-- inline -->
|
15026
|
+
</fo:inline>
|
15027
|
+
</fo:block>
|
14737
15028
|
|
14738
|
-
|
14739
|
-
|
14740
|
-
|
14741
|
-
|
14742
|
-
|
14743
|
-
|
14744
|
-
|
14745
|
-
|
14746
|
-
|
14747
|
-
|
14748
|
-
|
15029
|
+
<xsl:if test="*[not(local-name() = 'name')][position() > 1]">
|
15030
|
+
<!-- display further elements in blocks -->
|
15031
|
+
<fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
|
15032
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
15033
|
+
<xsl:apply-templates select="*[not(local-name() = 'name')][position() > 1]">
|
15034
|
+
<xsl:with-param name="fo_element" select="'block'"/>
|
15035
|
+
</xsl:apply-templates>
|
15036
|
+
</fo:block-container>
|
15037
|
+
</fo:block-container>
|
15038
|
+
</xsl:if>
|
15039
|
+
</xsl:otherwise> <!-- end inline -->
|
14749
15040
|
|
14750
|
-
|
14751
|
-
|
14752
|
-
|
14753
|
-
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
14754
|
-
<xsl:apply-templates select="*[not(local-name() = 'name')][position() > 1]">
|
14755
|
-
<xsl:with-param name="fo_element" select="'block'"/>
|
14756
|
-
</xsl:apply-templates>
|
14757
|
-
</fo:block-container>
|
14758
|
-
</fo:block-container>
|
14759
|
-
</xsl:if>
|
14760
|
-
</xsl:otherwise> <!-- end inline -->
|
15041
|
+
</xsl:choose>
|
15042
|
+
</fo:block-container>
|
15043
|
+
</fo:block-container>
|
14761
15044
|
|
14762
|
-
</xsl:choose>
|
14763
|
-
</fo:block-container>
|
14764
|
-
</fo:block-container>
|
14765
15045
|
</xsl:template>
|
14766
15046
|
|
14767
15047
|
<xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
|
@@ -14782,7 +15062,7 @@
|
|
14782
15062
|
<xsl:otherwise>
|
14783
15063
|
<fo:inline xsl:use-attribute-sets="example-name-style">
|
14784
15064
|
<xsl:call-template name="refine_example-name-style"/>
|
14785
|
-
<xsl:apply-templates/>
|
15065
|
+
<xsl:apply-templates/> <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614 -->
|
14786
15066
|
</fo:inline>
|
14787
15067
|
</xsl:otherwise>
|
14788
15068
|
</xsl:choose>
|
@@ -14974,15 +15254,17 @@
|
|
14974
15254
|
|
14975
15255
|
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
14976
15256
|
<fo:block role="BlockQuote">
|
14977
|
-
<xsl:apply-templates select="./node()[not(local-name() = 'author') and
|
15257
|
+
<xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source') and not(local-name() = 'attribution')]"/> <!-- process all nested nodes, except author and source -->
|
14978
15258
|
</fo:block>
|
14979
15259
|
</fo:block-container>
|
14980
15260
|
</fo:block-container>
|
14981
|
-
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
15261
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
|
14982
15262
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
14983
15263
|
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
14984
15264
|
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
14985
15265
|
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
15266
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
15267
|
+
<xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
|
14986
15268
|
</fo:block>
|
14987
15269
|
</xsl:if>
|
14988
15270
|
|
@@ -15004,9 +15286,13 @@
|
|
15004
15286
|
</xsl:template>
|
15005
15287
|
|
15006
15288
|
<xsl:template match="*[local-name() = 'author']">
|
15007
|
-
<xsl:
|
15289
|
+
<xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
|
15290
|
+
<xsl:text>— </xsl:text>
|
15291
|
+
</xsl:if>
|
15008
15292
|
<xsl:apply-templates/>
|
15009
15293
|
</xsl:template>
|
15294
|
+
|
15295
|
+
<xsl:template match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
|
15010
15296
|
<!-- ====== -->
|
15011
15297
|
<!-- ====== -->
|
15012
15298
|
|
@@ -15148,6 +15434,15 @@
|
|
15148
15434
|
|
15149
15435
|
</xsl:template> <!-- tab -->
|
15150
15436
|
|
15437
|
+
<xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
|
15438
|
+
<xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
|
15439
|
+
|
15440
|
+
<xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab">
|
15441
|
+
|
15442
|
+
<xsl:attribute name="padding-right">6mm</xsl:attribute>
|
15443
|
+
|
15444
|
+
</xsl:template>
|
15445
|
+
|
15151
15446
|
<xsl:template name="insertNonBreakSpaces">
|
15152
15447
|
<xsl:param name="count"/>
|
15153
15448
|
<xsl:if test="$count > 0">
|
@@ -15187,8 +15482,12 @@
|
|
15187
15482
|
</xsl:template>
|
15188
15483
|
|
15189
15484
|
<xsl:template match="*[local-name() = 'domain']">
|
15485
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
15190
15486
|
<fo:inline xsl:use-attribute-sets="domain-style"><<xsl:apply-templates/>></fo:inline>
|
15191
|
-
<xsl:text> </xsl:text>
|
15487
|
+
<xsl:text> </xsl:text> -->
|
15488
|
+
<xsl:if test="not(@hidden = 'true')">
|
15489
|
+
<xsl:apply-templates/>
|
15490
|
+
</xsl:if>
|
15192
15491
|
</xsl:template>
|
15193
15492
|
|
15194
15493
|
<xsl:template match="*[local-name() = 'admitted']">
|
@@ -15236,6 +15535,29 @@
|
|
15236
15535
|
<!-- END definition -->
|
15237
15536
|
<!-- ========== -->
|
15238
15537
|
|
15538
|
+
<xsl:variable name="reviews_">
|
15539
|
+
<xsl:for-each select="//*[local-name() = 'review'][@from]">
|
15540
|
+
<xsl:copy>
|
15541
|
+
<xsl:copy-of select="@from"/>
|
15542
|
+
<xsl:copy-of select="@id"/>
|
15543
|
+
</xsl:copy>
|
15544
|
+
</xsl:for-each>
|
15545
|
+
</xsl:variable>
|
15546
|
+
<xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
|
15547
|
+
|
15548
|
+
<xsl:template name="addReviewHelper">
|
15549
|
+
<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
|
15550
|
+
<xsl:variable name="curr_id" select="@id"/>
|
15551
|
+
<xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
|
15552
|
+
<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
|
15553
|
+
<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>
|
15554
|
+
</xsl:if>
|
15555
|
+
<!-- <fo:block>
|
15556
|
+
<curr_id><xsl:value-of select="$curr_id"/></curr_id>
|
15557
|
+
<xsl:copy-of select="$reviews"/>
|
15558
|
+
</fo:block> -->
|
15559
|
+
</xsl:template>
|
15560
|
+
|
15239
15561
|
<!-- main sections -->
|
15240
15562
|
<xsl:template match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
|
15241
15563
|
|
@@ -15244,6 +15566,8 @@
|
|
15244
15566
|
|
15245
15567
|
<xsl:call-template name="sections_element_style"/>
|
15246
15568
|
|
15569
|
+
<xsl:call-template name="addReviewHelper"/>
|
15570
|
+
|
15247
15571
|
<xsl:apply-templates/>
|
15248
15572
|
</fo:block>
|
15249
15573
|
|
@@ -15290,6 +15614,7 @@
|
|
15290
15614
|
|
15291
15615
|
<fo:block>
|
15292
15616
|
<xsl:call-template name="setId"/>
|
15617
|
+
<xsl:call-template name="addReviewHelper"/>
|
15293
15618
|
<xsl:apply-templates/>
|
15294
15619
|
</fo:block>
|
15295
15620
|
</xsl:template>
|
@@ -15326,6 +15651,8 @@
|
|
15326
15651
|
|
15327
15652
|
<xsl:call-template name="refine_clause_style"/>
|
15328
15653
|
|
15654
|
+
<xsl:call-template name="addReviewHelper"/>
|
15655
|
+
|
15329
15656
|
<xsl:apply-templates/>
|
15330
15657
|
</fo:block>
|
15331
15658
|
</xsl:template>
|
@@ -15378,6 +15705,23 @@
|
|
15378
15705
|
|
15379
15706
|
<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
|
15380
15707
|
|
15708
|
+
<xsl:if test="1 = 1">
|
15709
|
+
<xsl:choose>
|
15710
|
+
<!-- if there isn't the attribute '@from', then -->
|
15711
|
+
<xsl:when test="$id_from = ''">
|
15712
|
+
<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>
|
15713
|
+
</xsl:when>
|
15714
|
+
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
15715
|
+
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
15716
|
+
<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>
|
15717
|
+
</xsl:when>
|
15718
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
15719
|
+
<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>
|
15720
|
+
</xsl:when>
|
15721
|
+
</xsl:choose>
|
15722
|
+
</xsl:if>
|
15723
|
+
|
15724
|
+
<xsl:if test="1 = 2">
|
15381
15725
|
<xsl:choose>
|
15382
15726
|
<!-- if there isn't the attribute '@from', then -->
|
15383
15727
|
<xsl:when test="$id_from = ''">
|
@@ -15391,6 +15735,7 @@
|
|
15391
15735
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
15392
15736
|
</xsl:when>
|
15393
15737
|
</xsl:choose>
|
15738
|
+
</xsl:if>
|
15394
15739
|
|
15395
15740
|
</xsl:template>
|
15396
15741
|
|
@@ -16545,9 +16890,9 @@
|
|
16545
16890
|
</xsl:if>
|
16546
16891
|
|
16547
16892
|
<xsl:if test="@type != 'editorial'">
|
16548
|
-
<xsl:call-template name="displayAdmonitionName"
|
16549
|
-
|
16550
|
-
|
16893
|
+
<xsl:call-template name="displayAdmonitionName"/>
|
16894
|
+
<!-- https://github.com/metanorma/isodoc/issues/614 -->
|
16895
|
+
<!-- <xsl:with-param name="sep"> — </xsl:with-param> -->
|
16551
16896
|
</xsl:if>
|
16552
16897
|
|
16553
16898
|
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
@@ -16696,6 +17041,10 @@
|
|
16696
17041
|
<!-- - Remove semantic xml part -->
|
16697
17042
|
<!-- - Remove image/emf (EMF vector image for Word) -->
|
16698
17043
|
<!-- - add @id, redundant for table auto-layout algorithm -->
|
17044
|
+
<!-- - process 'passthrough' element -->
|
17045
|
+
<!-- - split math by element with @linebreak into maths -->
|
17046
|
+
<!-- - rename fmt-title to title, fmt-name to name and another changes to convert new presentation XML to -->
|
17047
|
+
<!-- - old XML without significant changes in XSLT -->
|
16699
17048
|
<!-- =========================================================================== -->
|
16700
17049
|
<xsl:template match="@*|node()" mode="update_xml_step1">
|
16701
17050
|
<xsl:copy>
|
@@ -16703,6 +17052,12 @@
|
|
16703
17052
|
</xsl:copy>
|
16704
17053
|
</xsl:template>
|
16705
17054
|
|
17055
|
+
<xsl:template match="@*|node()" mode="update_xml_pres">
|
17056
|
+
<xsl:copy>
|
17057
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_pres"/>
|
17058
|
+
</xsl:copy>
|
17059
|
+
</xsl:template>
|
17060
|
+
|
16706
17061
|
<!-- change section's order based on @displayorder value -->
|
16707
17062
|
<xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
16708
17063
|
<xsl:copy>
|
@@ -16779,7 +17134,7 @@
|
|
16779
17134
|
</xsl:template>
|
16780
17135
|
|
16781
17136
|
<!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
16782
|
-
<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">
|
17137
|
+
<xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear' or @class = 'horizontal' or @class = 'norotate' or @class = 'halffontsize']" mode="update_xml_step1" priority="2">
|
16783
17138
|
<xsl:copy>
|
16784
17139
|
<xsl:copy-of select="@*"/>
|
16785
17140
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -16798,14 +17153,17 @@
|
|
16798
17153
|
|
16799
17154
|
<!-- remove semantic xml -->
|
16800
17155
|
<xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_step1"/>
|
17156
|
+
<xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_pres"/>
|
16801
17157
|
|
16802
17158
|
<!-- remove image/emf -->
|
16803
17159
|
<xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_step1"/>
|
17160
|
+
<xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_pres"/>
|
16804
17161
|
|
16805
17162
|
<!-- remove preprocess-xslt -->
|
16806
17163
|
<xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
|
17164
|
+
<xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_pres"/>
|
16807
17165
|
|
16808
|
-
<xsl:template match="*[local-name() = 'stem'] | *[local-name() = 'image'] | *[local-name() = 'sourcecode'] | *[local-name() = 'bibdata'] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
|
17166
|
+
<xsl:template match="*[local-name() = 'stem'][not(.//*[local-name() = 'passthrough']) and not(.//*[@linebreak])] | *[local-name() = 'image'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'sourcecode'][not(.//*[local-name() = 'passthrough']) and not(.//*[local-name() = 'fmt-name'])] | *[local-name() = 'bibdata'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
|
16809
17167
|
<xsl:copy-of select="."/>
|
16810
17168
|
</xsl:template>
|
16811
17169
|
|
@@ -16871,6 +17229,93 @@
|
|
16871
17229
|
</xsl:choose>
|
16872
17230
|
</xsl:template>
|
16873
17231
|
|
17232
|
+
<xsl:variable name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
|
17233
|
+
<xsl:template match="*[local-name() = 'passthrough']" mode="update_xml_step1">
|
17234
|
+
<!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
|
17235
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
|
17236
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
17237
|
+
</xsl:if>
|
17238
|
+
</xsl:template>
|
17239
|
+
|
17240
|
+
<!-- split math by element with @linebreak into maths -->
|
17241
|
+
<xsl:template match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
|
17242
|
+
<xsl:variable name="maths">
|
17243
|
+
<xsl:apply-templates select="." mode="mathml_linebreak"/>
|
17244
|
+
</xsl:variable>
|
17245
|
+
<xsl:copy-of select="$maths"/>
|
17246
|
+
</xsl:template>
|
17247
|
+
|
17248
|
+
<!-- update new Presentation XML -->
|
17249
|
+
<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_step1"/>
|
17250
|
+
<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_pres"/>
|
17251
|
+
<xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_step1"/>
|
17252
|
+
<xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_pres"/>
|
17253
|
+
<xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
|
17254
|
+
<xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_pres"/>
|
17255
|
+
|
17256
|
+
<xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_step1">
|
17257
|
+
<xsl:copy>
|
17258
|
+
<xsl:apply-templates select="@*" mode="update_xml_step1"/>
|
17259
|
+
<xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
|
17260
|
+
<xsl:apply-templates select="node()" mode="update_xml_step1"/>
|
17261
|
+
</xsl:copy>
|
17262
|
+
</xsl:template>
|
17263
|
+
<xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_pres">
|
17264
|
+
<xsl:copy>
|
17265
|
+
<xsl:apply-templates select="@*" mode="update_xml_pres"/>
|
17266
|
+
<xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
|
17267
|
+
<xsl:apply-templates select="node()" mode="update_xml_pres"/>
|
17268
|
+
</xsl:copy>
|
17269
|
+
</xsl:template>
|
17270
|
+
|
17271
|
+
<xsl:template match="*[local-name() = 'fmt-title']"/>
|
17272
|
+
<xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_step1">
|
17273
|
+
<xsl:element name="title" namespace="{$namespace_full}">
|
17274
|
+
<xsl:copy-of select="@*"/>
|
17275
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
17276
|
+
</xsl:element>
|
17277
|
+
</xsl:template>
|
17278
|
+
<xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_pres">
|
17279
|
+
<xsl:element name="title" namespace="{$namespace_full}">
|
17280
|
+
<xsl:copy-of select="@*"/>
|
17281
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
17282
|
+
</xsl:element>
|
17283
|
+
</xsl:template>
|
17284
|
+
|
17285
|
+
<xsl:template match="*[local-name() = 'fmt-name']"/>
|
17286
|
+
<xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_step1">
|
17287
|
+
<xsl:element name="name" namespace="{$namespace_full}">
|
17288
|
+
<xsl:copy-of select="@*"/>
|
17289
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
17290
|
+
</xsl:element>
|
17291
|
+
</xsl:template>
|
17292
|
+
<xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
|
17293
|
+
<xsl:element name="name" namespace="{$namespace_full}">
|
17294
|
+
<xsl:copy-of select="@*"/>
|
17295
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
17296
|
+
</xsl:element>
|
17297
|
+
</xsl:template>
|
17298
|
+
|
17299
|
+
<xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
|
17300
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
17301
|
+
</xsl:template>
|
17302
|
+
<xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_pres" priority="3">
|
17303
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
17304
|
+
</xsl:template>
|
17305
|
+
|
17306
|
+
<xsl:template match="*[local-name() = 'semx']" mode="update_xml_step1">
|
17307
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
17308
|
+
</xsl:template>
|
17309
|
+
<xsl:template match="*[local-name() = 'semx']" mode="update_xml_pres">
|
17310
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
17311
|
+
</xsl:template>
|
17312
|
+
|
17313
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']"/>
|
17314
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_step1"/>
|
17315
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_pres"/>
|
17316
|
+
|
17317
|
+
<!-- END: update new Presentation XML -->
|
17318
|
+
|
16874
17319
|
<!-- =========================================================================== -->
|
16875
17320
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
16876
17321
|
<!-- =========================================================================== -->
|
@@ -16974,6 +17419,8 @@
|
|
16974
17419
|
|
16975
17420
|
<xsl:template name="insertOpeningElements">
|
16976
17421
|
<xsl:param name="tree"/>
|
17422
|
+
<xsl:param name="xmlns"/>
|
17423
|
+
<xsl:param name="add_continue">true</xsl:param>
|
16977
17424
|
<xsl:for-each select="$tree//element">
|
16978
17425
|
<xsl:text disable-output-escaping="yes"><</xsl:text>
|
16979
17426
|
<xsl:value-of select="."/>
|
@@ -16984,7 +17431,8 @@
|
|
16984
17431
|
<xsl:value-of select="."/>
|
16985
17432
|
<xsl:text>"</xsl:text>
|
16986
17433
|
</xsl:for-each>
|
16987
|
-
<xsl:if test="position() = 1"> continue="true"</xsl:if>
|
17434
|
+
<xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
|
17435
|
+
<xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
|
16988
17436
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
16989
17437
|
<xsl:if test="$debug = 'true'">
|
16990
17438
|
<xsl:message><<xsl:value-of select="."/>></xsl:message>
|
@@ -17164,7 +17612,7 @@
|
|
17164
17612
|
<xsl:variable name="non_white_space">[^\s\u3000-\u9FFF]</xsl:variable>
|
17165
17613
|
<xsl:variable name="regex_dots_units">((\b((<xsl:value-of select="$non_white_space"/>{1,3}\.<xsl:value-of select="$non_white_space"/>+)|(<xsl:value-of select="$non_white_space"/>+\.<xsl:value-of select="$non_white_space"/>{1,3}))\b)|(\.<xsl:value-of select="$non_white_space"/>{1,3})\b)</xsl:variable>
|
17166
17614
|
|
17167
|
-
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or ancestor::*[local-name() = 'svg'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
|
17615
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or ancestor::*[local-name() = 'svg'] or ancestor::*[local-name() = 'name'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
|
17168
17616
|
|
17169
17617
|
<xsl:variable name="parent" select="local-name(..)"/>
|
17170
17618
|
|
@@ -17766,6 +18214,7 @@
|
|
17766
18214
|
</pdf:catalog>
|
17767
18215
|
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
17768
18216
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
18217
|
+
<!-- Commented after upgrade to Apache FOP 2.10
|
17769
18218
|
<rdf:Description xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" rdf:about="">
|
17770
18219
|
<pdfaExtension:schemas>
|
17771
18220
|
<rdf:Bag>
|
@@ -17798,7 +18247,7 @@
|
|
17798
18247
|
</rdf:li>
|
17799
18248
|
</rdf:Bag>
|
17800
18249
|
</pdfaExtension:schemas>
|
17801
|
-
</rdf:Description>
|
18250
|
+
</rdf:Description> -->
|
17802
18251
|
<rdf:Description xmlns:pdf="http://ns.adobe.com/pdf/1.3/" xmlns:dc="http://purl.org/dc/elements/1.1/" rdf:about="">
|
17803
18252
|
<!-- Dublin Core properties go here -->
|
17804
18253
|
<dc:title>
|
@@ -17845,7 +18294,7 @@
|
|
17845
18294
|
<xsl:variable name="dc_description">
|
17846
18295
|
<xsl:variable name="abstract">
|
17847
18296
|
|
17848
|
-
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
|
18297
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'fmt-title']) and not(ancestor::*[local-name() = 'title']) and not(ancestor::*[local-name() = 'fmt-xref-label'])]"/>
|
17849
18298
|
|
17850
18299
|
</xsl:variable>
|
17851
18300
|
<rdf:Alt>
|
@@ -18390,31 +18839,123 @@
|
|
18390
18839
|
|
18391
18840
|
<!-- END: insert cover page image -->
|
18392
18841
|
|
18393
|
-
|
18842
|
+
<!-- https://github.com/metanorma/docs/blob/main/109.adoc -->
|
18843
|
+
<xsl:variable name="regex_ja_spec_">[
|
18844
|
+
<!-- Rotate 90° clockwise -->
|
18845
|
+
\u0028 <!-- U+0028 LEFT PARENTHESIS (() -->
|
18846
|
+
\uFF08 <!-- U+FF08 FULLWIDTH LEFT PARENTHESIS (() -->
|
18847
|
+
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
18848
|
+
\uFF09 <!-- U+FF09 FULLWIDTH RIGHT PARENTHESIS ()) -->
|
18849
|
+
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
18850
|
+
\uFF5B <!-- U+FF5B FULLWIDTH LEFT CURLY BRACKET ({) -->
|
18851
|
+
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
18852
|
+
\uFF5D <!-- U+FF5D FULLWIDTH RIGHT CURLY BRACKET (}) -->
|
18853
|
+
\u3014 <!-- U+3014 LEFT TORTOISE SHELL BRACKET (〔) -->
|
18854
|
+
\u3015 <!-- U+3015 RIGHT TORTOISE SHELL BRACKET (〕) -->
|
18855
|
+
\u3010 <!-- U+3010 LEFT BLACK LENTICULAR BRACKET (【) -->
|
18856
|
+
\u3011 <!-- U+3011 RIGHT BLACK LENTICULAR BRACKET (】) -->
|
18857
|
+
\u300A <!-- U+300A LEFT DOUBLE ANGLE BRACKET (《) -->
|
18858
|
+
\u300B <!-- U+300B RIGHT DOUBLE ANGLE BRACKET (》) -->
|
18859
|
+
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
18860
|
+
\u300C <!-- U+300C LEFT CORNER BRACKET (「) -->
|
18861
|
+
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
18862
|
+
\u300D <!-- U+300D RIGHT CORNER BRACKET (」) -->
|
18863
|
+
\u300E <!-- U+300E LEFT WHITE CORNER BRACKET (『) -->
|
18864
|
+
\u300F <!-- U+300F RIGHT WHITE CORNER BRACKET (』) -->
|
18865
|
+
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
18866
|
+
\uFF3B <!-- U+FF3B FULLWIDTH LEFT SQUARE BRACKET ([) -->
|
18867
|
+
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
18868
|
+
\uFF3D <!-- U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (]) -->
|
18869
|
+
\u3008 <!-- U+3008 LEFT ANGLE BRACKET (〈) -->
|
18870
|
+
\u3009 <!-- U+3009 RIGHT ANGLE BRACKET (〉) -->
|
18871
|
+
\u3016 <!-- U+3016 LEFT WHITE LENTICULAR BRACKET (〖) -->
|
18872
|
+
\u3017 <!-- U+3017 RIGHT WHITE LENTICULAR BRACKET (〗) -->
|
18873
|
+
|
18874
|
+
\u301A <!-- U+301A LEFT WHITE SQUARE BRACKET (〚) -->
|
18875
|
+
\u301B <!-- U+301B RIGHT WHITE SQUARE BRACKET (〛) -->
|
18876
|
+
\u301C <!-- U+301C WAVE DASH (〜) -->
|
18877
|
+
\u3030 <!-- U+3030 WAVY DASH (〰 )-->
|
18878
|
+
\u30FC <!-- U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (ー) -->
|
18879
|
+
\u2329 <!-- U+2329 LEFT-POINTING ANGLE BRACKET (〈) -->
|
18880
|
+
\u232A <!-- U+232A RIGHT-POINTING ANGLE BRACKET (〉) -->
|
18881
|
+
\u3018 <!-- U+3018 LEFT WHITE TORTOISE SHELL BRACKET (〘) -->
|
18882
|
+
\u3019 <!-- U+3019 RIGHT WHITE TORTOISE SHELL BRACKET (〙) -->
|
18883
|
+
\u30A0 <!-- U+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (゠) -->
|
18884
|
+
\uFE59 <!-- U+FE59 SMALL LEFT PARENTHESIS (﹙) -->
|
18885
|
+
\uFE5A <!-- U+FE5A SMALL RIGHT PARENTHESIS (﹚) -->
|
18886
|
+
\uFE5B <!-- U+FE5B SMALL LEFT CURLY BRACKET (﹛) -->
|
18887
|
+
\uFE5C <!-- U+FE5C SMALL RIGHT CURLY BRACKET (﹜) -->
|
18888
|
+
\uFE5D <!-- U+FE5D SMALL LEFT TORTOISE SHELL BRACKET (﹝) -->
|
18889
|
+
\uFE5E <!-- U+FE5E SMALL RIGHT TORTOISE SHELL BRACKET (﹞) -->
|
18890
|
+
\uFF5C <!-- U+FF5C FULLWIDTH VERTICAL LINE (|) -->
|
18891
|
+
\uFF5F <!-- U+FF5F FULLWIDTH LEFT WHITE PARENTHESIS (⦅) -->
|
18892
|
+
\uFF60 <!-- U+FF60 FULLWIDTH RIGHT WHITE PARENTHESIS (⦆) -->
|
18893
|
+
\uFFE3 <!-- U+FFE3 FULLWIDTH MACRON ( ̄) -->
|
18894
|
+
\uFF3F <!-- U+FF3F FULLWIDTH LOW LINE (_) -->
|
18895
|
+
\uFF5E <!-- U+FF5E FULLWIDTH TILDE (~) -->
|
18896
|
+
<!-- Rotate 180° -->
|
18897
|
+
\u309C <!-- U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜) -->
|
18898
|
+
\u3002 <!-- U+3002 IDEOGRAPHIC FULL STOP (。) -->
|
18899
|
+
\uFE52 <!-- U+FE52 SMALL FULL STOP (﹒) -->
|
18900
|
+
\uFF0E <!-- U+FF0E FULLWIDTH FULL STOP (.) -->
|
18901
|
+
]</xsl:variable>
|
18902
|
+
<xsl:variable name="regex_ja_spec"><xsl:value-of select="translate(normalize-space($regex_ja_spec_), ' ', '')"/></xsl:variable>
|
18394
18903
|
<xsl:template name="insertVerticalChar">
|
18395
18904
|
<xsl:param name="str"/>
|
18396
18905
|
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
18397
18906
|
<xsl:param name="reference-orientation">90</xsl:param>
|
18398
|
-
<xsl:
|
18399
|
-
|
18400
|
-
|
18401
|
-
|
18402
|
-
|
18403
|
-
|
18404
|
-
<xsl:
|
18405
|
-
|
18406
|
-
<xsl:
|
18907
|
+
<xsl:param name="add_zero_width_space">false</xsl:param>
|
18908
|
+
<xsl:choose>
|
18909
|
+
<xsl:when test="ancestor::*[local-name() = 'span'][@class = 'norotate']">
|
18910
|
+
<xsl:value-of select="$str"/>
|
18911
|
+
</xsl:when>
|
18912
|
+
<xsl:otherwise>
|
18913
|
+
<xsl:if test="string-length($str) > 0">
|
18914
|
+
<xsl:variable name="horizontal_mode" select="normalize-space(ancestor::*[local-name() = 'span'][@class = 'horizontal'] and 1 = 1)"/>
|
18915
|
+
<xsl:variable name="char" select="substring($str,1,1)"/>
|
18916
|
+
<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
|
18917
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
18918
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
18919
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
18920
|
+
</xsl:if>
|
18921
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
|
18922
|
+
<xsl:attribute name="reference-orientation">0</xsl:attribute>
|
18923
|
+
</xsl:if>
|
18924
|
+
<xsl:if test="$char = '゜' or $char = '。' or $char = '﹒' or $char = '.'">
|
18925
|
+
<!-- Rotate 180°:
|
18926
|
+
U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜)
|
18927
|
+
U+3002 IDEOGRAPHIC FULL STOP (。)
|
18928
|
+
U+FE52 SMALL FULL STOP (﹒)
|
18929
|
+
U+FF0E FULLWIDTH FULL STOP (.)
|
18930
|
+
-->
|
18931
|
+
<xsl:attribute name="reference-orientation">-90</xsl:attribute>
|
18932
|
+
</xsl:if>
|
18933
|
+
<fo:block-container width="1em">
|
18934
|
+
<fo:block line-height="1em">
|
18935
|
+
<xsl:choose>
|
18936
|
+
<xsl:when test="$horizontal_mode = 'true'">
|
18937
|
+
<xsl:value-of select="$str"/>
|
18938
|
+
</xsl:when>
|
18939
|
+
<xsl:otherwise>
|
18940
|
+
<xsl:value-of select="$char"/>
|
18941
|
+
</xsl:otherwise>
|
18942
|
+
</xsl:choose>
|
18943
|
+
</fo:block>
|
18944
|
+
</fo:block-container>
|
18945
|
+
</fo:inline-container>
|
18946
|
+
<xsl:if test="$add_zero_width_space = 'true' and ($char = ',' or $char = '.' or $char = ' ' or $char = '·' or $char = ')' or $char = ']' or $char = '}')"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
18947
|
+
|
18948
|
+
<xsl:if test="$horizontal_mode = 'false'">
|
18949
|
+
<xsl:call-template name="insertVerticalChar">
|
18950
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
18951
|
+
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
18952
|
+
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
18953
|
+
<xsl:with-param name="add_zero_width_space" select="$add_zero_width_space"/>
|
18954
|
+
</xsl:call-template>
|
18955
|
+
</xsl:if>
|
18407
18956
|
</xsl:if>
|
18408
|
-
|
18409
|
-
|
18410
|
-
</fo:block-container>
|
18411
|
-
</fo:inline-container>
|
18412
|
-
<xsl:call-template name="insertVerticalChar">
|
18413
|
-
<xsl:with-param name="str" select="substring($str, 2)"/>
|
18414
|
-
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
18415
|
-
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
18416
|
-
</xsl:call-template>
|
18417
|
-
</xsl:if>
|
18957
|
+
</xsl:otherwise>
|
18958
|
+
</xsl:choose>
|
18418
18959
|
</xsl:template>
|
18419
18960
|
|
18420
18961
|
<xsl:template name="number-to-words">
|