metanorma-iec 2.5.6 → 2.5.8
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/iec/base_convert.rb +11 -16
- data/lib/isodoc/iec/iec.international-standard.xsl +691 -175
- data/lib/isodoc/iec/init.rb +2 -3
- data/lib/isodoc/iec/metadata.rb +12 -12
- data/lib/isodoc/iec/presentation_terms.rb +33 -13
- data/lib/isodoc/iec/presentation_xml_convert.rb +14 -11
- data/lib/isodoc/iec/word_convert.rb +3 -4
- data/lib/isodoc/iec/xref.rb +19 -6
- data/lib/metanorma/iec/biblio.rng +13 -1
- data/lib/metanorma/iec/front.rb +0 -1
- data/lib/metanorma/iec/isodoc.rng +6 -6
- data/lib/metanorma/iec/relaton-iec.rng +15 -32
- data/lib/metanorma/iec/version.rb +1 -1
- data/metanorma-iec.gemspec +1 -1
- metadata +4 -4
@@ -221,6 +221,12 @@
|
|
221
221
|
<xsl:with-param name="contents" select="$contents"/>
|
222
222
|
</xsl:call-template>
|
223
223
|
|
224
|
+
<xsl:if test="$debug = 'true'">
|
225
|
+
<redirect:write file="contents_.xml"> <!-- {java:getTime(java:java.util.Date.new())} -->
|
226
|
+
<xsl:copy-of select="$contents"/>
|
227
|
+
</redirect:write>
|
228
|
+
</xsl:if>
|
229
|
+
|
224
230
|
<!-- For 'Published' documents insert two cover pages -->
|
225
231
|
<xsl:if test="$stage >= 60">
|
226
232
|
|
@@ -868,12 +874,6 @@
|
|
868
874
|
</fo:page-sequence> <!-- END: cover-FDIS -->
|
869
875
|
</xsl:if>
|
870
876
|
|
871
|
-
<!-- <xsl:if test="$debug = 'true'">
|
872
|
-
<redirect:write file="contents_{java:getTime(java:java.util.Date.new())}.xml">
|
873
|
-
<xsl:copy-of select="$contents"/>
|
874
|
-
</redirect:write>
|
875
|
-
</xsl:if> -->
|
876
|
-
|
877
877
|
<xsl:for-each select="//iec:iec-standard">
|
878
878
|
<xsl:variable name="lang" select="*[local-name()='bibdata']/*[local-name()='language'][@current = 'true']"/>
|
879
879
|
<xsl:variable name="current_document">
|
@@ -1591,10 +1591,10 @@
|
|
1591
1591
|
<!-- ============================= -->
|
1592
1592
|
|
1593
1593
|
<!-- element with title -->
|
1594
|
-
<xsl:template match="*[iec:title]" mode="contents">
|
1594
|
+
<xsl:template match="*[iec:title or iec:fmt-title]" mode="contents">
|
1595
1595
|
<xsl:variable name="level">
|
1596
1596
|
<xsl:call-template name="getLevel">
|
1597
|
-
<xsl:with-param name="depth" select="iec:title/@depth"/>
|
1597
|
+
<xsl:with-param name="depth" select="iec:fmt-title/@depth | iec:title/@depth"/>
|
1598
1598
|
</xsl:call-template>
|
1599
1599
|
</xsl:variable>
|
1600
1600
|
|
@@ -1649,7 +1649,14 @@
|
|
1649
1649
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title))"/>
|
1650
1650
|
</xsl:when>
|
1651
1651
|
<xsl:when test="$type = 'appendix'">
|
1652
|
-
<xsl:
|
1652
|
+
<xsl:choose>
|
1653
|
+
<xsl:when test="iec:fmt-title">
|
1654
|
+
<xsl:apply-templates select="iec:fmt-title" mode="contents_item"/>
|
1655
|
+
</xsl:when>
|
1656
|
+
<xsl:otherwise>
|
1657
|
+
<xsl:apply-templates select="iec:title" mode="contents_item"/>
|
1658
|
+
</xsl:otherwise>
|
1659
|
+
</xsl:choose>
|
1653
1660
|
</xsl:when>
|
1654
1661
|
<xsl:otherwise>
|
1655
1662
|
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
@@ -2163,7 +2170,7 @@
|
|
2163
2170
|
</xsl:copy>
|
2164
2171
|
</xsl:template> -->
|
2165
2172
|
|
2166
|
-
<xsl:strip-space elements="iec:xref"/>
|
2173
|
+
<!-- <xsl:strip-space elements="iec:xref"/> -->
|
2167
2174
|
|
2168
2175
|
<xsl:variable name="namespace_full" select="namespace-uri(/*)"/> <!-- example: https://www.metanorma.org/ns/iso -->
|
2169
2176
|
<xsl:variable name="root_element" select="local-name(/*)"/> <!-- example: iso-standard -->
|
@@ -3183,6 +3190,10 @@
|
|
3183
3190
|
|
3184
3191
|
<xsl:template name="refine_termnote-name-style">
|
3185
3192
|
|
3193
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
3194
|
+
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
3195
|
+
</xsl:if> -->
|
3196
|
+
|
3186
3197
|
</xsl:template>
|
3187
3198
|
|
3188
3199
|
<xsl:attribute-set name="termnote-p-style">
|
@@ -3895,9 +3906,21 @@
|
|
3895
3906
|
<xsl:template name="processTables_Contents">
|
3896
3907
|
<tables>
|
3897
3908
|
<xsl:for-each select="//*[local-name() = 'table'][not(ancestor::*[local-name() = 'metanorma-extension'])][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
3898
|
-
<
|
3899
|
-
<xsl:
|
3900
|
-
|
3909
|
+
<xsl:choose>
|
3910
|
+
<xsl:when test="*[local-name() = 'fmt-name']">
|
3911
|
+
<xsl:variable name="fmt_name">
|
3912
|
+
<xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
|
3913
|
+
</xsl:variable>
|
3914
|
+
<table id="{@id}" alt-text="{normalize-space($fmt_name)}">
|
3915
|
+
<xsl:copy-of select="$fmt_name"/>
|
3916
|
+
</table>
|
3917
|
+
</xsl:when>
|
3918
|
+
<xsl:otherwise>
|
3919
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3920
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3921
|
+
</table>
|
3922
|
+
</xsl:otherwise>
|
3923
|
+
</xsl:choose>
|
3901
3924
|
</xsl:for-each>
|
3902
3925
|
</tables>
|
3903
3926
|
</xsl:template>
|
@@ -3905,9 +3928,21 @@
|
|
3905
3928
|
<xsl:template name="processFigures_Contents">
|
3906
3929
|
<figures>
|
3907
3930
|
<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) != '']">
|
3908
|
-
<
|
3909
|
-
<xsl:
|
3910
|
-
|
3931
|
+
<xsl:choose>
|
3932
|
+
<xsl:when test="*[local-name() = 'fmt-name']">
|
3933
|
+
<xsl:variable name="fmt_name">
|
3934
|
+
<xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
|
3935
|
+
</xsl:variable>
|
3936
|
+
<figure id="{@id}" alt-text="{normalize-space($fmt_name)}">
|
3937
|
+
<xsl:copy-of select="$fmt_name"/>
|
3938
|
+
</figure>
|
3939
|
+
</xsl:when>
|
3940
|
+
<xsl:otherwise>
|
3941
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3942
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3943
|
+
</figure>
|
3944
|
+
</xsl:otherwise>
|
3945
|
+
</xsl:choose>
|
3911
3946
|
</xsl:for-each>
|
3912
3947
|
</figures>
|
3913
3948
|
</xsl:template>
|
@@ -5804,6 +5839,11 @@
|
|
5804
5839
|
|
5805
5840
|
<xsl:value-of select="@reference"/>
|
5806
5841
|
|
5842
|
+
<!-- commented https://github.com/metanorma/isodoc/issues/614 -->
|
5843
|
+
<!-- <xsl:if test="$namespace = 'itu'">
|
5844
|
+
<xsl:text>)</xsl:text>
|
5845
|
+
</xsl:if> -->
|
5846
|
+
|
5807
5847
|
</fo:inline>
|
5808
5848
|
<fo:inline xsl:use-attribute-sets="table-fn-body-style">
|
5809
5849
|
<xsl:copy-of select="./node()"/>
|
@@ -5813,7 +5853,7 @@
|
|
5813
5853
|
|
5814
5854
|
</xsl:if>
|
5815
5855
|
</xsl:for-each>
|
5816
|
-
</xsl:template>
|
5856
|
+
</xsl:template> <!-- table_fn_display -->
|
5817
5857
|
|
5818
5858
|
<xsl:template name="create_fn">
|
5819
5859
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
@@ -5841,8 +5881,10 @@
|
|
5841
5881
|
<!-- EMD table's footnotes rendering -->
|
5842
5882
|
<!-- ============================ -->
|
5843
5883
|
|
5884
|
+
<!-- ============================ -->
|
5844
5885
|
<!-- figure's footnotes rendering -->
|
5845
|
-
|
5886
|
+
<!-- ============================ -->
|
5887
|
+
<xsl:template name="fn_display_figure"> <!-- figure_fn_display -->
|
5846
5888
|
|
5847
5889
|
<!-- current figure id -->
|
5848
5890
|
<xsl:variable name="figure_id_">
|
@@ -5955,9 +5997,30 @@
|
|
5955
5997
|
|
5956
5998
|
</fo:block>
|
5957
5999
|
</xsl:if>
|
5958
|
-
|
5959
6000
|
</xsl:template> <!-- fn_display_figure -->
|
5960
6001
|
|
6002
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
6003
|
+
<!-- figure's footnote label -->
|
6004
|
+
<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">
|
6005
|
+
<xsl:variable name="key_iso">
|
6006
|
+
true
|
6007
|
+
</xsl:variable>
|
6008
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
6009
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
6010
|
+
|
6011
|
+
<xsl:attribute name="font-size">8pt</xsl:attribute>
|
6012
|
+
|
6013
|
+
</xsl:if>
|
6014
|
+
<fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}" -->
|
6015
|
+
<!-- <xsl:value-of select="@reference"/> -->
|
6016
|
+
<xsl:apply-templates/>
|
6017
|
+
</fo:inline>
|
6018
|
+
</xsl:template>
|
6019
|
+
|
6020
|
+
<!-- ============================ -->
|
6021
|
+
<!-- END: figure's footnotes rendering -->
|
6022
|
+
<!-- ============================ -->
|
6023
|
+
|
5961
6024
|
<!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
|
5962
6025
|
<xsl:template match="*[local-name()='fn']">
|
5963
6026
|
<fo:inline xsl:use-attribute-sets="fn-reference-style">
|
@@ -5973,6 +6036,10 @@
|
|
5973
6036
|
|
5974
6037
|
<xsl:value-of select="@reference"/>
|
5975
6038
|
|
6039
|
+
<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
|
6040
|
+
<!-- <xsl:if test="$namespace = 'jis'">
|
6041
|
+
<fo:inline font-weight="normal">)</fo:inline>
|
6042
|
+
</xsl:if> -->
|
5976
6043
|
</fo:basic-link>
|
5977
6044
|
</fo:inline>
|
5978
6045
|
</xsl:template>
|
@@ -6104,17 +6171,22 @@
|
|
6104
6171
|
</fo:block>
|
6105
6172
|
</xsl:when> <!-- END: a few components -->
|
6106
6173
|
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
|
6107
|
-
|
6174
|
+
<!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
|
6175
|
+
<xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
|
6108
6176
|
|
6109
|
-
|
6177
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
6110
6178
|
|
6111
|
-
|
6112
|
-
|
6113
|
-
|
6114
|
-
|
6115
|
-
|
6116
|
-
|
6117
|
-
|
6179
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
6180
|
+
|
6181
|
+
<xsl:variable name="title-key">
|
6182
|
+
<xsl:call-template name="getLocalizedString">
|
6183
|
+
<xsl:with-param name="key">key</xsl:with-param>
|
6184
|
+
</xsl:call-template>
|
6185
|
+
</xsl:variable>
|
6186
|
+
<xsl:value-of select="$title-key"/>
|
6187
|
+
</fo:block>
|
6188
|
+
|
6189
|
+
</xsl:if>
|
6118
6190
|
</xsl:when> <!-- END: definition list in a figure -->
|
6119
6191
|
</xsl:choose>
|
6120
6192
|
|
@@ -6302,6 +6374,14 @@
|
|
6302
6374
|
|
6303
6375
|
</xsl:template> <!-- END: dl -->
|
6304
6376
|
|
6377
|
+
<!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
|
6378
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
|
6379
|
+
<fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
|
6380
|
+
<xsl:call-template name="refine_figure_key_style"/>
|
6381
|
+
<xsl:apply-templates/>
|
6382
|
+
</fo:block>
|
6383
|
+
</xsl:template>
|
6384
|
+
|
6305
6385
|
<xsl:template name="refine_dl_formula_where_style">
|
6306
6386
|
|
6307
6387
|
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
@@ -8410,6 +8490,39 @@
|
|
8410
8490
|
</xsl:copy>
|
8411
8491
|
</xsl:template>
|
8412
8492
|
|
8493
|
+
<xsl:template match="@*|node()" mode="mathml_linebreak">
|
8494
|
+
<xsl:copy>
|
8495
|
+
<xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
|
8496
|
+
</xsl:copy>
|
8497
|
+
</xsl:template>
|
8498
|
+
|
8499
|
+
<!-- split math into two math -->
|
8500
|
+
<xsl:template match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
|
8501
|
+
<xsl:variable name="math_elements_tree_">
|
8502
|
+
<xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
|
8503
|
+
<element pos="{position()}">
|
8504
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/>
|
8505
|
+
<xsl:value-of select="name()"/>
|
8506
|
+
</element>
|
8507
|
+
</xsl:for-each>
|
8508
|
+
</xsl:variable>
|
8509
|
+
|
8510
|
+
<xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
|
8511
|
+
|
8512
|
+
<xsl:call-template name="insertClosingElements">
|
8513
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
8514
|
+
</xsl:call-template>
|
8515
|
+
|
8516
|
+
<xsl:element name="br" namespace="{$namespace_full}"/>
|
8517
|
+
|
8518
|
+
<xsl:call-template name="insertOpeningElements">
|
8519
|
+
<xsl:with-param name="tree" select="$math_elements_tree"/>
|
8520
|
+
<xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
|
8521
|
+
<xsl:with-param name="add_continue">false</xsl:with-param>
|
8522
|
+
</xsl:call-template>
|
8523
|
+
|
8524
|
+
</xsl:template>
|
8525
|
+
|
8413
8526
|
<!-- Examples:
|
8414
8527
|
<stem type="AsciiMath">x = 1</stem>
|
8415
8528
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -8661,9 +8774,11 @@
|
|
8661
8774
|
</xsl:template>
|
8662
8775
|
|
8663
8776
|
<xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
|
8777
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
8664
8778
|
<xsl:if test="normalize-space() != ''">
|
8665
|
-
<xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
|
8666
|
-
</xsl:if>
|
8779
|
+
<xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
|
8780
|
+
</xsl:if> -->
|
8781
|
+
<xsl:apply-templates/>
|
8667
8782
|
</xsl:template>
|
8668
8783
|
|
8669
8784
|
<!-- stem inside formula with name (with formula's number) -->
|
@@ -8734,6 +8849,8 @@
|
|
8734
8849
|
|
8735
8850
|
<fo:inline xsl:use-attribute-sets="note-name-style" role="SKIP">
|
8736
8851
|
|
8852
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab"/>
|
8853
|
+
|
8737
8854
|
<xsl:call-template name="refine_note-name-style"/>
|
8738
8855
|
|
8739
8856
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
@@ -8790,10 +8907,6 @@
|
|
8790
8907
|
|
8791
8908
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
8792
8909
|
|
8793
|
-
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
8794
|
-
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
8795
|
-
</xsl:if>
|
8796
|
-
|
8797
8910
|
<xsl:call-template name="refine_termnote-name-style"/>
|
8798
8911
|
|
8799
8912
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
@@ -8819,6 +8932,17 @@
|
|
8819
8932
|
</xsl:when>
|
8820
8933
|
<xsl:otherwise>
|
8821
8934
|
|
8935
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
8936
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
8937
|
+
<xsl:text>—</xsl:text> em dash —
|
8938
|
+
</xsl:if> -->
|
8939
|
+
<!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
|
8940
|
+
<xsl:text>:</xsl:text>
|
8941
|
+
</xsl:if> -->
|
8942
|
+
|
8943
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
8944
|
+
<xsl:text> – </xsl:text> en dash –
|
8945
|
+
</xsl:if> -->
|
8822
8946
|
</xsl:otherwise>
|
8823
8947
|
</xsl:choose>
|
8824
8948
|
</xsl:variable>
|
@@ -8837,8 +8961,16 @@
|
|
8837
8961
|
</xsl:when>
|
8838
8962
|
<xsl:otherwise>
|
8839
8963
|
|
8964
|
+
<!-- https://github.com/metanorma/isodoc/issues/607 -->
|
8965
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
8966
|
+
<xsl:text>—</xsl:text> em dash —
|
8967
|
+
</xsl:if> -->
|
8968
|
+
<!-- <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'">
|
8840
8969
|
<xsl:text>:</xsl:text>
|
8841
|
-
|
8970
|
+
</xsl:if> -->
|
8971
|
+
<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">
|
8972
|
+
<xsl:text> – </xsl:text> en dash –
|
8973
|
+
</xsl:if> -->
|
8842
8974
|
</xsl:otherwise>
|
8843
8975
|
</xsl:choose>
|
8844
8976
|
</xsl:variable>
|
@@ -8921,17 +9053,29 @@
|
|
8921
9053
|
<!-- Example: Dimensions in millimeters -->
|
8922
9054
|
<xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
|
8923
9055
|
|
9056
|
+
<xsl:variable name="show_figure_key_in_block_container">
|
9057
|
+
true
|
9058
|
+
</xsl:variable>
|
9059
|
+
|
8924
9060
|
<fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
|
8925
9061
|
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
|
8926
9062
|
</fo:block>
|
8927
|
-
|
8928
|
-
|
8929
|
-
|
8930
|
-
|
9063
|
+
|
9064
|
+
<xsl:if test="normalize-space($show_figure_key_in_block_container) = 'true'">
|
9065
|
+
<xsl:call-template name="showFigureKey"/>
|
9066
|
+
</xsl:if>
|
8931
9067
|
|
8932
9068
|
<xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
|
8933
9069
|
|
8934
9070
|
</fo:block-container>
|
9071
|
+
|
9072
|
+
</xsl:template>
|
9073
|
+
|
9074
|
+
<xsl:template name="showFigureKey">
|
9075
|
+
<xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
|
9076
|
+
<xsl:call-template name="note"/>
|
9077
|
+
</xsl:for-each>
|
9078
|
+
<xsl:call-template name="fn_display_figure"/>
|
8935
9079
|
</xsl:template>
|
8936
9080
|
|
8937
9081
|
<xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
|
@@ -9129,6 +9273,22 @@
|
|
9129
9273
|
</xsl:if>
|
9130
9274
|
</xsl:template>
|
9131
9275
|
|
9276
|
+
<xsl:template name="getImageSrc">
|
9277
|
+
<xsl:choose>
|
9278
|
+
<xsl:when test="not(starts-with(@src, 'data:'))">
|
9279
|
+
<xsl:choose>
|
9280
|
+
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
9281
|
+
<xsl:value-of select="@src"/>
|
9282
|
+
</xsl:when>
|
9283
|
+
<xsl:otherwise>
|
9284
|
+
<xsl:value-of select="concat($basepath, @src)"/>
|
9285
|
+
</xsl:otherwise>
|
9286
|
+
</xsl:choose>
|
9287
|
+
</xsl:when>
|
9288
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
9289
|
+
</xsl:choose>
|
9290
|
+
</xsl:template>
|
9291
|
+
|
9132
9292
|
<xsl:template name="getImageScale">
|
9133
9293
|
<xsl:param name="indent"/>
|
9134
9294
|
<xsl:variable name="indent_left">
|
@@ -9138,19 +9298,7 @@
|
|
9138
9298
|
</xsl:choose>
|
9139
9299
|
</xsl:variable>
|
9140
9300
|
<xsl:variable name="img_src">
|
9141
|
-
<xsl:
|
9142
|
-
<xsl:when test="not(starts-with(@src, 'data:'))">
|
9143
|
-
<xsl:choose>
|
9144
|
-
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
9145
|
-
<xsl:value-of select="@src"/>
|
9146
|
-
</xsl:when>
|
9147
|
-
<xsl:otherwise>
|
9148
|
-
<xsl:value-of select="concat($basepath, @src)"/>
|
9149
|
-
</xsl:otherwise>
|
9150
|
-
</xsl:choose>
|
9151
|
-
</xsl:when>
|
9152
|
-
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
9153
|
-
</xsl:choose>
|
9301
|
+
<xsl:call-template name="getImageSrc"/>
|
9154
9302
|
</xsl:variable>
|
9155
9303
|
|
9156
9304
|
<xsl:variable name="image_width_effective">
|
@@ -9158,10 +9306,15 @@
|
|
9158
9306
|
<xsl:value-of select="$width_effective - number($indent_left)"/>
|
9159
9307
|
|
9160
9308
|
</xsl:variable>
|
9309
|
+
<xsl:variable name="image_height_effective" select="$height_effective - number($indent_left)"/>
|
9161
9310
|
<!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
|
9162
9311
|
<xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
|
9163
9312
|
<xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
|
9164
|
-
<xsl:variable name="scale"
|
9313
|
+
<xsl:variable name="scale">
|
9314
|
+
|
9315
|
+
<xsl:value-of select="java:org.metanorma.fop.utils.ImageUtils.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
9316
|
+
|
9317
|
+
</xsl:variable>
|
9165
9318
|
<xsl:value-of select="$scale"/>
|
9166
9319
|
</xsl:template>
|
9167
9320
|
|
@@ -9714,20 +9867,48 @@
|
|
9714
9867
|
<xsl:template match="*[local-name() = 'emf']"/>
|
9715
9868
|
|
9716
9869
|
<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">
|
9870
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
|
9871
|
+
<xsl:apply-templates mode="contents"/>
|
9872
|
+
<xsl:text> </xsl:text>
|
9873
|
+
</xsl:if>
|
9874
|
+
</xsl:template>
|
9875
|
+
|
9876
|
+
<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="contents"/>
|
9877
|
+
|
9878
|
+
<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">
|
9717
9879
|
<xsl:apply-templates mode="contents"/>
|
9718
9880
|
<xsl:text> </xsl:text>
|
9719
9881
|
</xsl:template>
|
9720
9882
|
|
9721
9883
|
<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">
|
9884
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
|
9885
|
+
<xsl:apply-templates mode="bookmarks"/>
|
9886
|
+
<xsl:text> </xsl:text>
|
9887
|
+
</xsl:if>
|
9888
|
+
</xsl:template>
|
9889
|
+
|
9890
|
+
<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">
|
9722
9891
|
<xsl:apply-templates mode="bookmarks"/>
|
9723
9892
|
<xsl:text> </xsl:text>
|
9724
9893
|
</xsl:template>
|
9725
9894
|
|
9726
9895
|
<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">
|
9896
|
+
<xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
|
9897
|
+
<xsl:value-of select="."/>
|
9898
|
+
</xsl:if>
|
9899
|
+
</xsl:template>
|
9900
|
+
|
9901
|
+
<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">
|
9727
9902
|
<xsl:value-of select="."/>
|
9728
9903
|
</xsl:template>
|
9729
9904
|
|
9730
9905
|
<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">
|
9906
|
+
<xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
|
9907
|
+
<xsl:value-of select="."/>
|
9908
|
+
</xsl:if>
|
9909
|
+
</xsl:template>
|
9910
|
+
|
9911
|
+
<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">
|
9731
9912
|
<xsl:value-of select="."/>
|
9732
9913
|
</xsl:template>
|
9733
9914
|
|
@@ -9748,7 +9929,7 @@
|
|
9748
9929
|
</xsl:template>
|
9749
9930
|
|
9750
9931
|
<!-- special case: ignore section-title if @depth different than @depth of parent clause, or @depth of parent clause = 1 -->
|
9751
|
-
<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"/>
|
9932
|
+
<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"/>
|
9752
9933
|
|
9753
9934
|
<xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
|
9754
9935
|
<xsl:variable name="level">
|
@@ -9760,6 +9941,9 @@
|
|
9760
9941
|
<xsl:variable name="section">
|
9761
9942
|
<xsl:choose>
|
9762
9943
|
<xsl:when test="@type = 'section-title'"/>
|
9944
|
+
<xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
|
9945
|
+
<xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
|
9946
|
+
</xsl:when>
|
9763
9947
|
<xsl:otherwise>
|
9764
9948
|
<xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
9765
9949
|
</xsl:otherwise>
|
@@ -9782,6 +9966,19 @@
|
|
9782
9966
|
|
9783
9967
|
<xsl:variable name="title">
|
9784
9968
|
<xsl:choose>
|
9969
|
+
<!-- https://github.com/metanorma/mn-native-pdf/issues/770 -->
|
9970
|
+
<xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
|
9971
|
+
<xsl:choose>
|
9972
|
+
<xsl:when test="@type = 'section-title'">
|
9973
|
+
<xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
|
9974
|
+
<xsl:text>: </xsl:text>
|
9975
|
+
<xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
|
9976
|
+
</xsl:when>
|
9977
|
+
<xsl:otherwise>
|
9978
|
+
<xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
|
9979
|
+
</xsl:otherwise>
|
9980
|
+
</xsl:choose>
|
9981
|
+
</xsl:when>
|
9785
9982
|
<xsl:when test="*[local-name() = 'tab']">
|
9786
9983
|
<xsl:choose>
|
9787
9984
|
<xsl:when test="@type = 'section-title'">
|
@@ -9817,7 +10014,7 @@
|
|
9817
10014
|
<xsl:apply-templates mode="bookmarks"/>
|
9818
10015
|
</xsl:template>
|
9819
10016
|
|
9820
|
-
<xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
|
10017
|
+
<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">
|
9821
10018
|
<xsl:apply-templates select="."/>
|
9822
10019
|
</xsl:template>
|
9823
10020
|
|
@@ -9830,6 +10027,10 @@
|
|
9830
10027
|
<xsl:apply-templates mode="contents"/>
|
9831
10028
|
</xsl:template>
|
9832
10029
|
|
10030
|
+
<xsl:template match="*[local-name() = 'semx']" mode="contents">
|
10031
|
+
<xsl:apply-templates mode="contents"/>
|
10032
|
+
</xsl:template>
|
10033
|
+
|
9833
10034
|
<xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
9834
10035
|
<xsl:apply-templates mode="bookmarks"/>
|
9835
10036
|
</xsl:template>
|
@@ -9839,9 +10040,14 @@
|
|
9839
10040
|
<xsl:apply-templates mode="bookmarks"/>
|
9840
10041
|
</xsl:template>
|
9841
10042
|
|
10043
|
+
<xsl:template match="*[local-name() = 'semx']" mode="bookmarks">
|
10044
|
+
<xsl:apply-templates mode="bookmarks"/>
|
10045
|
+
</xsl:template>
|
10046
|
+
|
9842
10047
|
<!-- Bookmarks -->
|
9843
10048
|
<xsl:template name="addBookmarks">
|
9844
10049
|
<xsl:param name="contents"/>
|
10050
|
+
<xsl:param name="contents_addon"/>
|
9845
10051
|
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
9846
10052
|
<xsl:if test="$contents_nodes//item">
|
9847
10053
|
<fo:bookmark-tree>
|
@@ -9939,6 +10145,9 @@
|
|
9939
10145
|
</xsl:otherwise>
|
9940
10146
|
</xsl:choose>
|
9941
10147
|
|
10148
|
+
<!-- for $namespace = 'nist-sp' $namespace = 'ogc' $namespace = 'ogc-white-paper' -->
|
10149
|
+
<xsl:copy-of select="$contents_addon"/>
|
10150
|
+
|
9942
10151
|
</fo:bookmark-tree>
|
9943
10152
|
</xsl:if>
|
9944
10153
|
</xsl:template>
|
@@ -10103,6 +10312,16 @@
|
|
10103
10312
|
<!-- ====== -->
|
10104
10313
|
<!-- ====== -->
|
10105
10314
|
<xsl:template match="*[local-name() = 'title']" mode="contents_item">
|
10315
|
+
<xsl:param name="mode">bookmarks</xsl:param>
|
10316
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-title'])">
|
10317
|
+
<xsl:apply-templates mode="contents_item">
|
10318
|
+
<xsl:with-param name="mode" select="$mode"/>
|
10319
|
+
</xsl:apply-templates>
|
10320
|
+
<!-- <xsl:text> </xsl:text> -->
|
10321
|
+
</xsl:if>
|
10322
|
+
</xsl:template>
|
10323
|
+
|
10324
|
+
<xsl:template match="*[local-name() = 'fmt-title']" mode="contents_item">
|
10106
10325
|
<xsl:param name="mode">bookmarks</xsl:param>
|
10107
10326
|
<xsl:apply-templates mode="contents_item">
|
10108
10327
|
<xsl:with-param name="mode" select="$mode"/>
|
@@ -10110,12 +10329,38 @@
|
|
10110
10329
|
<!-- <xsl:text> </xsl:text> -->
|
10111
10330
|
</xsl:template>
|
10112
10331
|
|
10332
|
+
<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">
|
10333
|
+
<xsl:apply-templates mode="contents_item"/>
|
10334
|
+
</xsl:template>
|
10335
|
+
|
10336
|
+
<xsl:template match="*[local-name() = 'semx']" mode="contents_item">
|
10337
|
+
<xsl:apply-templates mode="contents_item"/>
|
10338
|
+
</xsl:template>
|
10339
|
+
|
10340
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="contents_item"/>
|
10341
|
+
|
10113
10342
|
<xsl:template name="getSection">
|
10114
|
-
<xsl:
|
10343
|
+
<xsl:choose>
|
10344
|
+
<xsl:when test="*[local-name() = 'fmt-title']">
|
10345
|
+
<xsl:variable name="fmt_title_section">
|
10346
|
+
<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')]"/>
|
10347
|
+
</xsl:variable>
|
10348
|
+
<xsl:value-of select="normalize-space($fmt_title_section)"/>
|
10349
|
+
</xsl:when>
|
10350
|
+
<xsl:otherwise>
|
10351
|
+
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
10352
|
+
</xsl:otherwise>
|
10353
|
+
</xsl:choose>
|
10115
10354
|
</xsl:template>
|
10116
10355
|
|
10117
10356
|
<xsl:template name="getName">
|
10118
10357
|
<xsl:choose>
|
10358
|
+
<xsl:when test="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']]">
|
10359
|
+
<xsl:copy-of select="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']][1]/following-sibling::node()"/>
|
10360
|
+
</xsl:when>
|
10361
|
+
<xsl:when test="*[local-name() = 'fmt-title']">
|
10362
|
+
<xsl:copy-of select="*[local-name() = 'fmt-title']/node()"/>
|
10363
|
+
</xsl:when>
|
10119
10364
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
10120
10365
|
<xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
10121
10366
|
</xsl:when>
|
@@ -10222,6 +10467,15 @@
|
|
10222
10467
|
</xsl:template>
|
10223
10468
|
|
10224
10469
|
<xsl:template match="*[local-name() = 'name']" mode="contents_item">
|
10470
|
+
<xsl:param name="mode">bookmarks</xsl:param>
|
10471
|
+
<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
|
10472
|
+
<xsl:apply-templates mode="contents_item">
|
10473
|
+
<xsl:with-param name="mode" select="$mode"/>
|
10474
|
+
</xsl:apply-templates>
|
10475
|
+
</xsl:if>
|
10476
|
+
</xsl:template>
|
10477
|
+
|
10478
|
+
<xsl:template match="*[local-name() = 'fmt-name']" mode="contents_item">
|
10225
10479
|
<xsl:param name="mode">bookmarks</xsl:param>
|
10226
10480
|
<xsl:apply-templates mode="contents_item">
|
10227
10481
|
<xsl:with-param name="mode" select="$mode"/>
|
@@ -11019,7 +11273,7 @@
|
|
11019
11273
|
<xsl:if test="normalize-space() != ''">
|
11020
11274
|
<fo:inline xsl:use-attribute-sets="termexample-name-style">
|
11021
11275
|
<xsl:call-template name="refine_termexample-name-style"/>
|
11022
|
-
<xsl:apply-templates/>
|
11276
|
+
<xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
|
11023
11277
|
</fo:inline>
|
11024
11278
|
</xsl:if>
|
11025
11279
|
</xsl:template>
|
@@ -11060,113 +11314,114 @@
|
|
11060
11314
|
-->
|
11061
11315
|
<xsl:template match="*[local-name() = 'example']">
|
11062
11316
|
|
11063
|
-
|
11064
|
-
|
11065
|
-
<xsl:call-template name="setBlockSpanAll"/>
|
11317
|
+
<fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
|
11066
11318
|
|
11067
|
-
|
11319
|
+
<xsl:call-template name="setBlockSpanAll"/>
|
11068
11320
|
|
11069
|
-
|
11070
|
-
<xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
|
11321
|
+
<xsl:call-template name="refine_example-style"/>
|
11071
11322
|
|
11072
|
-
|
11073
|
-
|
11074
|
-
<xsl:when test="count(*[not(local-name() = 'name')]) = 1">inline</xsl:when>
|
11075
|
-
<xsl:otherwise>block</xsl:otherwise>
|
11076
|
-
</xsl:choose>
|
11323
|
+
<xsl:variable name="fo_element">
|
11324
|
+
<xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
|
11077
11325
|
|
11078
|
-
|
11326
|
+
<xsl:choose>
|
11327
|
+
<!-- if example contains only one (except 'name') element (paragraph for example), then display it on the same line as EXAMPLE title -->
|
11328
|
+
<xsl:when test="count(*[not(local-name() = 'name')]) = 1">inline</xsl:when>
|
11329
|
+
<xsl:otherwise>block</xsl:otherwise>
|
11330
|
+
</xsl:choose>
|
11079
11331
|
|
11080
|
-
|
11332
|
+
</xsl:variable>
|
11081
11333
|
|
11082
|
-
|
11334
|
+
<fo:block-container margin-left="0mm" role="SKIP">
|
11083
11335
|
|
11084
|
-
|
11336
|
+
<xsl:choose>
|
11085
11337
|
|
11086
|
-
|
11087
|
-
<fo:block>
|
11088
|
-
<xsl:apply-templates select="*[local-name()='name']">
|
11089
|
-
<xsl:with-param name="fo_element" select="$fo_element"/>
|
11090
|
-
</xsl:apply-templates>
|
11091
|
-
</fo:block>
|
11338
|
+
<xsl:when test="contains(normalize-space($fo_element), 'block')">
|
11092
11339
|
|
11093
|
-
|
11094
|
-
|
11095
|
-
|
11096
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
11340
|
+
<!-- display name 'EXAMPLE' in a separate block -->
|
11341
|
+
<fo:block>
|
11342
|
+
<xsl:apply-templates select="*[local-name()='name']">
|
11097
11343
|
<xsl:with-param name="fo_element" select="$fo_element"/>
|
11098
11344
|
</xsl:apply-templates>
|
11345
|
+
</fo:block>
|
11346
|
+
|
11347
|
+
<fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
|
11348
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
11349
|
+
<xsl:variable name="example_body">
|
11350
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
11351
|
+
<xsl:with-param name="fo_element" select="$fo_element"/>
|
11352
|
+
</xsl:apply-templates>
|
11353
|
+
</xsl:variable>
|
11354
|
+
<xsl:choose>
|
11355
|
+
<xsl:when test="xalan:nodeset($example_body)/*">
|
11356
|
+
<xsl:copy-of select="$example_body"/>
|
11357
|
+
</xsl:when>
|
11358
|
+
<xsl:otherwise><fo:block/><!-- prevent empty block-container --></xsl:otherwise>
|
11359
|
+
</xsl:choose>
|
11360
|
+
</fo:block-container>
|
11361
|
+
</fo:block-container>
|
11362
|
+
</xsl:when> <!-- end block -->
|
11363
|
+
|
11364
|
+
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
11365
|
+
|
11366
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
11367
|
+
7
|
11099
11368
|
</xsl:variable>
|
11100
|
-
<xsl:
|
11101
|
-
|
11102
|
-
|
11103
|
-
|
11104
|
-
|
11105
|
-
</xsl:choose>
|
11106
|
-
</fo:block-container>
|
11107
|
-
</fo:block-container>
|
11108
|
-
</xsl:when> <!-- end block -->
|
11369
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
11370
|
+
<xsl:variable name="indent_">
|
11371
|
+
0
|
11372
|
+
</xsl:variable>
|
11373
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
11109
11374
|
|
11110
|
-
|
11375
|
+
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
11376
|
+
<fo:list-item>
|
11377
|
+
<fo:list-item-label start-indent="{$indent}mm" end-indent="label-end()">
|
11378
|
+
<fo:block>
|
11379
|
+
<xsl:apply-templates select="*[local-name()='name']">
|
11380
|
+
<xsl:with-param name="fo_element">block</xsl:with-param>
|
11381
|
+
</xsl:apply-templates>
|
11382
|
+
</fo:block>
|
11383
|
+
</fo:list-item-label>
|
11384
|
+
<fo:list-item-body start-indent="body-start()">
|
11385
|
+
<fo:block>
|
11386
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
11387
|
+
<xsl:with-param name="fo_element" select="$fo_element"/>
|
11388
|
+
</xsl:apply-templates>
|
11389
|
+
</fo:block>
|
11390
|
+
</fo:list-item-body>
|
11391
|
+
</fo:list-item>
|
11392
|
+
</fo:list-block>
|
11393
|
+
</xsl:when> <!-- end list -->
|
11111
11394
|
|
11112
|
-
|
11113
|
-
7
|
11114
|
-
</xsl:variable>
|
11115
|
-
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
11116
|
-
<xsl:variable name="indent_">
|
11117
|
-
0
|
11118
|
-
</xsl:variable>
|
11119
|
-
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
11395
|
+
<xsl:otherwise> <!-- inline -->
|
11120
11396
|
|
11121
|
-
|
11122
|
-
|
11123
|
-
|
11124
|
-
|
11125
|
-
|
11126
|
-
|
11127
|
-
|
11128
|
-
</fo:block>
|
11129
|
-
</fo:list-item-label>
|
11130
|
-
<fo:list-item-body start-indent="body-start()">
|
11131
|
-
<fo:block>
|
11132
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
11397
|
+
<!-- display 'EXAMPLE' and first element in the same line -->
|
11398
|
+
<fo:block>
|
11399
|
+
<xsl:apply-templates select="*[local-name()='name']">
|
11400
|
+
<xsl:with-param name="fo_element" select="$fo_element"/>
|
11401
|
+
</xsl:apply-templates>
|
11402
|
+
<fo:inline>
|
11403
|
+
<xsl:apply-templates select="*[not(local-name() = 'name')][1]">
|
11133
11404
|
<xsl:with-param name="fo_element" select="$fo_element"/>
|
11134
11405
|
</xsl:apply-templates>
|
11135
|
-
</fo:
|
11136
|
-
</fo:
|
11137
|
-
</fo:list-item>
|
11138
|
-
</fo:list-block>
|
11139
|
-
</xsl:when> <!-- end list -->
|
11140
|
-
|
11141
|
-
<xsl:otherwise> <!-- inline -->
|
11406
|
+
</fo:inline>
|
11407
|
+
</fo:block>
|
11142
11408
|
|
11143
|
-
|
11144
|
-
|
11145
|
-
|
11146
|
-
|
11147
|
-
|
11148
|
-
|
11149
|
-
|
11150
|
-
|
11151
|
-
|
11152
|
-
|
11153
|
-
|
11409
|
+
<xsl:if test="*[not(local-name() = 'name')][position() > 1]">
|
11410
|
+
<!-- display further elements in blocks -->
|
11411
|
+
<fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
|
11412
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
11413
|
+
<xsl:apply-templates select="*[not(local-name() = 'name')][position() > 1]">
|
11414
|
+
<xsl:with-param name="fo_element" select="'block'"/>
|
11415
|
+
</xsl:apply-templates>
|
11416
|
+
</fo:block-container>
|
11417
|
+
</fo:block-container>
|
11418
|
+
</xsl:if>
|
11419
|
+
</xsl:otherwise> <!-- end inline -->
|
11154
11420
|
|
11155
|
-
|
11156
|
-
|
11157
|
-
|
11158
|
-
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
11159
|
-
<xsl:apply-templates select="*[not(local-name() = 'name')][position() > 1]">
|
11160
|
-
<xsl:with-param name="fo_element" select="'block'"/>
|
11161
|
-
</xsl:apply-templates>
|
11162
|
-
</fo:block-container>
|
11163
|
-
</fo:block-container>
|
11164
|
-
</xsl:if>
|
11165
|
-
</xsl:otherwise> <!-- end inline -->
|
11421
|
+
</xsl:choose>
|
11422
|
+
</fo:block-container>
|
11423
|
+
</fo:block-container>
|
11166
11424
|
|
11167
|
-
</xsl:choose>
|
11168
|
-
</fo:block-container>
|
11169
|
-
</fo:block-container>
|
11170
11425
|
</xsl:template>
|
11171
11426
|
|
11172
11427
|
<xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
|
@@ -11187,7 +11442,7 @@
|
|
11187
11442
|
<xsl:otherwise>
|
11188
11443
|
<fo:inline xsl:use-attribute-sets="example-name-style">
|
11189
11444
|
<xsl:call-template name="refine_example-name-style"/>
|
11190
|
-
<xsl:apply-templates/>
|
11445
|
+
<xsl:apply-templates/> <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614 -->
|
11191
11446
|
</fo:inline>
|
11192
11447
|
</xsl:otherwise>
|
11193
11448
|
</xsl:choose>
|
@@ -11369,15 +11624,17 @@
|
|
11369
11624
|
|
11370
11625
|
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
11371
11626
|
<fo:block role="BlockQuote">
|
11372
|
-
<xsl:apply-templates select="./node()[not(local-name() = 'author') and
|
11627
|
+
<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 -->
|
11373
11628
|
</fo:block>
|
11374
11629
|
</fo:block-container>
|
11375
11630
|
</fo:block-container>
|
11376
|
-
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
11631
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
|
11377
11632
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
11378
11633
|
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
11379
11634
|
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
11380
11635
|
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
11636
|
+
<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
|
11637
|
+
<xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
|
11381
11638
|
</fo:block>
|
11382
11639
|
</xsl:if>
|
11383
11640
|
|
@@ -11399,9 +11656,13 @@
|
|
11399
11656
|
</xsl:template>
|
11400
11657
|
|
11401
11658
|
<xsl:template match="*[local-name() = 'author']">
|
11402
|
-
<xsl:
|
11659
|
+
<xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
|
11660
|
+
<xsl:text>— </xsl:text>
|
11661
|
+
</xsl:if>
|
11403
11662
|
<xsl:apply-templates/>
|
11404
11663
|
</xsl:template>
|
11664
|
+
|
11665
|
+
<xsl:template match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
|
11405
11666
|
<!-- ====== -->
|
11406
11667
|
<!-- ====== -->
|
11407
11668
|
|
@@ -11542,6 +11803,15 @@
|
|
11542
11803
|
|
11543
11804
|
</xsl:template> <!-- tab -->
|
11544
11805
|
|
11806
|
+
<xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
|
11807
|
+
<xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
|
11808
|
+
|
11809
|
+
<xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab">
|
11810
|
+
|
11811
|
+
<xsl:attribute name="padding-right">6mm</xsl:attribute>
|
11812
|
+
|
11813
|
+
</xsl:template>
|
11814
|
+
|
11545
11815
|
<xsl:template name="insertNonBreakSpaces">
|
11546
11816
|
<xsl:param name="count"/>
|
11547
11817
|
<xsl:if test="$count > 0">
|
@@ -11585,8 +11855,12 @@
|
|
11585
11855
|
</xsl:template>
|
11586
11856
|
|
11587
11857
|
<xsl:template match="*[local-name() = 'domain']">
|
11858
|
+
<!-- https://github.com/metanorma/isodoc/issues/607
|
11588
11859
|
<fo:inline xsl:use-attribute-sets="domain-style"><<xsl:apply-templates/>></fo:inline>
|
11589
|
-
<xsl:text> </xsl:text>
|
11860
|
+
<xsl:text> </xsl:text> -->
|
11861
|
+
<xsl:if test="not(@hidden = 'true')">
|
11862
|
+
<xsl:apply-templates/>
|
11863
|
+
</xsl:if>
|
11590
11864
|
</xsl:template>
|
11591
11865
|
|
11592
11866
|
<xsl:template match="*[local-name() = 'admitted']">
|
@@ -11634,6 +11908,29 @@
|
|
11634
11908
|
<!-- END definition -->
|
11635
11909
|
<!-- ========== -->
|
11636
11910
|
|
11911
|
+
<xsl:variable name="reviews_">
|
11912
|
+
<xsl:for-each select="//*[local-name() = 'review'][@from]">
|
11913
|
+
<xsl:copy>
|
11914
|
+
<xsl:copy-of select="@from"/>
|
11915
|
+
<xsl:copy-of select="@id"/>
|
11916
|
+
</xsl:copy>
|
11917
|
+
</xsl:for-each>
|
11918
|
+
</xsl:variable>
|
11919
|
+
<xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
|
11920
|
+
|
11921
|
+
<xsl:template name="addReviewHelper">
|
11922
|
+
<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
|
11923
|
+
<xsl:variable name="curr_id" select="@id"/>
|
11924
|
+
<xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
|
11925
|
+
<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
|
11926
|
+
<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>
|
11927
|
+
</xsl:if>
|
11928
|
+
<!-- <fo:block>
|
11929
|
+
<curr_id><xsl:value-of select="$curr_id"/></curr_id>
|
11930
|
+
<xsl:copy-of select="$reviews"/>
|
11931
|
+
</fo:block> -->
|
11932
|
+
</xsl:template>
|
11933
|
+
|
11637
11934
|
<!-- main sections -->
|
11638
11935
|
<xsl:template match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
|
11639
11936
|
|
@@ -11642,6 +11939,8 @@
|
|
11642
11939
|
|
11643
11940
|
<xsl:call-template name="sections_element_style"/>
|
11644
11941
|
|
11942
|
+
<xsl:call-template name="addReviewHelper"/>
|
11943
|
+
|
11645
11944
|
<xsl:apply-templates/>
|
11646
11945
|
</fo:block>
|
11647
11946
|
|
@@ -11677,6 +11976,7 @@
|
|
11677
11976
|
|
11678
11977
|
<fo:block>
|
11679
11978
|
<xsl:call-template name="setId"/>
|
11979
|
+
<xsl:call-template name="addReviewHelper"/>
|
11680
11980
|
<xsl:apply-templates/>
|
11681
11981
|
</fo:block>
|
11682
11982
|
</xsl:template>
|
@@ -11713,6 +12013,8 @@
|
|
11713
12013
|
|
11714
12014
|
<xsl:call-template name="refine_clause_style"/>
|
11715
12015
|
|
12016
|
+
<xsl:call-template name="addReviewHelper"/>
|
12017
|
+
|
11716
12018
|
<xsl:apply-templates/>
|
11717
12019
|
</fo:block>
|
11718
12020
|
</xsl:template>
|
@@ -11765,6 +12067,23 @@
|
|
11765
12067
|
|
11766
12068
|
<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
|
11767
12069
|
|
12070
|
+
<xsl:if test="1 = 1">
|
12071
|
+
<xsl:choose>
|
12072
|
+
<!-- if there isn't the attribute '@from', then -->
|
12073
|
+
<xsl:when test="$id_from = ''">
|
12074
|
+
<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>
|
12075
|
+
</xsl:when>
|
12076
|
+
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
12077
|
+
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
12078
|
+
<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>
|
12079
|
+
</xsl:when>
|
12080
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
12081
|
+
<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>
|
12082
|
+
</xsl:when>
|
12083
|
+
</xsl:choose>
|
12084
|
+
</xsl:if>
|
12085
|
+
|
12086
|
+
<xsl:if test="1 = 2">
|
11768
12087
|
<xsl:choose>
|
11769
12088
|
<!-- if there isn't the attribute '@from', then -->
|
11770
12089
|
<xsl:when test="$id_from = ''">
|
@@ -11778,6 +12097,7 @@
|
|
11778
12097
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
11779
12098
|
</xsl:when>
|
11780
12099
|
</xsl:choose>
|
12100
|
+
</xsl:if>
|
11781
12101
|
|
11782
12102
|
</xsl:template>
|
11783
12103
|
|
@@ -13038,6 +13358,10 @@
|
|
13038
13358
|
<!-- - Remove semantic xml part -->
|
13039
13359
|
<!-- - Remove image/emf (EMF vector image for Word) -->
|
13040
13360
|
<!-- - add @id, redundant for table auto-layout algorithm -->
|
13361
|
+
<!-- - process 'passthrough' element -->
|
13362
|
+
<!-- - split math by element with @linebreak into maths -->
|
13363
|
+
<!-- - rename fmt-title to title, fmt-name to name and another changes to convert new presentation XML to -->
|
13364
|
+
<!-- - old XML without significant changes in XSLT -->
|
13041
13365
|
<!-- =========================================================================== -->
|
13042
13366
|
<xsl:template match="@*|node()" mode="update_xml_step1">
|
13043
13367
|
<xsl:copy>
|
@@ -13045,6 +13369,12 @@
|
|
13045
13369
|
</xsl:copy>
|
13046
13370
|
</xsl:template>
|
13047
13371
|
|
13372
|
+
<xsl:template match="@*|node()" mode="update_xml_pres">
|
13373
|
+
<xsl:copy>
|
13374
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_pres"/>
|
13375
|
+
</xsl:copy>
|
13376
|
+
</xsl:template>
|
13377
|
+
|
13048
13378
|
<!-- change section's order based on @displayorder value -->
|
13049
13379
|
<xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
13050
13380
|
<xsl:copy>
|
@@ -13121,7 +13451,7 @@
|
|
13121
13451
|
</xsl:template>
|
13122
13452
|
|
13123
13453
|
<!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
13124
|
-
<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">
|
13454
|
+
<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">
|
13125
13455
|
<xsl:copy>
|
13126
13456
|
<xsl:copy-of select="@*"/>
|
13127
13457
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -13140,14 +13470,17 @@
|
|
13140
13470
|
|
13141
13471
|
<!-- remove semantic xml -->
|
13142
13472
|
<xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_step1"/>
|
13473
|
+
<xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_pres"/>
|
13143
13474
|
|
13144
13475
|
<!-- remove image/emf -->
|
13145
13476
|
<xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_step1"/>
|
13477
|
+
<xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_pres"/>
|
13146
13478
|
|
13147
13479
|
<!-- remove preprocess-xslt -->
|
13148
13480
|
<xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
|
13481
|
+
<xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_pres"/>
|
13149
13482
|
|
13150
|
-
<xsl:template match="*[local-name() = 'stem'] | *[local-name() = 'image'] | *[local-name() = 'sourcecode'] | *[local-name() = 'bibdata'] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
|
13483
|
+
<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">
|
13151
13484
|
<xsl:copy-of select="."/>
|
13152
13485
|
</xsl:template>
|
13153
13486
|
|
@@ -13213,6 +13546,93 @@
|
|
13213
13546
|
</xsl:choose>
|
13214
13547
|
</xsl:template>
|
13215
13548
|
|
13549
|
+
<xsl:variable name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
|
13550
|
+
<xsl:template match="*[local-name() = 'passthrough']" mode="update_xml_step1">
|
13551
|
+
<!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
|
13552
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
|
13553
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
13554
|
+
</xsl:if>
|
13555
|
+
</xsl:template>
|
13556
|
+
|
13557
|
+
<!-- split math by element with @linebreak into maths -->
|
13558
|
+
<xsl:template match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
|
13559
|
+
<xsl:variable name="maths">
|
13560
|
+
<xsl:apply-templates select="." mode="mathml_linebreak"/>
|
13561
|
+
</xsl:variable>
|
13562
|
+
<xsl:copy-of select="$maths"/>
|
13563
|
+
</xsl:template>
|
13564
|
+
|
13565
|
+
<!-- update new Presentation XML -->
|
13566
|
+
<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_step1"/>
|
13567
|
+
<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_pres"/>
|
13568
|
+
<xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_step1"/>
|
13569
|
+
<xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_pres"/>
|
13570
|
+
<xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
|
13571
|
+
<xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_pres"/>
|
13572
|
+
|
13573
|
+
<xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_step1">
|
13574
|
+
<xsl:copy>
|
13575
|
+
<xsl:apply-templates select="@*" mode="update_xml_step1"/>
|
13576
|
+
<xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
|
13577
|
+
<xsl:apply-templates select="node()" mode="update_xml_step1"/>
|
13578
|
+
</xsl:copy>
|
13579
|
+
</xsl:template>
|
13580
|
+
<xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_pres">
|
13581
|
+
<xsl:copy>
|
13582
|
+
<xsl:apply-templates select="@*" mode="update_xml_pres"/>
|
13583
|
+
<xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
|
13584
|
+
<xsl:apply-templates select="node()" mode="update_xml_pres"/>
|
13585
|
+
</xsl:copy>
|
13586
|
+
</xsl:template>
|
13587
|
+
|
13588
|
+
<xsl:template match="*[local-name() = 'fmt-title']"/>
|
13589
|
+
<xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_step1">
|
13590
|
+
<xsl:element name="title" namespace="{$namespace_full}">
|
13591
|
+
<xsl:copy-of select="@*"/>
|
13592
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
13593
|
+
</xsl:element>
|
13594
|
+
</xsl:template>
|
13595
|
+
<xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_pres">
|
13596
|
+
<xsl:element name="title" namespace="{$namespace_full}">
|
13597
|
+
<xsl:copy-of select="@*"/>
|
13598
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
13599
|
+
</xsl:element>
|
13600
|
+
</xsl:template>
|
13601
|
+
|
13602
|
+
<xsl:template match="*[local-name() = 'fmt-name']"/>
|
13603
|
+
<xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_step1">
|
13604
|
+
<xsl:element name="name" namespace="{$namespace_full}">
|
13605
|
+
<xsl:copy-of select="@*"/>
|
13606
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
13607
|
+
</xsl:element>
|
13608
|
+
</xsl:template>
|
13609
|
+
<xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
|
13610
|
+
<xsl:element name="name" namespace="{$namespace_full}">
|
13611
|
+
<xsl:copy-of select="@*"/>
|
13612
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
13613
|
+
</xsl:element>
|
13614
|
+
</xsl:template>
|
13615
|
+
|
13616
|
+
<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">
|
13617
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
13618
|
+
</xsl:template>
|
13619
|
+
<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">
|
13620
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
13621
|
+
</xsl:template>
|
13622
|
+
|
13623
|
+
<xsl:template match="*[local-name() = 'semx']" mode="update_xml_step1">
|
13624
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
13625
|
+
</xsl:template>
|
13626
|
+
<xsl:template match="*[local-name() = 'semx']" mode="update_xml_pres">
|
13627
|
+
<xsl:apply-templates mode="update_xml_pres"/>
|
13628
|
+
</xsl:template>
|
13629
|
+
|
13630
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']"/>
|
13631
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_step1"/>
|
13632
|
+
<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_pres"/>
|
13633
|
+
|
13634
|
+
<!-- END: update new Presentation XML -->
|
13635
|
+
|
13216
13636
|
<!-- =========================================================================== -->
|
13217
13637
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
13218
13638
|
<!-- =========================================================================== -->
|
@@ -13316,6 +13736,8 @@
|
|
13316
13736
|
|
13317
13737
|
<xsl:template name="insertOpeningElements">
|
13318
13738
|
<xsl:param name="tree"/>
|
13739
|
+
<xsl:param name="xmlns"/>
|
13740
|
+
<xsl:param name="add_continue">true</xsl:param>
|
13319
13741
|
<xsl:for-each select="$tree//element">
|
13320
13742
|
<xsl:text disable-output-escaping="yes"><</xsl:text>
|
13321
13743
|
<xsl:value-of select="."/>
|
@@ -13326,7 +13748,8 @@
|
|
13326
13748
|
<xsl:value-of select="."/>
|
13327
13749
|
<xsl:text>"</xsl:text>
|
13328
13750
|
</xsl:for-each>
|
13329
|
-
<xsl:if test="position() = 1"> continue="true"</xsl:if>
|
13751
|
+
<xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
|
13752
|
+
<xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
|
13330
13753
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
13331
13754
|
<xsl:if test="$debug = 'true'">
|
13332
13755
|
<xsl:message><<xsl:value-of select="."/>></xsl:message>
|
@@ -13402,7 +13825,7 @@
|
|
13402
13825
|
<xsl:variable name="non_white_space">[^\s\u3000-\u9FFF]</xsl:variable>
|
13403
13826
|
<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>
|
13404
13827
|
|
13405
|
-
<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">
|
13828
|
+
<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">
|
13406
13829
|
|
13407
13830
|
<xsl:variable name="parent" select="local-name(..)"/>
|
13408
13831
|
|
@@ -13981,6 +14404,7 @@
|
|
13981
14404
|
</pdf:catalog>
|
13982
14405
|
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
13983
14406
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
14407
|
+
<!-- Commented after upgrade to Apache FOP 2.10
|
13984
14408
|
<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="">
|
13985
14409
|
<pdfaExtension:schemas>
|
13986
14410
|
<rdf:Bag>
|
@@ -14013,7 +14437,7 @@
|
|
14013
14437
|
</rdf:li>
|
14014
14438
|
</rdf:Bag>
|
14015
14439
|
</pdfaExtension:schemas>
|
14016
|
-
</rdf:Description>
|
14440
|
+
</rdf:Description> -->
|
14017
14441
|
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
14018
14442
|
<!-- Dublin Core properties go here -->
|
14019
14443
|
<dc:title>
|
@@ -14060,7 +14484,7 @@
|
|
14060
14484
|
<xsl:variable name="dc_description">
|
14061
14485
|
<xsl:variable name="abstract">
|
14062
14486
|
|
14063
|
-
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
|
14487
|
+
<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'])]"/>
|
14064
14488
|
|
14065
14489
|
</xsl:variable>
|
14066
14490
|
<rdf:Alt>
|
@@ -14605,31 +15029,123 @@
|
|
14605
15029
|
|
14606
15030
|
<!-- END: insert cover page image -->
|
14607
15031
|
|
14608
|
-
|
15032
|
+
<!-- https://github.com/metanorma/docs/blob/main/109.adoc -->
|
15033
|
+
<xsl:variable name="regex_ja_spec_">[
|
15034
|
+
<!-- Rotate 90° clockwise -->
|
15035
|
+
\u0028 <!-- U+0028 LEFT PARENTHESIS (() -->
|
15036
|
+
\uFF08 <!-- U+FF08 FULLWIDTH LEFT PARENTHESIS (() -->
|
15037
|
+
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
15038
|
+
\uFF09 <!-- U+FF09 FULLWIDTH RIGHT PARENTHESIS ()) -->
|
15039
|
+
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
15040
|
+
\uFF5B <!-- U+FF5B FULLWIDTH LEFT CURLY BRACKET ({) -->
|
15041
|
+
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
15042
|
+
\uFF5D <!-- U+FF5D FULLWIDTH RIGHT CURLY BRACKET (}) -->
|
15043
|
+
\u3014 <!-- U+3014 LEFT TORTOISE SHELL BRACKET (〔) -->
|
15044
|
+
\u3015 <!-- U+3015 RIGHT TORTOISE SHELL BRACKET (〕) -->
|
15045
|
+
\u3010 <!-- U+3010 LEFT BLACK LENTICULAR BRACKET (【) -->
|
15046
|
+
\u3011 <!-- U+3011 RIGHT BLACK LENTICULAR BRACKET (】) -->
|
15047
|
+
\u300A <!-- U+300A LEFT DOUBLE ANGLE BRACKET (《) -->
|
15048
|
+
\u300B <!-- U+300B RIGHT DOUBLE ANGLE BRACKET (》) -->
|
15049
|
+
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
15050
|
+
\u300C <!-- U+300C LEFT CORNER BRACKET (「) -->
|
15051
|
+
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
15052
|
+
\u300D <!-- U+300D RIGHT CORNER BRACKET (」) -->
|
15053
|
+
\u300E <!-- U+300E LEFT WHITE CORNER BRACKET (『) -->
|
15054
|
+
\u300F <!-- U+300F RIGHT WHITE CORNER BRACKET (』) -->
|
15055
|
+
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
15056
|
+
\uFF3B <!-- U+FF3B FULLWIDTH LEFT SQUARE BRACKET ([) -->
|
15057
|
+
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
15058
|
+
\uFF3D <!-- U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (]) -->
|
15059
|
+
\u3008 <!-- U+3008 LEFT ANGLE BRACKET (〈) -->
|
15060
|
+
\u3009 <!-- U+3009 RIGHT ANGLE BRACKET (〉) -->
|
15061
|
+
\u3016 <!-- U+3016 LEFT WHITE LENTICULAR BRACKET (〖) -->
|
15062
|
+
\u3017 <!-- U+3017 RIGHT WHITE LENTICULAR BRACKET (〗) -->
|
15063
|
+
|
15064
|
+
\u301A <!-- U+301A LEFT WHITE SQUARE BRACKET (〚) -->
|
15065
|
+
\u301B <!-- U+301B RIGHT WHITE SQUARE BRACKET (〛) -->
|
15066
|
+
\u301C <!-- U+301C WAVE DASH (〜) -->
|
15067
|
+
\u3030 <!-- U+3030 WAVY DASH (〰 )-->
|
15068
|
+
\u30FC <!-- U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (ー) -->
|
15069
|
+
\u2329 <!-- U+2329 LEFT-POINTING ANGLE BRACKET (〈) -->
|
15070
|
+
\u232A <!-- U+232A RIGHT-POINTING ANGLE BRACKET (〉) -->
|
15071
|
+
\u3018 <!-- U+3018 LEFT WHITE TORTOISE SHELL BRACKET (〘) -->
|
15072
|
+
\u3019 <!-- U+3019 RIGHT WHITE TORTOISE SHELL BRACKET (〙) -->
|
15073
|
+
\u30A0 <!-- U+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (゠) -->
|
15074
|
+
\uFE59 <!-- U+FE59 SMALL LEFT PARENTHESIS (﹙) -->
|
15075
|
+
\uFE5A <!-- U+FE5A SMALL RIGHT PARENTHESIS (﹚) -->
|
15076
|
+
\uFE5B <!-- U+FE5B SMALL LEFT CURLY BRACKET (﹛) -->
|
15077
|
+
\uFE5C <!-- U+FE5C SMALL RIGHT CURLY BRACKET (﹜) -->
|
15078
|
+
\uFE5D <!-- U+FE5D SMALL LEFT TORTOISE SHELL BRACKET (﹝) -->
|
15079
|
+
\uFE5E <!-- U+FE5E SMALL RIGHT TORTOISE SHELL BRACKET (﹞) -->
|
15080
|
+
\uFF5C <!-- U+FF5C FULLWIDTH VERTICAL LINE (|) -->
|
15081
|
+
\uFF5F <!-- U+FF5F FULLWIDTH LEFT WHITE PARENTHESIS (⦅) -->
|
15082
|
+
\uFF60 <!-- U+FF60 FULLWIDTH RIGHT WHITE PARENTHESIS (⦆) -->
|
15083
|
+
\uFFE3 <!-- U+FFE3 FULLWIDTH MACRON ( ̄) -->
|
15084
|
+
\uFF3F <!-- U+FF3F FULLWIDTH LOW LINE (_) -->
|
15085
|
+
\uFF5E <!-- U+FF5E FULLWIDTH TILDE (~) -->
|
15086
|
+
<!-- Rotate 180° -->
|
15087
|
+
\u309C <!-- U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜) -->
|
15088
|
+
\u3002 <!-- U+3002 IDEOGRAPHIC FULL STOP (。) -->
|
15089
|
+
\uFE52 <!-- U+FE52 SMALL FULL STOP (﹒) -->
|
15090
|
+
\uFF0E <!-- U+FF0E FULLWIDTH FULL STOP (.) -->
|
15091
|
+
]</xsl:variable>
|
15092
|
+
<xsl:variable name="regex_ja_spec"><xsl:value-of select="translate(normalize-space($regex_ja_spec_), ' ', '')"/></xsl:variable>
|
14609
15093
|
<xsl:template name="insertVerticalChar">
|
14610
15094
|
<xsl:param name="str"/>
|
14611
15095
|
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
14612
15096
|
<xsl:param name="reference-orientation">90</xsl:param>
|
14613
|
-
<xsl:
|
14614
|
-
|
14615
|
-
|
14616
|
-
|
14617
|
-
|
14618
|
-
|
14619
|
-
<xsl:
|
14620
|
-
|
14621
|
-
<xsl:
|
15097
|
+
<xsl:param name="add_zero_width_space">false</xsl:param>
|
15098
|
+
<xsl:choose>
|
15099
|
+
<xsl:when test="ancestor::*[local-name() = 'span'][@class = 'norotate']">
|
15100
|
+
<xsl:value-of select="$str"/>
|
15101
|
+
</xsl:when>
|
15102
|
+
<xsl:otherwise>
|
15103
|
+
<xsl:if test="string-length($str) > 0">
|
15104
|
+
<xsl:variable name="horizontal_mode" select="normalize-space(ancestor::*[local-name() = 'span'][@class = 'horizontal'] and 1 = 1)"/>
|
15105
|
+
<xsl:variable name="char" select="substring($str,1,1)"/>
|
15106
|
+
<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">
|
15107
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
15108
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
15109
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
15110
|
+
</xsl:if>
|
15111
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
|
15112
|
+
<xsl:attribute name="reference-orientation">0</xsl:attribute>
|
15113
|
+
</xsl:if>
|
15114
|
+
<xsl:if test="$char = '゜' or $char = '。' or $char = '﹒' or $char = '.'">
|
15115
|
+
<!-- Rotate 180°:
|
15116
|
+
U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜)
|
15117
|
+
U+3002 IDEOGRAPHIC FULL STOP (。)
|
15118
|
+
U+FE52 SMALL FULL STOP (﹒)
|
15119
|
+
U+FF0E FULLWIDTH FULL STOP (.)
|
15120
|
+
-->
|
15121
|
+
<xsl:attribute name="reference-orientation">-90</xsl:attribute>
|
15122
|
+
</xsl:if>
|
15123
|
+
<fo:block-container width="1em">
|
15124
|
+
<fo:block line-height="1em">
|
15125
|
+
<xsl:choose>
|
15126
|
+
<xsl:when test="$horizontal_mode = 'true'">
|
15127
|
+
<xsl:value-of select="$str"/>
|
15128
|
+
</xsl:when>
|
15129
|
+
<xsl:otherwise>
|
15130
|
+
<xsl:value-of select="$char"/>
|
15131
|
+
</xsl:otherwise>
|
15132
|
+
</xsl:choose>
|
15133
|
+
</fo:block>
|
15134
|
+
</fo:block-container>
|
15135
|
+
</fo:inline-container>
|
15136
|
+
<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>
|
15137
|
+
|
15138
|
+
<xsl:if test="$horizontal_mode = 'false'">
|
15139
|
+
<xsl:call-template name="insertVerticalChar">
|
15140
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
15141
|
+
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
15142
|
+
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
15143
|
+
<xsl:with-param name="add_zero_width_space" select="$add_zero_width_space"/>
|
15144
|
+
</xsl:call-template>
|
15145
|
+
</xsl:if>
|
14622
15146
|
</xsl:if>
|
14623
|
-
|
14624
|
-
|
14625
|
-
</fo:block-container>
|
14626
|
-
</fo:inline-container>
|
14627
|
-
<xsl:call-template name="insertVerticalChar">
|
14628
|
-
<xsl:with-param name="str" select="substring($str, 2)"/>
|
14629
|
-
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
14630
|
-
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
14631
|
-
</xsl:call-template>
|
14632
|
-
</xsl:if>
|
15147
|
+
</xsl:otherwise>
|
15148
|
+
</xsl:choose>
|
14633
15149
|
</xsl:template>
|
14634
15150
|
|
14635
15151
|
<xsl:template name="number-to-words">
|