metanorma-ieee 1.3.3 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/ieee/base_convert.rb +0 -25
- data/lib/isodoc/ieee/ieee.amendment.xsl +197 -25
- data/lib/isodoc/ieee/ieee.standard.xsl +197 -25
- data/lib/isodoc/ieee/presentation_ref.rb +14 -0
- data/lib/isodoc/ieee/presentation_terms.rb +18 -3
- data/lib/isodoc/ieee/presentation_xml_convert.rb +12 -9
- data/lib/isodoc/ieee/word_authority.rb +6 -6
- data/lib/isodoc/ieee/word_cleanup_blocks.rb +0 -1
- data/lib/isodoc/ieee/word_convert.rb +0 -1
- data/lib/isodoc/ieee/word_wp_convert.rb +0 -1
- data/lib/metanorma/ieee/isodoc.rng +1 -1
- data/lib/metanorma/ieee/version.rb +1 -1
- data/metanorma-ieee.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64f37a09bcd0a24e2a8d4bef90b31984a8b09ff5df27dc62e56010f72a448e1d
|
4
|
+
data.tar.gz: badb4688f8611ab3f17df678faad8484a9778d83adc6c32bd143bb5e7d859e54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0ee1558421bdc365a7d0dd0e049a70e7c6140e24ffda7809f6e92c2cfbc9693830392a11c24c35fe7d6f3546f1cd77df0ea1f79662b262e77ef49f3be887565
|
7
|
+
data.tar.gz: 46cbd320df62354dade79dbdc7ee2360a2abef040696ebfcc311d510898637655e4973e87b219ce08b0ea55b235d76d6e4f9f24ebd258259a87488361444047a
|
@@ -34,21 +34,11 @@ module IsoDoc
|
|
34
34
|
super.merge(type: node["type"])
|
35
35
|
end
|
36
36
|
|
37
|
-
def note_delim
|
38
|
-
"—"
|
39
|
-
end
|
40
|
-
|
41
|
-
def omit_docid_prefix(prefix)
|
42
|
-
prefix == "DOI" and return true
|
43
|
-
super
|
44
|
-
end
|
45
|
-
|
46
37
|
def note_p_parse(node, div)
|
47
38
|
name = node&.at(ns("./name"))&.remove
|
48
39
|
div.p do |p|
|
49
40
|
name and p.span class: "note_label" do |s|
|
50
41
|
name.children.each { |n| parse(n, s) }
|
51
|
-
s << note_delim
|
52
42
|
end
|
53
43
|
node.first_element_child.children.each { |n| parse(n, p) }
|
54
44
|
end
|
@@ -60,29 +50,14 @@ module IsoDoc
|
|
60
50
|
name and div.p do |p|
|
61
51
|
p.span class: "note_label" do |s|
|
62
52
|
name.children.each { |n| parse(n, s) }
|
63
|
-
s << note_delim
|
64
53
|
end
|
65
54
|
end
|
66
55
|
node.children.each { |n| parse(n, div) }
|
67
56
|
end
|
68
57
|
|
69
|
-
def termnote_delim
|
70
|
-
"—"
|
71
|
-
end
|
72
|
-
|
73
|
-
def bracket_if_num(num)
|
74
|
-
return nil if num.nil?
|
75
|
-
|
76
|
-
num = num.text.sub(/^\[/, "").sub(/\]$/, "")
|
77
|
-
return "[#{num}]" if /^B?\d+$/.match?(num)
|
78
|
-
|
79
|
-
num
|
80
|
-
end
|
81
|
-
|
82
58
|
def example_label(_node, div, name)
|
83
59
|
return if name.nil?
|
84
60
|
|
85
|
-
name << ":"
|
86
61
|
div.p class: "example-title" do |p|
|
87
62
|
name.children.each { |n| parse(n, p) }
|
88
63
|
end
|
@@ -1649,6 +1649,7 @@
|
|
1649
1649
|
<xsl:template match="ieee:abstract">
|
1650
1650
|
<fo:block>
|
1651
1651
|
<xsl:call-template name="setId"/>
|
1652
|
+
<xsl:call-template name="addReviewHelper"/>
|
1652
1653
|
<xsl:apply-templates/>
|
1653
1654
|
</fo:block>
|
1654
1655
|
</xsl:template>
|
@@ -2281,6 +2282,7 @@
|
|
2281
2282
|
<xsl:template match="*[local-name() = 'introduction'] | *[local-name() = 'foreword'] | *[local-name() = 'acknowledgements']">
|
2282
2283
|
<fo:block>
|
2283
2284
|
<xsl:call-template name="setId"/>
|
2285
|
+
<xsl:call-template name="addReviewHelper"/>
|
2284
2286
|
<xsl:apply-templates/>
|
2285
2287
|
</fo:block>
|
2286
2288
|
</xsl:template>
|
@@ -7380,6 +7382,11 @@
|
|
7380
7382
|
|
7381
7383
|
<xsl:value-of select="@reference"/>
|
7382
7384
|
|
7385
|
+
<!-- commented https://github.com/metanorma/isodoc/issues/614 -->
|
7386
|
+
<!-- <xsl:if test="$namespace = 'itu'">
|
7387
|
+
<xsl:text>)</xsl:text>
|
7388
|
+
</xsl:if> -->
|
7389
|
+
|
7383
7390
|
</fo:inline>
|
7384
7391
|
<fo:inline xsl:use-attribute-sets="table-fn-body-style">
|
7385
7392
|
<xsl:copy-of select="./node()"/>
|
@@ -7389,7 +7396,7 @@
|
|
7389
7396
|
|
7390
7397
|
</xsl:if>
|
7391
7398
|
</xsl:for-each>
|
7392
|
-
</xsl:template>
|
7399
|
+
</xsl:template> <!-- table_fn_display -->
|
7393
7400
|
|
7394
7401
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="create_fn">
|
7395
7402
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
@@ -7417,8 +7424,10 @@
|
|
7417
7424
|
<!-- EMD table's footnotes rendering -->
|
7418
7425
|
<!-- ============================ -->
|
7419
7426
|
|
7427
|
+
<!-- ============================ -->
|
7420
7428
|
<!-- figure's footnotes rendering -->
|
7421
|
-
|
7429
|
+
<!-- ============================ -->
|
7430
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="fn_display_figure"> <!-- figure_fn_display -->
|
7422
7431
|
|
7423
7432
|
<!-- current figure id -->
|
7424
7433
|
<xsl:variable name="figure_id_">
|
@@ -7531,9 +7540,28 @@
|
|
7531
7540
|
|
7532
7541
|
</fo:block>
|
7533
7542
|
</xsl:if>
|
7534
|
-
|
7535
7543
|
</xsl:template> <!-- fn_display_figure -->
|
7536
7544
|
|
7545
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
7546
|
+
<!-- figure's footnote label -->
|
7547
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" 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">
|
7548
|
+
<xsl:variable name="key_iso">
|
7549
|
+
|
7550
|
+
</xsl:variable>
|
7551
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
7552
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
7553
|
+
|
7554
|
+
</xsl:if>
|
7555
|
+
<fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}" -->
|
7556
|
+
<!-- <xsl:value-of select="@reference"/> -->
|
7557
|
+
<xsl:apply-templates/>
|
7558
|
+
</fo:inline>
|
7559
|
+
</xsl:template>
|
7560
|
+
|
7561
|
+
<!-- ============================ -->
|
7562
|
+
<!-- END: figure's footnotes rendering -->
|
7563
|
+
<!-- ============================ -->
|
7564
|
+
|
7537
7565
|
<!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
|
7538
7566
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name()='fn']">
|
7539
7567
|
<fo:inline xsl:use-attribute-sets="fn-reference-style">
|
@@ -7549,6 +7577,10 @@
|
|
7549
7577
|
|
7550
7578
|
<xsl:value-of select="@reference"/>
|
7551
7579
|
|
7580
|
+
<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
|
7581
|
+
<!-- <xsl:if test="$namespace = 'jis'">
|
7582
|
+
<fo:inline font-weight="normal">)</fo:inline>
|
7583
|
+
</xsl:if> -->
|
7552
7584
|
</fo:basic-link>
|
7553
7585
|
</fo:inline>
|
7554
7586
|
</xsl:template>
|
@@ -7675,17 +7707,22 @@
|
|
7675
7707
|
</fo:block>
|
7676
7708
|
</xsl:when> <!-- END: a few components -->
|
7677
7709
|
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
|
7678
|
-
|
7710
|
+
<!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
|
7711
|
+
<xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
|
7679
7712
|
|
7680
|
-
|
7713
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
7681
7714
|
|
7682
|
-
|
7683
|
-
|
7684
|
-
|
7685
|
-
|
7686
|
-
|
7687
|
-
|
7688
|
-
|
7715
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
7716
|
+
|
7717
|
+
<xsl:variable name="title-key">
|
7718
|
+
<xsl:call-template name="getLocalizedString">
|
7719
|
+
<xsl:with-param name="key">key</xsl:with-param>
|
7720
|
+
</xsl:call-template>
|
7721
|
+
</xsl:variable>
|
7722
|
+
<xsl:value-of select="$title-key"/>
|
7723
|
+
</fo:block>
|
7724
|
+
|
7725
|
+
</xsl:if>
|
7689
7726
|
</xsl:when> <!-- END: definition list in a figure -->
|
7690
7727
|
</xsl:choose>
|
7691
7728
|
|
@@ -7871,6 +7908,14 @@
|
|
7871
7908
|
|
7872
7909
|
</xsl:template> <!-- END: dl -->
|
7873
7910
|
|
7911
|
+
<!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
|
7912
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
|
7913
|
+
<fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
|
7914
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
7915
|
+
<xsl:apply-templates/>
|
7916
|
+
</fo:block>
|
7917
|
+
</xsl:template>
|
7918
|
+
|
7874
7919
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="refine_dl_formula_where_style">
|
7875
7920
|
|
7876
7921
|
</xsl:template> <!-- refine_dl_formula_where_style -->
|
@@ -9903,6 +9948,39 @@
|
|
9903
9948
|
</xsl:copy>
|
9904
9949
|
</xsl:template>
|
9905
9950
|
|
9951
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="@*|node()" mode="mathml_linebreak">
|
9952
|
+
<xsl:copy>
|
9953
|
+
<xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
|
9954
|
+
</xsl:copy>
|
9955
|
+
</xsl:template>
|
9956
|
+
|
9957
|
+
<!-- split math into two math -->
|
9958
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
|
9959
|
+
<xsl:variable name="math_elements_tree_">
|
9960
|
+
<xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
|
9961
|
+
<element pos="{position()}">
|
9962
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/>
|
9963
|
+
<xsl:value-of select="name()"/>
|
9964
|
+
</element>
|
9965
|
+
</xsl:for-each>
|
9966
|
+
</xsl:variable>
|
9967
|
+
|
9968
|
+
<xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
|
9969
|
+
|
9970
|
+
<xsl:call-template name="insertClosingElements">
|
9971
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
9972
|
+
</xsl:call-template>
|
9973
|
+
|
9974
|
+
<xsl:element name="br" namespace="{$namespace_full}"/>
|
9975
|
+
|
9976
|
+
<xsl:call-template name="insertOpeningElements">
|
9977
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
9978
|
+
<xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
|
9979
|
+
<xsl:with-param name="add_continue">false</xsl:with-param>
|
9980
|
+
</xsl:call-template>
|
9981
|
+
|
9982
|
+
</xsl:template>
|
9983
|
+
|
9906
9984
|
<!-- Examples:
|
9907
9985
|
<stem type="AsciiMath">x = 1</stem>
|
9908
9986
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -10154,9 +10232,11 @@
|
|
10154
10232
|
</xsl:template>
|
10155
10233
|
|
10156
10234
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
|
10235
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
10157
10236
|
<xsl:if test="normalize-space() != ''">
|
10158
|
-
<xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
|
10159
|
-
</xsl:if>
|
10237
|
+
<xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
|
10238
|
+
</xsl:if> -->
|
10239
|
+
<xsl:apply-templates/>
|
10160
10240
|
</xsl:template>
|
10161
10241
|
|
10162
10242
|
<!-- stem inside formula with name (with formula's number) -->
|
@@ -10312,8 +10392,17 @@
|
|
10312
10392
|
</xsl:when>
|
10313
10393
|
<xsl:otherwise>
|
10314
10394
|
|
10315
|
-
|
10395
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
10396
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
10397
|
+
<xsl:text>—</xsl:text> em dash —
|
10398
|
+
</xsl:if> -->
|
10399
|
+
<!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
|
10400
|
+
<xsl:text>:</xsl:text>
|
10401
|
+
</xsl:if> -->
|
10316
10402
|
|
10403
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
10404
|
+
<xsl:text> – </xsl:text> en dash –
|
10405
|
+
</xsl:if> -->
|
10317
10406
|
</xsl:otherwise>
|
10318
10407
|
</xsl:choose>
|
10319
10408
|
</xsl:variable>
|
@@ -10332,8 +10421,16 @@
|
|
10332
10421
|
</xsl:when>
|
10333
10422
|
<xsl:otherwise>
|
10334
10423
|
|
10335
|
-
|
10336
|
-
|
10424
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
10425
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
10426
|
+
<xsl:text>—</xsl:text> em dash —
|
10427
|
+
</xsl:if> -->
|
10428
|
+
<!-- <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'">
|
10429
|
+
<xsl:text>:</xsl:text>
|
10430
|
+
</xsl:if> -->
|
10431
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">
|
10432
|
+
<xsl:text> – </xsl:text> en dash –
|
10433
|
+
</xsl:if> -->
|
10337
10434
|
</xsl:otherwise>
|
10338
10435
|
</xsl:choose>
|
10339
10436
|
</xsl:variable>
|
@@ -12499,7 +12596,7 @@
|
|
12499
12596
|
<xsl:if test="normalize-space() != ''">
|
12500
12597
|
<fo:inline xsl:use-attribute-sets="termexample-name-style">
|
12501
12598
|
<xsl:call-template name="refine_termexample-name-style"/>
|
12502
|
-
<xsl:apply-templates
|
12599
|
+
<xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
|
12503
12600
|
</fo:inline>
|
12504
12601
|
</xsl:if>
|
12505
12602
|
</xsl:template>
|
@@ -12665,7 +12762,7 @@
|
|
12665
12762
|
<xsl:otherwise>
|
12666
12763
|
<fo:inline xsl:use-attribute-sets="example-name-style">
|
12667
12764
|
<xsl:call-template name="refine_example-name-style"/>
|
12668
|
-
<xsl:apply-templates
|
12765
|
+
<xsl:apply-templates/> <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614 -->
|
12669
12766
|
</fo:inline>
|
12670
12767
|
</xsl:otherwise>
|
12671
12768
|
</xsl:choose>
|
@@ -12847,15 +12944,17 @@
|
|
12847
12944
|
|
12848
12945
|
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
12849
12946
|
<fo:block role="BlockQuote">
|
12850
|
-
<xsl:apply-templates select="./node()[not(local-name() = 'author') and
|
12947
|
+
<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 -->
|
12851
12948
|
</fo:block>
|
12852
12949
|
</fo:block-container>
|
12853
12950
|
</fo:block-container>
|
12854
|
-
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
12951
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
|
12855
12952
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
12856
12953
|
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
12857
12954
|
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
12858
12955
|
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
12956
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
12957
|
+
<xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
|
12859
12958
|
</fo:block>
|
12860
12959
|
</xsl:if>
|
12861
12960
|
|
@@ -12877,9 +12976,13 @@
|
|
12877
12976
|
</xsl:template>
|
12878
12977
|
|
12879
12978
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'author']">
|
12880
|
-
<xsl:
|
12979
|
+
<xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
|
12980
|
+
<xsl:text>— </xsl:text>
|
12981
|
+
</xsl:if>
|
12881
12982
|
<xsl:apply-templates/>
|
12882
12983
|
</xsl:template>
|
12984
|
+
|
12985
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
|
12883
12986
|
<!-- ====== -->
|
12884
12987
|
<!-- ====== -->
|
12885
12988
|
|
@@ -13055,8 +13158,12 @@
|
|
13055
13158
|
</xsl:template>
|
13056
13159
|
|
13057
13160
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'domain']">
|
13161
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
13058
13162
|
<fo:inline xsl:use-attribute-sets="domain-style"><<xsl:apply-templates/>></fo:inline>
|
13059
|
-
<xsl:text> </xsl:text>
|
13163
|
+
<xsl:text> </xsl:text> -->
|
13164
|
+
<xsl:if test="not(@hidden = 'true')">
|
13165
|
+
<xsl:apply-templates/>
|
13166
|
+
</xsl:if>
|
13060
13167
|
</xsl:template>
|
13061
13168
|
|
13062
13169
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'admitted']">
|
@@ -13104,6 +13211,29 @@
|
|
13104
13211
|
<!-- END definition -->
|
13105
13212
|
<!-- ========== -->
|
13106
13213
|
|
13214
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="reviews_">
|
13215
|
+
<xsl:for-each select="//*[local-name() = 'review'][@from]">
|
13216
|
+
<xsl:copy>
|
13217
|
+
<xsl:copy-of select="@from"/>
|
13218
|
+
<xsl:copy-of select="@id"/>
|
13219
|
+
</xsl:copy>
|
13220
|
+
</xsl:for-each>
|
13221
|
+
</xsl:variable>
|
13222
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="reviews" select="xalan:nodeset($reviews_)"/>
|
13223
|
+
|
13224
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="addReviewHelper">
|
13225
|
+
<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
|
13226
|
+
<xsl:variable name="curr_id" select="@id"/>
|
13227
|
+
<xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
|
13228
|
+
<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
|
13229
|
+
<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>
|
13230
|
+
</xsl:if>
|
13231
|
+
<!-- <fo:block>
|
13232
|
+
<curr_id><xsl:value-of select="$curr_id"/></curr_id>
|
13233
|
+
<xsl:copy-of select="$reviews"/>
|
13234
|
+
</fo:block> -->
|
13235
|
+
</xsl:template>
|
13236
|
+
|
13107
13237
|
<!-- main sections -->
|
13108
13238
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
|
13109
13239
|
|
@@ -13112,6 +13242,8 @@
|
|
13112
13242
|
|
13113
13243
|
<xsl:call-template name="sections_element_style"/>
|
13114
13244
|
|
13245
|
+
<xsl:call-template name="addReviewHelper"/>
|
13246
|
+
|
13115
13247
|
<xsl:apply-templates/>
|
13116
13248
|
</fo:block>
|
13117
13249
|
|
@@ -13147,6 +13279,7 @@
|
|
13147
13279
|
|
13148
13280
|
<fo:block>
|
13149
13281
|
<xsl:call-template name="setId"/>
|
13282
|
+
<xsl:call-template name="addReviewHelper"/>
|
13150
13283
|
<xsl:apply-templates/>
|
13151
13284
|
</fo:block>
|
13152
13285
|
</xsl:template>
|
@@ -13183,6 +13316,8 @@
|
|
13183
13316
|
|
13184
13317
|
<xsl:call-template name="refine_clause_style"/>
|
13185
13318
|
|
13319
|
+
<xsl:call-template name="addReviewHelper"/>
|
13320
|
+
|
13186
13321
|
<xsl:apply-templates/>
|
13187
13322
|
</fo:block>
|
13188
13323
|
</xsl:template>
|
@@ -13235,6 +13370,23 @@
|
|
13235
13370
|
|
13236
13371
|
<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
|
13237
13372
|
|
13373
|
+
<xsl:if test="1 = 1">
|
13374
|
+
<xsl:choose>
|
13375
|
+
<!-- if there isn't the attribute '@from', then -->
|
13376
|
+
<xsl:when test="$id_from = ''">
|
13377
|
+
<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>
|
13378
|
+
</xsl:when>
|
13379
|
+
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
13380
|
+
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
13381
|
+
<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>
|
13382
|
+
</xsl:when>
|
13383
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
13384
|
+
<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>
|
13385
|
+
</xsl:when>
|
13386
|
+
</xsl:choose>
|
13387
|
+
</xsl:if>
|
13388
|
+
|
13389
|
+
<xsl:if test="1 = 2">
|
13238
13390
|
<xsl:choose>
|
13239
13391
|
<!-- if there isn't the attribute '@from', then -->
|
13240
13392
|
<xsl:when test="$id_from = ''">
|
@@ -13248,6 +13400,7 @@
|
|
13248
13400
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
13249
13401
|
</xsl:when>
|
13250
13402
|
</xsl:choose>
|
13403
|
+
</xsl:if>
|
13251
13404
|
|
13252
13405
|
</xsl:template>
|
13253
13406
|
|
@@ -14667,7 +14820,7 @@
|
|
14667
14820
|
<!-- remove preprocess-xslt -->
|
14668
14821
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
|
14669
14822
|
|
14670
|
-
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'stem'] | *[local-name() = 'image'] | *[local-name() = 'sourcecode'] | *[local-name() = 'bibdata'] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
|
14823
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" 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">
|
14671
14824
|
<xsl:copy-of select="."/>
|
14672
14825
|
</xsl:template>
|
14673
14826
|
|
@@ -14733,6 +14886,22 @@
|
|
14733
14886
|
</xsl:choose>
|
14734
14887
|
</xsl:template>
|
14735
14888
|
|
14889
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
|
14890
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'passthrough']" mode="update_xml_step1">
|
14891
|
+
<!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
|
14892
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
|
14893
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
14894
|
+
</xsl:if>
|
14895
|
+
</xsl:template>
|
14896
|
+
|
14897
|
+
<!-- split math by element with @linebreak into maths -->
|
14898
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
|
14899
|
+
<xsl:variable name="maths">
|
14900
|
+
<xsl:apply-templates select="." mode="mathml_linebreak"/>
|
14901
|
+
</xsl:variable>
|
14902
|
+
<xsl:copy-of select="$maths"/>
|
14903
|
+
</xsl:template>
|
14904
|
+
|
14736
14905
|
<!-- =========================================================================== -->
|
14737
14906
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
14738
14907
|
<!-- =========================================================================== -->
|
@@ -14836,6 +15005,8 @@
|
|
14836
15005
|
|
14837
15006
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertOpeningElements">
|
14838
15007
|
<xsl:param name="tree"/>
|
15008
|
+
<xsl:param name="xmlns"/>
|
15009
|
+
<xsl:param name="add_continue">true</xsl:param>
|
14839
15010
|
<xsl:for-each select="$tree//element">
|
14840
15011
|
<xsl:text disable-output-escaping="yes"><</xsl:text>
|
14841
15012
|
<xsl:value-of select="."/>
|
@@ -14846,7 +15017,8 @@
|
|
14846
15017
|
<xsl:value-of select="."/>
|
14847
15018
|
<xsl:text>"</xsl:text>
|
14848
15019
|
</xsl:for-each>
|
14849
|
-
<xsl:if test="position() = 1"> continue="true"</xsl:if>
|
15020
|
+
<xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
|
15021
|
+
<xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
|
14850
15022
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
14851
15023
|
<xsl:if test="$debug = 'true'">
|
14852
15024
|
<xsl:message><<xsl:value-of select="."/>></xsl:message>
|
@@ -1649,6 +1649,7 @@
|
|
1649
1649
|
<xsl:template match="ieee:abstract">
|
1650
1650
|
<fo:block>
|
1651
1651
|
<xsl:call-template name="setId"/>
|
1652
|
+
<xsl:call-template name="addReviewHelper"/>
|
1652
1653
|
<xsl:apply-templates/>
|
1653
1654
|
</fo:block>
|
1654
1655
|
</xsl:template>
|
@@ -2281,6 +2282,7 @@
|
|
2281
2282
|
<xsl:template match="*[local-name() = 'introduction'] | *[local-name() = 'foreword'] | *[local-name() = 'acknowledgements']">
|
2282
2283
|
<fo:block>
|
2283
2284
|
<xsl:call-template name="setId"/>
|
2285
|
+
<xsl:call-template name="addReviewHelper"/>
|
2284
2286
|
<xsl:apply-templates/>
|
2285
2287
|
</fo:block>
|
2286
2288
|
</xsl:template>
|
@@ -7380,6 +7382,11 @@
|
|
7380
7382
|
|
7381
7383
|
<xsl:value-of select="@reference"/>
|
7382
7384
|
|
7385
|
+
<!-- commented https://github.com/metanorma/isodoc/issues/614 -->
|
7386
|
+
<!-- <xsl:if test="$namespace = 'itu'">
|
7387
|
+
<xsl:text>)</xsl:text>
|
7388
|
+
</xsl:if> -->
|
7389
|
+
|
7383
7390
|
</fo:inline>
|
7384
7391
|
<fo:inline xsl:use-attribute-sets="table-fn-body-style">
|
7385
7392
|
<xsl:copy-of select="./node()"/>
|
@@ -7389,7 +7396,7 @@
|
|
7389
7396
|
|
7390
7397
|
</xsl:if>
|
7391
7398
|
</xsl:for-each>
|
7392
|
-
</xsl:template>
|
7399
|
+
</xsl:template> <!-- table_fn_display -->
|
7393
7400
|
|
7394
7401
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="create_fn">
|
7395
7402
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
@@ -7417,8 +7424,10 @@
|
|
7417
7424
|
<!-- EMD table's footnotes rendering -->
|
7418
7425
|
<!-- ============================ -->
|
7419
7426
|
|
7427
|
+
<!-- ============================ -->
|
7420
7428
|
<!-- figure's footnotes rendering -->
|
7421
|
-
|
7429
|
+
<!-- ============================ -->
|
7430
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="fn_display_figure"> <!-- figure_fn_display -->
|
7422
7431
|
|
7423
7432
|
<!-- current figure id -->
|
7424
7433
|
<xsl:variable name="figure_id_">
|
@@ -7531,9 +7540,28 @@
|
|
7531
7540
|
|
7532
7541
|
</fo:block>
|
7533
7542
|
</xsl:if>
|
7534
|
-
|
7535
7543
|
</xsl:template> <!-- fn_display_figure -->
|
7536
7544
|
|
7545
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
7546
|
+
<!-- figure's footnote label -->
|
7547
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" 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">
|
7548
|
+
<xsl:variable name="key_iso">
|
7549
|
+
|
7550
|
+
</xsl:variable>
|
7551
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
7552
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
7553
|
+
|
7554
|
+
</xsl:if>
|
7555
|
+
<fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}" -->
|
7556
|
+
<!-- <xsl:value-of select="@reference"/> -->
|
7557
|
+
<xsl:apply-templates/>
|
7558
|
+
</fo:inline>
|
7559
|
+
</xsl:template>
|
7560
|
+
|
7561
|
+
<!-- ============================ -->
|
7562
|
+
<!-- END: figure's footnotes rendering -->
|
7563
|
+
<!-- ============================ -->
|
7564
|
+
|
7537
7565
|
<!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
|
7538
7566
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name()='fn']">
|
7539
7567
|
<fo:inline xsl:use-attribute-sets="fn-reference-style">
|
@@ -7549,6 +7577,10 @@
|
|
7549
7577
|
|
7550
7578
|
<xsl:value-of select="@reference"/>
|
7551
7579
|
|
7580
|
+
<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
|
7581
|
+
<!-- <xsl:if test="$namespace = 'jis'">
|
7582
|
+
<fo:inline font-weight="normal">)</fo:inline>
|
7583
|
+
</xsl:if> -->
|
7552
7584
|
</fo:basic-link>
|
7553
7585
|
</fo:inline>
|
7554
7586
|
</xsl:template>
|
@@ -7675,17 +7707,22 @@
|
|
7675
7707
|
</fo:block>
|
7676
7708
|
</xsl:when> <!-- END: a few components -->
|
7677
7709
|
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
|
7678
|
-
|
7710
|
+
<!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
|
7711
|
+
<xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
|
7679
7712
|
|
7680
|
-
|
7713
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
7681
7714
|
|
7682
|
-
|
7683
|
-
|
7684
|
-
|
7685
|
-
|
7686
|
-
|
7687
|
-
|
7688
|
-
|
7715
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
7716
|
+
|
7717
|
+
<xsl:variable name="title-key">
|
7718
|
+
<xsl:call-template name="getLocalizedString">
|
7719
|
+
<xsl:with-param name="key">key</xsl:with-param>
|
7720
|
+
</xsl:call-template>
|
7721
|
+
</xsl:variable>
|
7722
|
+
<xsl:value-of select="$title-key"/>
|
7723
|
+
</fo:block>
|
7724
|
+
|
7725
|
+
</xsl:if>
|
7689
7726
|
</xsl:when> <!-- END: definition list in a figure -->
|
7690
7727
|
</xsl:choose>
|
7691
7728
|
|
@@ -7871,6 +7908,14 @@
|
|
7871
7908
|
|
7872
7909
|
</xsl:template> <!-- END: dl -->
|
7873
7910
|
|
7911
|
+
<!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
|
7912
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
|
7913
|
+
<fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
|
7914
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
7915
|
+
<xsl:apply-templates/>
|
7916
|
+
</fo:block>
|
7917
|
+
</xsl:template>
|
7918
|
+
|
7874
7919
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="refine_dl_formula_where_style">
|
7875
7920
|
|
7876
7921
|
</xsl:template> <!-- refine_dl_formula_where_style -->
|
@@ -9903,6 +9948,39 @@
|
|
9903
9948
|
</xsl:copy>
|
9904
9949
|
</xsl:template>
|
9905
9950
|
|
9951
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="@*|node()" mode="mathml_linebreak">
|
9952
|
+
<xsl:copy>
|
9953
|
+
<xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
|
9954
|
+
</xsl:copy>
|
9955
|
+
</xsl:template>
|
9956
|
+
|
9957
|
+
<!-- split math into two math -->
|
9958
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
|
9959
|
+
<xsl:variable name="math_elements_tree_">
|
9960
|
+
<xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
|
9961
|
+
<element pos="{position()}">
|
9962
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/>
|
9963
|
+
<xsl:value-of select="name()"/>
|
9964
|
+
</element>
|
9965
|
+
</xsl:for-each>
|
9966
|
+
</xsl:variable>
|
9967
|
+
|
9968
|
+
<xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
|
9969
|
+
|
9970
|
+
<xsl:call-template name="insertClosingElements">
|
9971
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
9972
|
+
</xsl:call-template>
|
9973
|
+
|
9974
|
+
<xsl:element name="br" namespace="{$namespace_full}"/>
|
9975
|
+
|
9976
|
+
<xsl:call-template name="insertOpeningElements">
|
9977
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
9978
|
+
<xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
|
9979
|
+
<xsl:with-param name="add_continue">false</xsl:with-param>
|
9980
|
+
</xsl:call-template>
|
9981
|
+
|
9982
|
+
</xsl:template>
|
9983
|
+
|
9906
9984
|
<!-- Examples:
|
9907
9985
|
<stem type="AsciiMath">x = 1</stem>
|
9908
9986
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -10154,9 +10232,11 @@
|
|
10154
10232
|
</xsl:template>
|
10155
10233
|
|
10156
10234
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
|
10235
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
10157
10236
|
<xsl:if test="normalize-space() != ''">
|
10158
|
-
<xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
|
10159
|
-
</xsl:if>
|
10237
|
+
<xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
|
10238
|
+
</xsl:if> -->
|
10239
|
+
<xsl:apply-templates/>
|
10160
10240
|
</xsl:template>
|
10161
10241
|
|
10162
10242
|
<!-- stem inside formula with name (with formula's number) -->
|
@@ -10312,8 +10392,17 @@
|
|
10312
10392
|
</xsl:when>
|
10313
10393
|
<xsl:otherwise>
|
10314
10394
|
|
10315
|
-
|
10395
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
10396
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
10397
|
+
<xsl:text>—</xsl:text> em dash —
|
10398
|
+
</xsl:if> -->
|
10399
|
+
<!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
|
10400
|
+
<xsl:text>:</xsl:text>
|
10401
|
+
</xsl:if> -->
|
10316
10402
|
|
10403
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
10404
|
+
<xsl:text> – </xsl:text> en dash –
|
10405
|
+
</xsl:if> -->
|
10317
10406
|
</xsl:otherwise>
|
10318
10407
|
</xsl:choose>
|
10319
10408
|
</xsl:variable>
|
@@ -10332,8 +10421,16 @@
|
|
10332
10421
|
</xsl:when>
|
10333
10422
|
<xsl:otherwise>
|
10334
10423
|
|
10335
|
-
|
10336
|
-
|
10424
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
10425
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
10426
|
+
<xsl:text>—</xsl:text> em dash —
|
10427
|
+
</xsl:if> -->
|
10428
|
+
<!-- <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'">
|
10429
|
+
<xsl:text>:</xsl:text>
|
10430
|
+
</xsl:if> -->
|
10431
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">
|
10432
|
+
<xsl:text> – </xsl:text> en dash –
|
10433
|
+
</xsl:if> -->
|
10337
10434
|
</xsl:otherwise>
|
10338
10435
|
</xsl:choose>
|
10339
10436
|
</xsl:variable>
|
@@ -12499,7 +12596,7 @@
|
|
12499
12596
|
<xsl:if test="normalize-space() != ''">
|
12500
12597
|
<fo:inline xsl:use-attribute-sets="termexample-name-style">
|
12501
12598
|
<xsl:call-template name="refine_termexample-name-style"/>
|
12502
|
-
<xsl:apply-templates
|
12599
|
+
<xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
|
12503
12600
|
</fo:inline>
|
12504
12601
|
</xsl:if>
|
12505
12602
|
</xsl:template>
|
@@ -12665,7 +12762,7 @@
|
|
12665
12762
|
<xsl:otherwise>
|
12666
12763
|
<fo:inline xsl:use-attribute-sets="example-name-style">
|
12667
12764
|
<xsl:call-template name="refine_example-name-style"/>
|
12668
|
-
<xsl:apply-templates
|
12765
|
+
<xsl:apply-templates/> <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614 -->
|
12669
12766
|
</fo:inline>
|
12670
12767
|
</xsl:otherwise>
|
12671
12768
|
</xsl:choose>
|
@@ -12847,15 +12944,17 @@
|
|
12847
12944
|
|
12848
12945
|
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
12849
12946
|
<fo:block role="BlockQuote">
|
12850
|
-
<xsl:apply-templates select="./node()[not(local-name() = 'author') and
|
12947
|
+
<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 -->
|
12851
12948
|
</fo:block>
|
12852
12949
|
</fo:block-container>
|
12853
12950
|
</fo:block-container>
|
12854
|
-
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
12951
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
|
12855
12952
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
12856
12953
|
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
12857
12954
|
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
12858
12955
|
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
12956
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
12957
|
+
<xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
|
12859
12958
|
</fo:block>
|
12860
12959
|
</xsl:if>
|
12861
12960
|
|
@@ -12877,9 +12976,13 @@
|
|
12877
12976
|
</xsl:template>
|
12878
12977
|
|
12879
12978
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'author']">
|
12880
|
-
<xsl:
|
12979
|
+
<xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
|
12980
|
+
<xsl:text>— </xsl:text>
|
12981
|
+
</xsl:if>
|
12881
12982
|
<xsl:apply-templates/>
|
12882
12983
|
</xsl:template>
|
12984
|
+
|
12985
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
|
12883
12986
|
<!-- ====== -->
|
12884
12987
|
<!-- ====== -->
|
12885
12988
|
|
@@ -13055,8 +13158,12 @@
|
|
13055
13158
|
</xsl:template>
|
13056
13159
|
|
13057
13160
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'domain']">
|
13161
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
13058
13162
|
<fo:inline xsl:use-attribute-sets="domain-style"><<xsl:apply-templates/>></fo:inline>
|
13059
|
-
<xsl:text> </xsl:text>
|
13163
|
+
<xsl:text> </xsl:text> -->
|
13164
|
+
<xsl:if test="not(@hidden = 'true')">
|
13165
|
+
<xsl:apply-templates/>
|
13166
|
+
</xsl:if>
|
13060
13167
|
</xsl:template>
|
13061
13168
|
|
13062
13169
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'admitted']">
|
@@ -13104,6 +13211,29 @@
|
|
13104
13211
|
<!-- END definition -->
|
13105
13212
|
<!-- ========== -->
|
13106
13213
|
|
13214
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="reviews_">
|
13215
|
+
<xsl:for-each select="//*[local-name() = 'review'][@from]">
|
13216
|
+
<xsl:copy>
|
13217
|
+
<xsl:copy-of select="@from"/>
|
13218
|
+
<xsl:copy-of select="@id"/>
|
13219
|
+
</xsl:copy>
|
13220
|
+
</xsl:for-each>
|
13221
|
+
</xsl:variable>
|
13222
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="reviews" select="xalan:nodeset($reviews_)"/>
|
13223
|
+
|
13224
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="addReviewHelper">
|
13225
|
+
<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
|
13226
|
+
<xsl:variable name="curr_id" select="@id"/>
|
13227
|
+
<xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
|
13228
|
+
<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
|
13229
|
+
<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>
|
13230
|
+
</xsl:if>
|
13231
|
+
<!-- <fo:block>
|
13232
|
+
<curr_id><xsl:value-of select="$curr_id"/></curr_id>
|
13233
|
+
<xsl:copy-of select="$reviews"/>
|
13234
|
+
</fo:block> -->
|
13235
|
+
</xsl:template>
|
13236
|
+
|
13107
13237
|
<!-- main sections -->
|
13108
13238
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
|
13109
13239
|
|
@@ -13112,6 +13242,8 @@
|
|
13112
13242
|
|
13113
13243
|
<xsl:call-template name="sections_element_style"/>
|
13114
13244
|
|
13245
|
+
<xsl:call-template name="addReviewHelper"/>
|
13246
|
+
|
13115
13247
|
<xsl:apply-templates/>
|
13116
13248
|
</fo:block>
|
13117
13249
|
|
@@ -13147,6 +13279,7 @@
|
|
13147
13279
|
|
13148
13280
|
<fo:block>
|
13149
13281
|
<xsl:call-template name="setId"/>
|
13282
|
+
<xsl:call-template name="addReviewHelper"/>
|
13150
13283
|
<xsl:apply-templates/>
|
13151
13284
|
</fo:block>
|
13152
13285
|
</xsl:template>
|
@@ -13183,6 +13316,8 @@
|
|
13183
13316
|
|
13184
13317
|
<xsl:call-template name="refine_clause_style"/>
|
13185
13318
|
|
13319
|
+
<xsl:call-template name="addReviewHelper"/>
|
13320
|
+
|
13186
13321
|
<xsl:apply-templates/>
|
13187
13322
|
</fo:block>
|
13188
13323
|
</xsl:template>
|
@@ -13235,6 +13370,23 @@
|
|
13235
13370
|
|
13236
13371
|
<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
|
13237
13372
|
|
13373
|
+
<xsl:if test="1 = 1">
|
13374
|
+
<xsl:choose>
|
13375
|
+
<!-- if there isn't the attribute '@from', then -->
|
13376
|
+
<xsl:when test="$id_from = ''">
|
13377
|
+
<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>
|
13378
|
+
</xsl:when>
|
13379
|
+
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
13380
|
+
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
13381
|
+
<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>
|
13382
|
+
</xsl:when>
|
13383
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
13384
|
+
<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>
|
13385
|
+
</xsl:when>
|
13386
|
+
</xsl:choose>
|
13387
|
+
</xsl:if>
|
13388
|
+
|
13389
|
+
<xsl:if test="1 = 2">
|
13238
13390
|
<xsl:choose>
|
13239
13391
|
<!-- if there isn't the attribute '@from', then -->
|
13240
13392
|
<xsl:when test="$id_from = ''">
|
@@ -13248,6 +13400,7 @@
|
|
13248
13400
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
13249
13401
|
</xsl:when>
|
13250
13402
|
</xsl:choose>
|
13403
|
+
</xsl:if>
|
13251
13404
|
|
13252
13405
|
</xsl:template>
|
13253
13406
|
|
@@ -14667,7 +14820,7 @@
|
|
14667
14820
|
<!-- remove preprocess-xslt -->
|
14668
14821
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
|
14669
14822
|
|
14670
|
-
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'stem'] | *[local-name() = 'image'] | *[local-name() = 'sourcecode'] | *[local-name() = 'bibdata'] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
|
14823
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" 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">
|
14671
14824
|
<xsl:copy-of select="."/>
|
14672
14825
|
</xsl:template>
|
14673
14826
|
|
@@ -14733,6 +14886,22 @@
|
|
14733
14886
|
</xsl:choose>
|
14734
14887
|
</xsl:template>
|
14735
14888
|
|
14889
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
|
14890
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'passthrough']" mode="update_xml_step1">
|
14891
|
+
<!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
|
14892
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
|
14893
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
14894
|
+
</xsl:if>
|
14895
|
+
</xsl:template>
|
14896
|
+
|
14897
|
+
<!-- split math by element with @linebreak into maths -->
|
14898
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
|
14899
|
+
<xsl:variable name="maths">
|
14900
|
+
<xsl:apply-templates select="." mode="mathml_linebreak"/>
|
14901
|
+
</xsl:variable>
|
14902
|
+
<xsl:copy-of select="$maths"/>
|
14903
|
+
</xsl:template>
|
14904
|
+
|
14736
14905
|
<!-- =========================================================================== -->
|
14737
14906
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
14738
14907
|
<!-- =========================================================================== -->
|
@@ -14836,6 +15005,8 @@
|
|
14836
15005
|
|
14837
15006
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertOpeningElements">
|
14838
15007
|
<xsl:param name="tree"/>
|
15008
|
+
<xsl:param name="xmlns"/>
|
15009
|
+
<xsl:param name="add_continue">true</xsl:param>
|
14839
15010
|
<xsl:for-each select="$tree//element">
|
14840
15011
|
<xsl:text disable-output-escaping="yes"><</xsl:text>
|
14841
15012
|
<xsl:value-of select="."/>
|
@@ -14846,7 +15017,8 @@
|
|
14846
15017
|
<xsl:value-of select="."/>
|
14847
15018
|
<xsl:text>"</xsl:text>
|
14848
15019
|
</xsl:for-each>
|
14849
|
-
<xsl:if test="position() = 1"> continue="true"</xsl:if>
|
15020
|
+
<xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
|
15021
|
+
<xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
|
14850
15022
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
14851
15023
|
<xsl:if test="$debug = 'true'">
|
14852
15024
|
<xsl:message><<xsl:value-of select="."/>></xsl:message>
|
@@ -114,6 +114,20 @@ module IsoDoc
|
|
114
114
|
id = UUIDTools::UUID.random_create.to_s
|
115
115
|
"<fn reference='#{id}'><p>#{note.content}</p></fn>"
|
116
116
|
end
|
117
|
+
|
118
|
+
def omit_docid_prefix(prefix)
|
119
|
+
prefix == "DOI" and return true
|
120
|
+
super
|
121
|
+
end
|
122
|
+
|
123
|
+
def bracket_if_num(num)
|
124
|
+
return nil if num.nil?
|
125
|
+
|
126
|
+
num = num.text.sub(/^\[/, "").sub(/\]$/, "")
|
127
|
+
return "[#{num}]" if /^B?\d+$/.match?(num)
|
128
|
+
|
129
|
+
num
|
130
|
+
end
|
117
131
|
end
|
118
132
|
end
|
119
133
|
end
|
@@ -10,8 +10,7 @@ module IsoDoc
|
|
10
10
|
c = IsoDoc::XrefGen::Counter.new("@")
|
11
11
|
elem.xpath(ns("./definition")).each do |d|
|
12
12
|
c.increment(d)
|
13
|
-
d.elements.first.
|
14
|
-
"<strong>(#{c.print})</strong> "
|
13
|
+
d.elements.first.add_first_child "<strong>(#{c.print})</strong> "
|
15
14
|
end
|
16
15
|
end
|
17
16
|
|
@@ -214,6 +213,13 @@ module IsoDoc
|
|
214
213
|
end
|
215
214
|
end
|
216
215
|
|
216
|
+
# domain is rendered in designation_field instead
|
217
|
+
def termdomain(elem)
|
218
|
+
d = elem.at(ns(".//domain")) or return
|
219
|
+
d["hidden"] = "true"
|
220
|
+
end
|
221
|
+
|
222
|
+
# TODO wrap domain not in <domain>, but <span class="domain"> or equivalent
|
217
223
|
def designation_field(desgn, name)
|
218
224
|
if desgn.name == "preferred"
|
219
225
|
f = desgn.xpath(ns("./../domain | ./../subject")).map(&:remove)
|
@@ -235,11 +241,20 @@ module IsoDoc
|
|
235
241
|
pref << " (#{tail})"
|
236
242
|
end
|
237
243
|
|
244
|
+
def termnote_delim(_elem)
|
245
|
+
"—"
|
246
|
+
end
|
247
|
+
|
238
248
|
def termnote1(elem)
|
239
|
-
lbl =
|
249
|
+
lbl = termnote_label(elem)
|
240
250
|
prefix_name(elem, block_delim, lower2cap(lbl), "name")
|
241
251
|
end
|
242
252
|
|
253
|
+
def termnote_label(elem)
|
254
|
+
lbl = l10n(@xrefs.anchor(elem["id"], :label)&.strip || "???")
|
255
|
+
l10n "#{lbl}#{termnote_delim(elem)}"
|
256
|
+
end
|
257
|
+
|
243
258
|
def term(docxml); end
|
244
259
|
|
245
260
|
def concept1(node)
|
@@ -18,8 +18,9 @@ module IsoDoc
|
|
18
18
|
ret = resolve_eref_connectives(eref_locality_stacks(refs, target,
|
19
19
|
node))
|
20
20
|
node["droploc"] = droploc
|
21
|
+
p = prefix_clause(target, refs.first.at(ns("./locality")))
|
21
22
|
eref_localities1({ target: target, number: "pl",
|
22
|
-
type:
|
23
|
+
type: p,
|
23
24
|
from: l10n(ret[1..-1].join), node: node,
|
24
25
|
lang: @lang })
|
25
26
|
end
|
@@ -72,13 +73,8 @@ module IsoDoc
|
|
72
73
|
"—"
|
73
74
|
end
|
74
75
|
|
75
|
-
def
|
76
|
-
|
77
|
-
n = @xrefs.get[elem["id"]]
|
78
|
-
lbl = if n.nil? || n[:label].nil? || n[:label].empty? then @i18n.note
|
79
|
-
else l10n("#{@i18n.note} #{n[:label]}")
|
80
|
-
end
|
81
|
-
prefix_name(elem, block_delim, lbl, "name")
|
76
|
+
def note_delim(_elem)
|
77
|
+
"—"
|
82
78
|
end
|
83
79
|
|
84
80
|
def annex1(elem)
|
@@ -95,7 +91,7 @@ module IsoDoc
|
|
95
91
|
t.name = "variant-title"
|
96
92
|
t["type"] = "sub"
|
97
93
|
end
|
98
|
-
elem.
|
94
|
+
elem.add_first_child "<title>#{lbl}</title>"
|
99
95
|
end
|
100
96
|
|
101
97
|
def annex1_default(elem)
|
@@ -216,6 +212,13 @@ module IsoDoc
|
|
216
212
|
dest.children.first.next = source
|
217
213
|
end
|
218
214
|
|
215
|
+
def example1(elem)
|
216
|
+
super
|
217
|
+
n = elem.at(ns("./name")) or return
|
218
|
+
n << l10n(":")
|
219
|
+
n.children.wrap("<em></em>")
|
220
|
+
end
|
221
|
+
|
219
222
|
include Init
|
220
223
|
end
|
221
224
|
end
|
@@ -153,9 +153,9 @@ module IsoDoc
|
|
153
153
|
def feedback_style1(div, idx)
|
154
154
|
div.xpath(".//p").each_with_index do |p, j|
|
155
155
|
p["class"] = idx == 4 ? "IEEEStdsCRTextItal" : "IEEEStdsCRTextReg"
|
156
|
-
j.zero? && idx.zero? and
|
157
|
-
|
158
|
-
|
156
|
+
j.zero? && idx.zero? and p.add_first_child <<~XML
|
157
|
+
<a style="mso-footnote-id:ftn0" href="#_ftnref0" name="_ftn0" title=""/>
|
158
|
+
XML
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
@@ -203,9 +203,9 @@ module IsoDoc
|
|
203
203
|
end
|
204
204
|
|
205
205
|
def abstract_header(dest)
|
206
|
-
dest.elements.first.
|
207
|
-
|
208
|
-
|
206
|
+
dest.elements.first.add_first_child <<~XML
|
207
|
+
<span class='IEEEStdsAbstractHeader'><span lang='EN-US'>Abstract:</span></span>
|
208
|
+
XML
|
209
209
|
end
|
210
210
|
|
211
211
|
def introduction_cleanup(docxml)
|
@@ -17,7 +17,7 @@
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
18
18
|
of this.
|
19
19
|
-->
|
20
|
-
<!-- VERSION v1.
|
20
|
+
<!-- VERSION v1.4.0 -->
|
21
21
|
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
22
22
|
<include href="reqt.rng"/>
|
23
23
|
<include href="basicdoc.rng">
|
data/metanorma-ieee.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.require_paths = ["lib"]
|
26
26
|
spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
|
27
27
|
|
28
|
-
spec.add_dependency "metanorma-standoc", "~> 2.
|
28
|
+
spec.add_dependency "metanorma-standoc", "~> 2.10.0"
|
29
29
|
spec.add_dependency "mnconvert", "~> 1.20"
|
30
30
|
spec.add_dependency "pubid"
|
31
31
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-ieee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-standoc
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.10.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.10.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mnconvert
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|