metanorma-iso 2.8.8 → 2.9.0
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 +5 -41
- data/lib/isodoc/iso/html/word_iso_intro-dis.html +4 -2
- data/lib/isodoc/iso/html/word_iso_intro.html +4 -1
- data/lib/isodoc/iso/iso.amendment.xsl +271 -57
- data/lib/isodoc/iso/iso.international-standard.xsl +271 -57
- data/lib/isodoc/iso/presentation_bibdata.rb +1 -1
- data/lib/isodoc/iso/presentation_terms.rb +0 -13
- data/lib/isodoc/iso/presentation_xml_convert.rb +29 -20
- data/lib/isodoc/iso/presentation_xref.rb +2 -0
- data/lib/isodoc/iso/sections.rb +1 -1
- data/lib/isodoc/iso/word_cleanup.rb +33 -17
- data/lib/isodoc/iso/xref_section.rb +4 -4
- data/lib/metanorma/iso/boilerplate-fr.adoc +4 -0
- data/lib/metanorma/iso/boilerplate-ru.adoc +3 -0
- data/lib/metanorma/iso/boilerplate.adoc +4 -0
- data/lib/metanorma/iso/front.rb +5 -0
- data/lib/metanorma/iso/front_contributor.rb +1 -3
- data/lib/metanorma/iso/isodoc.rng +1 -1
- data/lib/metanorma/iso/relaton-iso.rng +8 -0
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +1 -1
- metadata +4 -4
@@ -3731,6 +3731,21 @@
|
|
3731
3731
|
</xsl:choose>
|
3732
3732
|
</xsl:template>
|
3733
3733
|
|
3734
|
+
<xsl:template match="iso:copyright-statement/iso:clause" priority="3">
|
3735
|
+
<fo:block role="SKIP">
|
3736
|
+
<xsl:if test="@id = 'boilerplate-copyright-default' and ../iso:clause[not(@id = 'boilerplate-copyright-default')]">
|
3737
|
+
<xsl:attribute name="color">blue</xsl:attribute>
|
3738
|
+
<xsl:attribute name="border">1pt solid blue</xsl:attribute>
|
3739
|
+
<xsl:attribute name="padding">1mm</xsl:attribute>
|
3740
|
+
</xsl:if>
|
3741
|
+
<xsl:if test="not(@id = 'boilerplate-copyright-default') and preceding-sibling::iso:clause">
|
3742
|
+
<xsl:attribute name="margin-top">5mm</xsl:attribute>
|
3743
|
+
</xsl:if>
|
3744
|
+
<xsl:copy-of select="@id"/>
|
3745
|
+
<xsl:apply-templates/>
|
3746
|
+
</fo:block>
|
3747
|
+
</xsl:template>
|
3748
|
+
|
3734
3749
|
<xsl:template match="iso:copyright-statement//iso:p" priority="2">
|
3735
3750
|
<xsl:choose>
|
3736
3751
|
<xsl:when test="$layoutVersion = '1951'">
|
@@ -3777,7 +3792,7 @@
|
|
3777
3792
|
<xsl:attribute name="margin-left">0.5mm</xsl:attribute>
|
3778
3793
|
<xsl:attribute name="margin-right">0.5mm</xsl:attribute>
|
3779
3794
|
</xsl:if>
|
3780
|
-
<xsl:if test="contains(@id, 'address')">
|
3795
|
+
<xsl:if test="contains(@id, 'address') or contains(normalize-space(), 'Tel:') or contains(normalize-space(), 'Phone:')">
|
3781
3796
|
<xsl:attribute name="margin-left">4.5mm</xsl:attribute>
|
3782
3797
|
</xsl:if>
|
3783
3798
|
<xsl:apply-templates/>
|
@@ -4415,6 +4430,8 @@
|
|
4415
4430
|
</xsl:if>
|
4416
4431
|
</xsl:if>
|
4417
4432
|
|
4433
|
+
<xsl:call-template name="addReviewHelper"/>
|
4434
|
+
|
4418
4435
|
<xsl:call-template name="processElementContent"/>
|
4419
4436
|
</fo:block>
|
4420
4437
|
</xsl:template>
|
@@ -4431,6 +4448,8 @@
|
|
4431
4448
|
|
4432
4449
|
<xsl:call-template name="refine_clause_style"/>
|
4433
4450
|
|
4451
|
+
<xsl:call-template name="addReviewHelper"/>
|
4452
|
+
|
4434
4453
|
<xsl:call-template name="processElementContent"/>
|
4435
4454
|
|
4436
4455
|
</fo:block>
|
@@ -9207,10 +9226,14 @@
|
|
9207
9226
|
<xsl:variable name="fn_styles">
|
9208
9227
|
<xsl:choose>
|
9209
9228
|
<xsl:when test="ancestor::*[local-name() = 'bibitem']">
|
9210
|
-
<fn_styles xsl:use-attribute-sets="bibitem-note-fn-style"
|
9229
|
+
<fn_styles xsl:use-attribute-sets="bibitem-note-fn-style">
|
9230
|
+
|
9231
|
+
</fn_styles>
|
9211
9232
|
</xsl:when>
|
9212
9233
|
<xsl:otherwise>
|
9213
|
-
<fn_styles xsl:use-attribute-sets="fn-num-style"
|
9234
|
+
<fn_styles xsl:use-attribute-sets="fn-num-style">
|
9235
|
+
|
9236
|
+
</fn_styles>
|
9214
9237
|
</xsl:otherwise>
|
9215
9238
|
</xsl:choose>
|
9216
9239
|
</xsl:variable>
|
@@ -9353,6 +9376,11 @@
|
|
9353
9376
|
|
9354
9377
|
<xsl:value-of select="@reference"/>
|
9355
9378
|
|
9379
|
+
<!-- commented https://github.com/metanorma/isodoc/issues/614 -->
|
9380
|
+
<!-- <xsl:if test="$namespace = 'itu'">
|
9381
|
+
<xsl:text>)</xsl:text>
|
9382
|
+
</xsl:if> -->
|
9383
|
+
|
9356
9384
|
</fo:inline>
|
9357
9385
|
<fo:inline xsl:use-attribute-sets="table-fn-body-style">
|
9358
9386
|
<xsl:copy-of select="./node()"/>
|
@@ -9362,7 +9390,7 @@
|
|
9362
9390
|
|
9363
9391
|
</xsl:if>
|
9364
9392
|
</xsl:for-each>
|
9365
|
-
</xsl:template>
|
9393
|
+
</xsl:template> <!-- table_fn_display -->
|
9366
9394
|
|
9367
9395
|
<xsl:template name="create_fn">
|
9368
9396
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
@@ -9390,8 +9418,10 @@
|
|
9390
9418
|
<!-- EMD table's footnotes rendering -->
|
9391
9419
|
<!-- ============================ -->
|
9392
9420
|
|
9421
|
+
<!-- ============================ -->
|
9393
9422
|
<!-- figure's footnotes rendering -->
|
9394
|
-
|
9423
|
+
<!-- ============================ -->
|
9424
|
+
<xsl:template name="fn_display_figure"> <!-- figure_fn_display -->
|
9395
9425
|
|
9396
9426
|
<!-- current figure id -->
|
9397
9427
|
<xsl:variable name="figure_id_">
|
@@ -9504,9 +9534,28 @@
|
|
9504
9534
|
|
9505
9535
|
</fo:block>
|
9506
9536
|
</xsl:if>
|
9507
|
-
|
9508
9537
|
</xsl:template> <!-- fn_display_figure -->
|
9509
9538
|
|
9539
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
9540
|
+
<!-- figure's footnote label -->
|
9541
|
+
<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">
|
9542
|
+
<xsl:variable name="key_iso">
|
9543
|
+
true
|
9544
|
+
</xsl:variable>
|
9545
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
9546
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
9547
|
+
|
9548
|
+
</xsl:if>
|
9549
|
+
<fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}" -->
|
9550
|
+
<!-- <xsl:value-of select="@reference"/> -->
|
9551
|
+
<xsl:apply-templates/>
|
9552
|
+
</fo:inline>
|
9553
|
+
</xsl:template>
|
9554
|
+
|
9555
|
+
<!-- ============================ -->
|
9556
|
+
<!-- END: figure's footnotes rendering -->
|
9557
|
+
<!-- ============================ -->
|
9558
|
+
|
9510
9559
|
<!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
|
9511
9560
|
<xsl:template match="*[local-name()='fn']">
|
9512
9561
|
<fo:inline xsl:use-attribute-sets="fn-reference-style">
|
@@ -9522,6 +9571,10 @@
|
|
9522
9571
|
|
9523
9572
|
<xsl:value-of select="@reference"/>
|
9524
9573
|
|
9574
|
+
<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
|
9575
|
+
<!-- <xsl:if test="$namespace = 'jis'">
|
9576
|
+
<fo:inline font-weight="normal">)</fo:inline>
|
9577
|
+
</xsl:if> -->
|
9525
9578
|
</fo:basic-link>
|
9526
9579
|
</fo:inline>
|
9527
9580
|
</xsl:template>
|
@@ -9652,17 +9705,22 @@
|
|
9652
9705
|
</fo:block>
|
9653
9706
|
</xsl:when> <!-- END: a few components -->
|
9654
9707
|
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
|
9655
|
-
|
9708
|
+
<!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
|
9709
|
+
<xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
|
9656
9710
|
|
9657
|
-
|
9711
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
9658
9712
|
|
9659
|
-
|
9660
|
-
|
9661
|
-
|
9662
|
-
|
9663
|
-
|
9664
|
-
|
9665
|
-
|
9713
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
9714
|
+
|
9715
|
+
<xsl:variable name="title-key">
|
9716
|
+
<xsl:call-template name="getLocalizedString">
|
9717
|
+
<xsl:with-param name="key">key</xsl:with-param>
|
9718
|
+
</xsl:call-template>
|
9719
|
+
</xsl:variable>
|
9720
|
+
<xsl:value-of select="$title-key"/>
|
9721
|
+
</fo:block>
|
9722
|
+
|
9723
|
+
</xsl:if>
|
9666
9724
|
</xsl:when> <!-- END: definition list in a figure -->
|
9667
9725
|
</xsl:choose>
|
9668
9726
|
|
@@ -9852,6 +9910,14 @@
|
|
9852
9910
|
|
9853
9911
|
</xsl:template> <!-- END: dl -->
|
9854
9912
|
|
9913
|
+
<!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
|
9914
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
|
9915
|
+
<fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
|
9916
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
9917
|
+
<xsl:apply-templates/>
|
9918
|
+
</fo:block>
|
9919
|
+
</xsl:template>
|
9920
|
+
|
9855
9921
|
<xsl:template name="refine_dl_formula_where_style">
|
9856
9922
|
|
9857
9923
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
@@ -11984,6 +12050,39 @@
|
|
11984
12050
|
</xsl:copy>
|
11985
12051
|
</xsl:template>
|
11986
12052
|
|
12053
|
+
<xsl:template match="@*|node()" mode="mathml_linebreak">
|
12054
|
+
<xsl:copy>
|
12055
|
+
<xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
|
12056
|
+
</xsl:copy>
|
12057
|
+
</xsl:template>
|
12058
|
+
|
12059
|
+
<!-- split math into two math -->
|
12060
|
+
<xsl:template match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
|
12061
|
+
<xsl:variable name="math_elements_tree_">
|
12062
|
+
<xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
|
12063
|
+
<element pos="{position()}">
|
12064
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/>
|
12065
|
+
<xsl:value-of select="name()"/>
|
12066
|
+
</element>
|
12067
|
+
</xsl:for-each>
|
12068
|
+
</xsl:variable>
|
12069
|
+
|
12070
|
+
<xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
|
12071
|
+
|
12072
|
+
<xsl:call-template name="insertClosingElements">
|
12073
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
12074
|
+
</xsl:call-template>
|
12075
|
+
|
12076
|
+
<xsl:element name="br" namespace="{$namespace_full}"/>
|
12077
|
+
|
12078
|
+
<xsl:call-template name="insertOpeningElements">
|
12079
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
12080
|
+
<xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
|
12081
|
+
<xsl:with-param name="add_continue">false</xsl:with-param>
|
12082
|
+
</xsl:call-template>
|
12083
|
+
|
12084
|
+
</xsl:template>
|
12085
|
+
|
11987
12086
|
<!-- Examples:
|
11988
12087
|
<stem type="AsciiMath">x = 1</stem>
|
11989
12088
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -12185,6 +12284,7 @@
|
|
12185
12284
|
<xsl:if test="string-length(normalize-space()) < 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
|
12186
12285
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
12187
12286
|
</xsl:if>
|
12287
|
+
|
12188
12288
|
<xsl:if test="parent::*[local-name() = 'add']">
|
12189
12289
|
<xsl:call-template name="append_add-style"/>
|
12190
12290
|
</xsl:if>
|
@@ -12236,9 +12336,11 @@
|
|
12236
12336
|
</xsl:template>
|
12237
12337
|
|
12238
12338
|
<xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
|
12339
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
12239
12340
|
<xsl:if test="normalize-space() != ''">
|
12240
|
-
<xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
|
12241
|
-
</xsl:if>
|
12341
|
+
<xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
|
12342
|
+
</xsl:if> -->
|
12343
|
+
<xsl:apply-templates/>
|
12242
12344
|
</xsl:template>
|
12243
12345
|
|
12244
12346
|
<!-- stem inside formula with name (with formula's number) -->
|
@@ -12295,44 +12397,44 @@
|
|
12295
12397
|
|
12296
12398
|
<xsl:template match="*[local-name() = 'note']" name="note">
|
12297
12399
|
|
12298
|
-
|
12400
|
+
<fo:block-container id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
|
12299
12401
|
|
12300
|
-
|
12402
|
+
<xsl:call-template name="setBlockSpanAll"/>
|
12301
12403
|
|
12302
|
-
|
12404
|
+
<xsl:call-template name="refine_note-style"/>
|
12303
12405
|
|
12304
|
-
|
12406
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
12305
12407
|
|
12306
|
-
|
12408
|
+
<fo:block>
|
12307
12409
|
|
12308
|
-
|
12410
|
+
<xsl:call-template name="refine_note_block_style"/>
|
12309
12411
|
|
12310
|
-
|
12412
|
+
<fo:inline xsl:use-attribute-sets="note-name-style" role="SKIP">
|
12311
12413
|
|
12312
|
-
|
12414
|
+
<xsl:call-template name="refine_note-name-style"/>
|
12313
12415
|
|
12314
|
-
|
12315
|
-
|
12316
|
-
|
12317
|
-
|
12318
|
-
|
12416
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
12417
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
12418
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
12419
|
+
<xsl:call-template name="append_add-style"/>
|
12420
|
+
</xsl:if>
|
12319
12421
|
|
12320
|
-
|
12321
|
-
|
12322
|
-
|
12323
|
-
|
12324
|
-
|
12325
|
-
|
12422
|
+
<!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
|
12423
|
+
<xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
12424
|
+
<xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
12425
|
+
<xsl:with-param name="skip">false</xsl:with-param>
|
12426
|
+
</xsl:apply-templates>
|
12427
|
+
</xsl:if>
|
12326
12428
|
|
12327
|
-
|
12429
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
12328
12430
|
|
12329
|
-
|
12431
|
+
</fo:inline>
|
12330
12432
|
|
12331
|
-
|
12332
|
-
|
12433
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
12434
|
+
</fo:block>
|
12333
12435
|
|
12334
|
-
|
12335
|
-
|
12436
|
+
</fo:block-container>
|
12437
|
+
</fo:block-container>
|
12336
12438
|
|
12337
12439
|
</xsl:template>
|
12338
12440
|
|
@@ -12417,10 +12519,21 @@
|
|
12417
12519
|
</xsl:when>
|
12418
12520
|
<xsl:otherwise>
|
12419
12521
|
|
12522
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
12523
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
12524
|
+
<xsl:text>—</xsl:text> em dash —
|
12525
|
+
</xsl:if> -->
|
12526
|
+
<!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
|
12527
|
+
<xsl:text>:</xsl:text>
|
12528
|
+
</xsl:if> -->
|
12529
|
+
|
12420
12530
|
<xsl:if test="$layoutVersion = '1987' and . = translate(.,'1234567890','')"> <!-- NOTE without number -->
|
12421
12531
|
<xsl:text> — </xsl:text>
|
12422
12532
|
</xsl:if>
|
12423
12533
|
|
12534
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
12535
|
+
<xsl:text> – </xsl:text> en dash –
|
12536
|
+
</xsl:if> -->
|
12424
12537
|
</xsl:otherwise>
|
12425
12538
|
</xsl:choose>
|
12426
12539
|
</xsl:variable>
|
@@ -12439,8 +12552,16 @@
|
|
12439
12552
|
</xsl:when>
|
12440
12553
|
<xsl:otherwise>
|
12441
12554
|
|
12555
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
12556
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
12557
|
+
<xsl:text>—</xsl:text> em dash —
|
12558
|
+
</xsl:if> -->
|
12559
|
+
<!-- <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'">
|
12442
12560
|
<xsl:text>:</xsl:text>
|
12443
|
-
|
12561
|
+
</xsl:if> -->
|
12562
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">
|
12563
|
+
<xsl:text> – </xsl:text> en dash –
|
12564
|
+
</xsl:if> -->
|
12444
12565
|
</xsl:otherwise>
|
12445
12566
|
</xsl:choose>
|
12446
12567
|
</xsl:variable>
|
@@ -14610,7 +14731,7 @@
|
|
14610
14731
|
<xsl:if test="normalize-space() != ''">
|
14611
14732
|
<fo:inline xsl:use-attribute-sets="termexample-name-style">
|
14612
14733
|
<xsl:call-template name="refine_termexample-name-style"/>
|
14613
|
-
<xsl:apply-templates/>
|
14734
|
+
<xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
|
14614
14735
|
</fo:inline>
|
14615
14736
|
</xsl:if>
|
14616
14737
|
</xsl:template>
|
@@ -14770,13 +14891,14 @@
|
|
14770
14891
|
</xsl:when>
|
14771
14892
|
<xsl:when test="contains(normalize-space($fo_element), 'block')">
|
14772
14893
|
<fo:block xsl:use-attribute-sets="example-name-style">
|
14894
|
+
|
14773
14895
|
<xsl:apply-templates/>
|
14774
14896
|
</fo:block>
|
14775
14897
|
</xsl:when>
|
14776
14898
|
<xsl:otherwise>
|
14777
14899
|
<fo:inline xsl:use-attribute-sets="example-name-style">
|
14778
14900
|
<xsl:call-template name="refine_example-name-style"/>
|
14779
|
-
<xsl:apply-templates/>
|
14901
|
+
<xsl:apply-templates/> <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614 -->
|
14780
14902
|
</fo:inline>
|
14781
14903
|
</xsl:otherwise>
|
14782
14904
|
</xsl:choose>
|
@@ -14785,6 +14907,7 @@
|
|
14785
14907
|
|
14786
14908
|
<xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
|
14787
14909
|
<fo:inline xsl:use-attribute-sets="example-name-style">
|
14910
|
+
|
14788
14911
|
<xsl:apply-templates/>
|
14789
14912
|
</fo:inline>
|
14790
14913
|
</xsl:template>
|
@@ -14967,15 +15090,17 @@
|
|
14967
15090
|
|
14968
15091
|
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
14969
15092
|
<fo:block role="BlockQuote">
|
14970
|
-
<xsl:apply-templates select="./node()[not(local-name() = 'author') and
|
15093
|
+
<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 -->
|
14971
15094
|
</fo:block>
|
14972
15095
|
</fo:block-container>
|
14973
15096
|
</fo:block-container>
|
14974
|
-
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
15097
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
|
14975
15098
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
14976
15099
|
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
14977
15100
|
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
14978
15101
|
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
15102
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
15103
|
+
<xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
|
14979
15104
|
</fo:block>
|
14980
15105
|
</xsl:if>
|
14981
15106
|
|
@@ -14997,9 +15122,13 @@
|
|
14997
15122
|
</xsl:template>
|
14998
15123
|
|
14999
15124
|
<xsl:template match="*[local-name() = 'author']">
|
15000
|
-
<xsl:
|
15125
|
+
<xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
|
15126
|
+
<xsl:text>— </xsl:text>
|
15127
|
+
</xsl:if>
|
15001
15128
|
<xsl:apply-templates/>
|
15002
15129
|
</xsl:template>
|
15130
|
+
|
15131
|
+
<xsl:template match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
|
15003
15132
|
<!-- ====== -->
|
15004
15133
|
<!-- ====== -->
|
15005
15134
|
|
@@ -15166,20 +15295,26 @@
|
|
15166
15295
|
|
15167
15296
|
<xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
|
15168
15297
|
<fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
|
15298
|
+
|
15169
15299
|
<xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
|
15170
15300
|
</fo:block>
|
15171
15301
|
</xsl:if>
|
15172
15302
|
|
15173
15303
|
<fo:block xsl:use-attribute-sets="preferred-term-style" role="SKIP">
|
15174
15304
|
<xsl:call-template name="setStyle_preferred"/>
|
15305
|
+
|
15175
15306
|
<xsl:apply-templates/>
|
15176
15307
|
</fo:block>
|
15177
15308
|
</fo:block>
|
15178
15309
|
</xsl:template>
|
15179
15310
|
|
15180
15311
|
<xsl:template match="*[local-name() = 'domain']">
|
15312
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
15181
15313
|
<fo:inline xsl:use-attribute-sets="domain-style"><<xsl:apply-templates/>></fo:inline>
|
15182
|
-
<xsl:text> </xsl:text>
|
15314
|
+
<xsl:text> </xsl:text> -->
|
15315
|
+
<xsl:if test="not(@hidden = 'true')">
|
15316
|
+
<xsl:apply-templates/>
|
15317
|
+
</xsl:if>
|
15183
15318
|
</xsl:template>
|
15184
15319
|
|
15185
15320
|
<xsl:template match="*[local-name() = 'admitted']">
|
@@ -15227,6 +15362,29 @@
|
|
15227
15362
|
<!-- END definition -->
|
15228
15363
|
<!-- ========== -->
|
15229
15364
|
|
15365
|
+
<xsl:variable name="reviews_">
|
15366
|
+
<xsl:for-each select="//*[local-name() = 'review'][@from]">
|
15367
|
+
<xsl:copy>
|
15368
|
+
<xsl:copy-of select="@from"/>
|
15369
|
+
<xsl:copy-of select="@id"/>
|
15370
|
+
</xsl:copy>
|
15371
|
+
</xsl:for-each>
|
15372
|
+
</xsl:variable>
|
15373
|
+
<xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
|
15374
|
+
|
15375
|
+
<xsl:template name="addReviewHelper">
|
15376
|
+
<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
|
15377
|
+
<xsl:variable name="curr_id" select="@id"/>
|
15378
|
+
<xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
|
15379
|
+
<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
|
15380
|
+
<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>
|
15381
|
+
</xsl:if>
|
15382
|
+
<!-- <fo:block>
|
15383
|
+
<curr_id><xsl:value-of select="$curr_id"/></curr_id>
|
15384
|
+
<xsl:copy-of select="$reviews"/>
|
15385
|
+
</fo:block> -->
|
15386
|
+
</xsl:template>
|
15387
|
+
|
15230
15388
|
<!-- main sections -->
|
15231
15389
|
<xsl:template match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
|
15232
15390
|
|
@@ -15235,6 +15393,8 @@
|
|
15235
15393
|
|
15236
15394
|
<xsl:call-template name="sections_element_style"/>
|
15237
15395
|
|
15396
|
+
<xsl:call-template name="addReviewHelper"/>
|
15397
|
+
|
15238
15398
|
<xsl:apply-templates/>
|
15239
15399
|
</fo:block>
|
15240
15400
|
|
@@ -15281,6 +15441,7 @@
|
|
15281
15441
|
|
15282
15442
|
<fo:block>
|
15283
15443
|
<xsl:call-template name="setId"/>
|
15444
|
+
<xsl:call-template name="addReviewHelper"/>
|
15284
15445
|
<xsl:apply-templates/>
|
15285
15446
|
</fo:block>
|
15286
15447
|
</xsl:template>
|
@@ -15317,6 +15478,8 @@
|
|
15317
15478
|
|
15318
15479
|
<xsl:call-template name="refine_clause_style"/>
|
15319
15480
|
|
15481
|
+
<xsl:call-template name="addReviewHelper"/>
|
15482
|
+
|
15320
15483
|
<xsl:apply-templates/>
|
15321
15484
|
</fo:block>
|
15322
15485
|
</xsl:template>
|
@@ -15369,6 +15532,23 @@
|
|
15369
15532
|
|
15370
15533
|
<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
|
15371
15534
|
|
15535
|
+
<xsl:if test="1 = 1">
|
15536
|
+
<xsl:choose>
|
15537
|
+
<!-- if there isn't the attribute '@from', then -->
|
15538
|
+
<xsl:when test="$id_from = ''">
|
15539
|
+
<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>
|
15540
|
+
</xsl:when>
|
15541
|
+
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
15542
|
+
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
15543
|
+
<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>
|
15544
|
+
</xsl:when>
|
15545
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
15546
|
+
<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>
|
15547
|
+
</xsl:when>
|
15548
|
+
</xsl:choose>
|
15549
|
+
</xsl:if>
|
15550
|
+
|
15551
|
+
<xsl:if test="1 = 2">
|
15372
15552
|
<xsl:choose>
|
15373
15553
|
<!-- if there isn't the attribute '@from', then -->
|
15374
15554
|
<xsl:when test="$id_from = ''">
|
@@ -15382,6 +15562,7 @@
|
|
15382
15562
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
15383
15563
|
</xsl:when>
|
15384
15564
|
</xsl:choose>
|
15565
|
+
</xsl:if>
|
15385
15566
|
|
15386
15567
|
</xsl:template>
|
15387
15568
|
|
@@ -16536,9 +16717,9 @@
|
|
16536
16717
|
</xsl:if>
|
16537
16718
|
|
16538
16719
|
<xsl:if test="@type != 'editorial'">
|
16539
|
-
<xsl:call-template name="displayAdmonitionName"
|
16540
|
-
|
16541
|
-
|
16720
|
+
<xsl:call-template name="displayAdmonitionName"/>
|
16721
|
+
<!-- https://github.com/metanorma/isodoc/issues/614 -->
|
16722
|
+
<!-- <xsl:with-param name="sep"> — </xsl:with-param> -->
|
16542
16723
|
</xsl:if>
|
16543
16724
|
|
16544
16725
|
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
@@ -16796,7 +16977,7 @@
|
|
16796
16977
|
<!-- remove preprocess-xslt -->
|
16797
16978
|
<xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
|
16798
16979
|
|
16799
|
-
<xsl:template match="*[local-name() = 'stem'] | *[local-name() = 'image'] | *[local-name() = 'sourcecode'] | *[local-name() = 'bibdata'] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
|
16980
|
+
<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'])] | *[local-name() = 'bibdata'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
|
16800
16981
|
<xsl:copy-of select="."/>
|
16801
16982
|
</xsl:template>
|
16802
16983
|
|
@@ -16862,6 +17043,22 @@
|
|
16862
17043
|
</xsl:choose>
|
16863
17044
|
</xsl:template>
|
16864
17045
|
|
17046
|
+
<xsl:variable name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
|
17047
|
+
<xsl:template match="*[local-name() = 'passthrough']" mode="update_xml_step1">
|
17048
|
+
<!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
|
17049
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
|
17050
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
17051
|
+
</xsl:if>
|
17052
|
+
</xsl:template>
|
17053
|
+
|
17054
|
+
<!-- split math by element with @linebreak into maths -->
|
17055
|
+
<xsl:template match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
|
17056
|
+
<xsl:variable name="maths">
|
17057
|
+
<xsl:apply-templates select="." mode="mathml_linebreak"/>
|
17058
|
+
</xsl:variable>
|
17059
|
+
<xsl:copy-of select="$maths"/>
|
17060
|
+
</xsl:template>
|
17061
|
+
|
16865
17062
|
<!-- =========================================================================== -->
|
16866
17063
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
16867
17064
|
<!-- =========================================================================== -->
|
@@ -16965,6 +17162,8 @@
|
|
16965
17162
|
|
16966
17163
|
<xsl:template name="insertOpeningElements">
|
16967
17164
|
<xsl:param name="tree"/>
|
17165
|
+
<xsl:param name="xmlns"/>
|
17166
|
+
<xsl:param name="add_continue">true</xsl:param>
|
16968
17167
|
<xsl:for-each select="$tree//element">
|
16969
17168
|
<xsl:text disable-output-escaping="yes"><</xsl:text>
|
16970
17169
|
<xsl:value-of select="."/>
|
@@ -16975,7 +17174,8 @@
|
|
16975
17174
|
<xsl:value-of select="."/>
|
16976
17175
|
<xsl:text>"</xsl:text>
|
16977
17176
|
</xsl:for-each>
|
16978
|
-
<xsl:if test="position() = 1"> continue="true"</xsl:if>
|
17177
|
+
<xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
|
17178
|
+
<xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
|
16979
17179
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
16980
17180
|
<xsl:if test="$debug = 'true'">
|
16981
17181
|
<xsl:message><<xsl:value-of select="."/>></xsl:message>
|
@@ -18312,9 +18512,10 @@
|
|
18312
18512
|
<xsl:template name="insertBackgroundPageImage">
|
18313
18513
|
<xsl:param name="number">1</xsl:param>
|
18314
18514
|
<xsl:param name="name">coverpage-image</xsl:param>
|
18515
|
+
<xsl:param name="suffix"/>
|
18315
18516
|
<xsl:variable name="num" select="number($number)"/>
|
18316
18517
|
<!-- background image -->
|
18317
|
-
<fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0" id="
|
18518
|
+
<fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0" id="__internal_layout__coverpage{$suffix}_{$name}_{$number}_{generate-id()}">
|
18318
18519
|
<fo:block>
|
18319
18520
|
<xsl:for-each select="/*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = $name][1]/*[local-name() = 'value']/*[local-name() = 'image'][$num]">
|
18320
18521
|
<xsl:choose>
|
@@ -18380,16 +18581,29 @@
|
|
18380
18581
|
|
18381
18582
|
<!-- END: insert cover page image -->
|
18382
18583
|
|
18584
|
+
<xsl:variable name="regex_ja_spec">[\uFF08\uFF09]</xsl:variable>
|
18383
18585
|
<xsl:template name="insertVerticalChar">
|
18384
18586
|
<xsl:param name="str"/>
|
18587
|
+
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
18588
|
+
<xsl:param name="reference-orientation">90</xsl:param>
|
18385
18589
|
<xsl:if test="string-length($str) > 0">
|
18386
|
-
<fo:inline-container
|
18590
|
+
<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">
|
18591
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
18592
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
18593
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
18594
|
+
</xsl:if>
|
18595
|
+
<xsl:variable name="char" select="substring($str,1,1)"/>
|
18596
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
|
18597
|
+
<xsl:attribute name="reference-orientation">0</xsl:attribute>
|
18598
|
+
</xsl:if>
|
18387
18599
|
<fo:block-container width="1em">
|
18388
|
-
<fo:block line-height="1em"><xsl:value-of select="
|
18600
|
+
<fo:block line-height="1em"><xsl:value-of select="$char"/></fo:block>
|
18389
18601
|
</fo:block-container>
|
18390
18602
|
</fo:inline-container>
|
18391
18603
|
<xsl:call-template name="insertVerticalChar">
|
18392
18604
|
<xsl:with-param name="str" select="substring($str, 2)"/>
|
18605
|
+
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
18606
|
+
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
18393
18607
|
</xsl:call-template>
|
18394
18608
|
</xsl:if>
|
18395
18609
|
</xsl:template>
|
@@ -32,7 +32,7 @@ module IsoDoc
|
|
32
32
|
ret = "<review date='#{Date.today}' reviewer='Metanorma' id='_#{id}'>" \
|
33
33
|
"<p><strong>Metadata warnings:<strong></p> #{ret}</review>"
|
34
34
|
ins = docxml.at(ns("//sections//title")) or return
|
35
|
-
ins.
|
35
|
+
ins.add_first_child ret
|
36
36
|
end
|
37
37
|
|
38
38
|
def editorialgroup_identifier(docxml)
|