metanorma-jis 0.3.4 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/html2doc/lists.rb +1 -1
- data/lib/isodoc/jis/base_convert.rb +1 -1
- data/lib/isodoc/jis/figure.rb +1 -1
- data/lib/isodoc/jis/html/style-human.css +3 -0
- data/lib/isodoc/jis/html/style-iso.css +3 -0
- data/lib/isodoc/jis/html_convert.rb +1 -1
- data/lib/isodoc/jis/i18n.rb +1 -1
- data/lib/isodoc/jis/init.rb +2 -2
- data/lib/isodoc/jis/jis.international-standard.xsl +290 -37
- data/lib/isodoc/jis/metadata.rb +1 -1
- data/lib/isodoc/jis/pdf_convert.rb +1 -1
- data/lib/isodoc/jis/presentation_section.rb +1 -1
- data/lib/isodoc/jis/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/jis/table.rb +1 -1
- data/lib/isodoc/jis/word_cleanup.rb +2 -2
- data/lib/isodoc/jis/word_convert.rb +1 -1
- data/lib/isodoc/jis/xref.rb +1 -1
- data/lib/metanorma/jis/biblio-standoc.rng +13 -0
- data/lib/metanorma/jis/biblio.rng +19 -12
- data/lib/metanorma/jis/cleanup.rb +2 -2
- data/lib/metanorma/jis/converter.rb +11 -11
- data/lib/metanorma/jis/front.rb +2 -2
- data/lib/metanorma/jis/processor.rb +6 -6
- data/lib/metanorma/jis/relaton-jis.rng +1 -0
- data/lib/metanorma/jis/validate.rb +2 -2
- data/lib/metanorma/jis/version.rb +2 -2
- data/lib/metanorma/jis.rb +1 -1
- data/lib/metanorma-jis.rb +1 -1
- data/lib/relaton/render-jis/general.rb +2 -2
- data/lib/relaton/render-jis/parse.rb +1 -1
- data/metanorma-jis.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0390d5e28376c6e536985c4f658e4e939eb12931602991a787b01fe832c6f8f
|
4
|
+
data.tar.gz: 599457fe99595bec1161f38217eca0ef96eab8ba1a401a4b6e6ba3ddda01f5db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d24345a27eb6dde003eadf90254a267c86ca19bfbd16a9e94093e7389a5ffc843bc05db82389480a01d387456f7e23247efb34fc0c46a2f3095ff7bef1d289ce
|
7
|
+
data.tar.gz: bccf625290d0f44d49d024fe409b1d4e1c01849bef810ecbdd5571f3f6753691d5dc6b877327c781e6f10e9516f07c1f1739bca8eb2b658d264594524dad4a9e
|
data/lib/html2doc/lists.rb
CHANGED
data/lib/isodoc/jis/figure.rb
CHANGED
@@ -82,6 +82,9 @@ p kbd, dt kbd, li kbd, label kbd, legend kbd, caption kbd, th kbd, td kbd,
|
|
82
82
|
p samp, dt samp, li samp, label samp, legend samp, caption samp, th samp, td samp {
|
83
83
|
font-size: {{monospacefontsize}}; }
|
84
84
|
|
85
|
+
sub, sup {
|
86
|
+
font-size: 0.75em; }
|
87
|
+
|
85
88
|
article, aside, details, figcaption, figure,
|
86
89
|
footer, header, hgroup, menu, nav, section {
|
87
90
|
display: block; }
|
@@ -82,6 +82,9 @@ p kbd, dt kbd, li kbd, label kbd, legend kbd, caption kbd, th kbd, td kbd,
|
|
82
82
|
p samp, dt samp, li samp, label samp, legend samp, caption samp, th samp, td samp {
|
83
83
|
font-size: {{monospacefontsize}}; }
|
84
84
|
|
85
|
+
sub, sup {
|
86
|
+
font-size: 0.75em; }
|
87
|
+
|
85
88
|
article, aside, details, figcaption, figure,
|
86
89
|
footer, header, hgroup, menu, nav, section {
|
87
90
|
display: block; }
|
data/lib/isodoc/jis/i18n.rb
CHANGED
data/lib/isodoc/jis/init.rb
CHANGED
@@ -3,7 +3,7 @@ require_relative "metadata"
|
|
3
3
|
require_relative "i18n"
|
4
4
|
|
5
5
|
module IsoDoc
|
6
|
-
module
|
6
|
+
module Jis
|
7
7
|
module Init
|
8
8
|
def metadata_init(lang, script, locale, labels)
|
9
9
|
@meta = Metadata.new(lang, script, locale, labels)
|
@@ -21,7 +21,7 @@ module IsoDoc
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def bibrenderer(options = {})
|
24
|
-
::Relaton::Render::
|
24
|
+
::Relaton::Render::Jis::General.new(options.merge(language: @lang,
|
25
25
|
i18nhash: @i18n.get))
|
26
26
|
end
|
27
27
|
|
@@ -6,7 +6,10 @@
|
|
6
6
|
|
7
7
|
<xsl:variable name="debug">false</xsl:variable>
|
8
8
|
|
9
|
-
<xsl:variable name="isIgnoreComplexScripts">true</xsl:variable>
|
9
|
+
<!-- <xsl:variable name="isIgnoreComplexScripts">true</xsl:variable> -->
|
10
|
+
|
11
|
+
<xsl:variable name="vertical_layout" select="normalize-space(/*/jis:metanorma-extension/jis:presentation-metadata/jis:vertical-layout)"/>
|
12
|
+
<xsl:variable name="vertical_layout_rotate_clause_numbers" select="normalize-space(/*/jis:metanorma-extension/jis:presentation-metadata/jis:vertical-layout-rotate-clause-numbers)"/>
|
10
13
|
|
11
14
|
<xsl:variable name="contents_">
|
12
15
|
<xsl:variable name="bundle" select="count(//jis:jis-standard) > 1"/>
|
@@ -67,21 +70,45 @@
|
|
67
70
|
</fo:simple-page-master>
|
68
71
|
|
69
72
|
<fo:simple-page-master master-name="first_page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
70
|
-
<
|
73
|
+
<xsl:if test="$vertical_layout = 'true'">
|
74
|
+
<xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
|
75
|
+
<xsl:attribute name="page-height"><xsl:value-of select="$pageWidth"/>mm</xsl:attribute>
|
76
|
+
</xsl:if>
|
77
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm">
|
78
|
+
<xsl:if test="$vertical_layout = 'true'">
|
79
|
+
<xsl:attribute name="writing-mode">tb-rl</xsl:attribute>
|
80
|
+
</xsl:if>
|
81
|
+
</fo:region-body>
|
71
82
|
<fo:region-before region-name="header" extent="{$marginTop}mm"/>
|
72
83
|
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
73
84
|
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
74
85
|
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
75
86
|
</fo:simple-page-master>
|
76
87
|
<fo:simple-page-master master-name="odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
77
|
-
<
|
88
|
+
<xsl:if test="$vertical_layout = 'true'">
|
89
|
+
<xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
|
90
|
+
<xsl:attribute name="page-height"><xsl:value-of select="$pageWidth"/>mm</xsl:attribute>
|
91
|
+
</xsl:if>
|
92
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm">
|
93
|
+
<xsl:if test="$vertical_layout = 'true'">
|
94
|
+
<xsl:attribute name="writing-mode">tb-rl</xsl:attribute>
|
95
|
+
</xsl:if>
|
96
|
+
</fo:region-body>
|
78
97
|
<fo:region-before region-name="header-odd" extent="{$marginTop}mm"/>
|
79
98
|
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
80
99
|
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
81
100
|
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
82
101
|
</fo:simple-page-master>
|
83
102
|
<fo:simple-page-master master-name="even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
84
|
-
<
|
103
|
+
<xsl:if test="$vertical_layout = 'true'">
|
104
|
+
<xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
|
105
|
+
<xsl:attribute name="page-height"><xsl:value-of select="$pageWidth"/>mm</xsl:attribute>
|
106
|
+
</xsl:if>
|
107
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm">
|
108
|
+
<xsl:if test="$vertical_layout = 'true'">
|
109
|
+
<xsl:attribute name="writing-mode">tb-rl</xsl:attribute>
|
110
|
+
</xsl:if>
|
111
|
+
</fo:region-body>
|
85
112
|
<fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
|
86
113
|
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
87
114
|
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
@@ -89,7 +116,15 @@
|
|
89
116
|
</fo:simple-page-master>
|
90
117
|
|
91
118
|
<fo:simple-page-master master-name="first_page_toc" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
92
|
-
<
|
119
|
+
<xsl:if test="$vertical_layout = 'true'">
|
120
|
+
<xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
|
121
|
+
<xsl:attribute name="page-height"><xsl:value-of select="$pageWidth"/>mm</xsl:attribute>
|
122
|
+
</xsl:if>
|
123
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm">
|
124
|
+
<xsl:if test="$vertical_layout = 'true'">
|
125
|
+
<xsl:attribute name="writing-mode">tb-rl</xsl:attribute>
|
126
|
+
</xsl:if>
|
127
|
+
</fo:region-body>
|
93
128
|
<fo:region-before region-name="header-odd-first" extent="{$marginTop}mm"/>
|
94
129
|
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
95
130
|
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
@@ -127,7 +162,15 @@
|
|
127
162
|
</fo:page-sequence-master>
|
128
163
|
|
129
164
|
<fo:simple-page-master master-name="commentary_first_page_even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
130
|
-
<
|
165
|
+
<xsl:if test="$vertical_layout = 'true'">
|
166
|
+
<xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
|
167
|
+
<xsl:attribute name="page-height"><xsl:value-of select="$pageWidth"/>mm</xsl:attribute>
|
168
|
+
</xsl:if>
|
169
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm">
|
170
|
+
<xsl:if test="$vertical_layout = 'true'">
|
171
|
+
<xsl:attribute name="writing-mode">tb-rl</xsl:attribute>
|
172
|
+
</xsl:if>
|
173
|
+
</fo:region-body>
|
131
174
|
<fo:region-before region-name="header-commentary-even-first" extent="{$marginTop}mm"/>
|
132
175
|
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
133
176
|
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
@@ -135,7 +178,15 @@
|
|
135
178
|
</fo:simple-page-master>
|
136
179
|
|
137
180
|
<fo:simple-page-master master-name="commentary_first_page_odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
138
|
-
<
|
181
|
+
<xsl:if test="$vertical_layout = 'true'">
|
182
|
+
<xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
|
183
|
+
<xsl:attribute name="page-height"><xsl:value-of select="$pageWidth"/>mm</xsl:attribute>
|
184
|
+
</xsl:if>
|
185
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm">
|
186
|
+
<xsl:if test="$vertical_layout = 'true'">
|
187
|
+
<xsl:attribute name="writing-mode">tb-rl</xsl:attribute>
|
188
|
+
</xsl:if>
|
189
|
+
</fo:region-body>
|
139
190
|
<fo:region-before region-name="header-commentary-odd-first" extent="{$marginTop}mm"/>
|
140
191
|
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
141
192
|
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
@@ -592,12 +643,22 @@
|
|
592
643
|
</xsl:when>
|
593
644
|
<xsl:otherwise>
|
594
645
|
<fo:list-block space-after="5pt">
|
646
|
+
<xsl:variable name="provisional-distance-between-starts">
|
647
|
+
<xsl:choose>
|
648
|
+
<xsl:when test="string-length(@section) = 1">5</xsl:when>
|
649
|
+
<xsl:when test="string-length(@section) >= 2"><xsl:value-of select="5 + (string-length(@section) - 1) * 2"/></xsl:when>
|
650
|
+
<xsl:when test="@type = 'annex'">16</xsl:when>
|
651
|
+
<xsl:otherwise>5</xsl:otherwise>
|
652
|
+
</xsl:choose>
|
653
|
+
</xsl:variable>
|
595
654
|
<xsl:attribute name="provisional-distance-between-starts">
|
596
655
|
<xsl:choose>
|
597
|
-
<xsl:when test="
|
598
|
-
|
599
|
-
|
600
|
-
<xsl:otherwise>
|
656
|
+
<xsl:when test="$vertical_layout_rotate_clause_numbers = 'true'">
|
657
|
+
<xsl:value-of select="concat($provisional-distance-between-starts * 1.5, 'mm')"/>
|
658
|
+
</xsl:when>
|
659
|
+
<xsl:otherwise>
|
660
|
+
<xsl:value-of select="concat($provisional-distance-between-starts, 'mm')"/>
|
661
|
+
</xsl:otherwise>
|
601
662
|
</xsl:choose>
|
602
663
|
</xsl:attribute>
|
603
664
|
<fo:list-item>
|
@@ -1112,10 +1173,24 @@
|
|
1112
1173
|
<xsl:call-template name="extractSection"/>
|
1113
1174
|
</xsl:variable>
|
1114
1175
|
<xsl:if test="normalize-space($section) != ''">
|
1115
|
-
|
1116
|
-
|
1117
|
-
<
|
1118
|
-
|
1176
|
+
|
1177
|
+
<xsl:choose>
|
1178
|
+
<xsl:when test="$vertical_layout_rotate_clause_numbers = 'true'">
|
1179
|
+
<fo:inline font-family="Times New Roman" font-weight="bold">
|
1180
|
+
<xsl:call-template name="insertVerticalChar">
|
1181
|
+
<xsl:with-param name="str" select="$section"/>
|
1182
|
+
</xsl:call-template>
|
1183
|
+
</fo:inline>
|
1184
|
+
<fo:inline padding-right="4mm"> </fo:inline>
|
1185
|
+
</xsl:when>
|
1186
|
+
<xsl:otherwise>
|
1187
|
+
<fo:inline font-family="Times New Roman" font-weight="bold">
|
1188
|
+
<xsl:value-of select="$section"/>
|
1189
|
+
<fo:inline padding-right="4mm"> </fo:inline>
|
1190
|
+
</fo:inline>
|
1191
|
+
</xsl:otherwise>
|
1192
|
+
</xsl:choose>
|
1193
|
+
|
1119
1194
|
</xsl:if>
|
1120
1195
|
|
1121
1196
|
<xsl:call-template name="extractTitle"/>
|
@@ -1595,6 +1670,9 @@
|
|
1595
1670
|
<xsl:param name="section_title"/>
|
1596
1671
|
<fo:static-content flow-name="header-odd-first" role="artifact">
|
1597
1672
|
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after" text-align="right">
|
1673
|
+
<xsl:if test="$vertical_layout = 'true'">
|
1674
|
+
<xsl:attribute name="display-align">center</xsl:attribute>
|
1675
|
+
</xsl:if>
|
1598
1676
|
<xsl:if test="$section = 'main'"><fo:block><fo:page-number/></fo:block></xsl:if>
|
1599
1677
|
<fo:block>
|
1600
1678
|
<xsl:copy-of select="$docidentifier"/>
|
@@ -1603,6 +1681,9 @@
|
|
1603
1681
|
</fo:static-content>
|
1604
1682
|
<fo:static-content flow-name="header-odd" role="artifact">
|
1605
1683
|
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after" text-align="right">
|
1684
|
+
<xsl:if test="$vertical_layout = 'true'">
|
1685
|
+
<xsl:attribute name="display-align">center</xsl:attribute>
|
1686
|
+
</xsl:if>
|
1606
1687
|
<xsl:if test="$section = 'main' or $section = 'commentary'"><fo:block><fo:page-number/></fo:block></xsl:if>
|
1607
1688
|
<fo:block>
|
1608
1689
|
<xsl:copy-of select="$docidentifier"/>
|
@@ -1612,6 +1693,9 @@
|
|
1612
1693
|
</fo:static-content>
|
1613
1694
|
<fo:static-content flow-name="header-even" role="artifact">
|
1614
1695
|
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after">
|
1696
|
+
<xsl:if test="$vertical_layout = 'true'">
|
1697
|
+
<xsl:attribute name="display-align">center</xsl:attribute>
|
1698
|
+
</xsl:if>
|
1615
1699
|
<xsl:if test="$section = 'main' or $section = 'commentary'"><fo:block><fo:page-number/></fo:block></xsl:if>
|
1616
1700
|
<fo:block>
|
1617
1701
|
<xsl:copy-of select="$docidentifier"/>
|
@@ -1622,6 +1706,9 @@
|
|
1622
1706
|
|
1623
1707
|
<fo:static-content flow-name="header-commentary-even-first" role="artifact">
|
1624
1708
|
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after" text-align="left">
|
1709
|
+
<xsl:if test="$vertical_layout = 'true'">
|
1710
|
+
<xsl:attribute name="display-align">center</xsl:attribute>
|
1711
|
+
</xsl:if>
|
1625
1712
|
<fo:block><fo:page-number/></fo:block>
|
1626
1713
|
<fo:block> </fo:block>
|
1627
1714
|
</fo:block-container>
|
@@ -1629,6 +1716,9 @@
|
|
1629
1716
|
|
1630
1717
|
<fo:static-content flow-name="header-commentary-odd-first" role="artifact">
|
1631
1718
|
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after" text-align="right">
|
1719
|
+
<xsl:if test="$vertical_layout = 'true'">
|
1720
|
+
<xsl:attribute name="display-align">center</xsl:attribute>
|
1721
|
+
</xsl:if>
|
1632
1722
|
<fo:block><fo:page-number/></fo:block>
|
1633
1723
|
<fo:block> </fo:block>
|
1634
1724
|
</fo:block-container>
|
@@ -1662,7 +1752,12 @@
|
|
1662
1752
|
</fo:block>
|
1663
1753
|
</xsl:if>
|
1664
1754
|
<!-- copyright restriction -->
|
1665
|
-
<fo:block font-size="7pt" text-align="center" font-family="IPAexMincho" margin-bottom="13mm"
|
1755
|
+
<fo:block font-size="7pt" text-align="center" font-family="IPAexMincho" margin-bottom="13mm">
|
1756
|
+
<xsl:if test="$vertical_layout = 'true'">
|
1757
|
+
<xsl:attribute name="margin-bottom">5mm</xsl:attribute>
|
1758
|
+
</xsl:if>
|
1759
|
+
<xsl:value-of select="$copyrightText"/>
|
1760
|
+
</fo:block>
|
1666
1761
|
</fo:block-container>
|
1667
1762
|
</fo:static-content>
|
1668
1763
|
</xsl:template>
|
@@ -4865,6 +4960,7 @@
|
|
4865
4960
|
|
4866
4961
|
<fo:block role="SKIP">
|
4867
4962
|
<xsl:apply-templates/>
|
4963
|
+
<xsl:if test="$isGenerateTableIF = 'false' and count(node()) = 0"> </xsl:if>
|
4868
4964
|
</fo:block>
|
4869
4965
|
</fo:table-cell>
|
4870
4966
|
</xsl:template> <!-- cell in table header row - 'th' -->
|
@@ -4928,6 +5024,8 @@
|
|
4928
5024
|
|
4929
5025
|
<xsl:if test="$isGenerateTableIF = 'true'"> <fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
4930
5026
|
|
5027
|
+
<xsl:if test="$isGenerateTableIF = 'false' and count(node()) = 0"> </xsl:if>
|
5028
|
+
|
4931
5029
|
</fo:block>
|
4932
5030
|
</fo:table-cell>
|
4933
5031
|
</xsl:template> <!-- td -->
|
@@ -4998,7 +5096,8 @@
|
|
4998
5096
|
</xsl:choose>
|
4999
5097
|
</xsl:variable>
|
5000
5098
|
<xsl:variable name="current_fn_number_text">
|
5001
|
-
|
5099
|
+
|
5100
|
+
<xsl:value-of select="$current_fn_number"/>
|
5002
5101
|
|
5003
5102
|
<fo:inline font-weight="normal">)</fo:inline>
|
5004
5103
|
|
@@ -5036,8 +5135,10 @@
|
|
5036
5135
|
|
5037
5136
|
<xsl:call-template name="insert_basic_link">
|
5038
5137
|
<xsl:with-param name="element">
|
5039
|
-
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl"
|
5040
|
-
<
|
5138
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
|
5139
|
+
<fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
|
5140
|
+
<xsl:copy-of select="$current_fn_number_text"/>
|
5141
|
+
</fo:inline>
|
5041
5142
|
</fo:basic-link>
|
5042
5143
|
</xsl:with-param>
|
5043
5144
|
</xsl:call-template>
|
@@ -5329,7 +5430,7 @@
|
|
5329
5430
|
|
5330
5431
|
<xsl:call-template name="refine_fn-reference-style"/>
|
5331
5432
|
|
5332
|
-
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
5433
|
+
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
5333
5434
|
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
5334
5435
|
<xsl:attribute name="internal-destination">
|
5335
5436
|
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
@@ -6338,9 +6439,19 @@
|
|
6338
6439
|
</fo:inline>
|
6339
6440
|
</xsl:template>
|
6340
6441
|
|
6341
|
-
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
6442
|
+
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]" name="smallcaps">
|
6443
|
+
<xsl:param name="txt"/>
|
6342
6444
|
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
6343
|
-
<xsl:variable name="text"
|
6445
|
+
<xsl:variable name="text">
|
6446
|
+
<xsl:choose>
|
6447
|
+
<xsl:when test="$txt != ''">
|
6448
|
+
<xsl:value-of select="$txt"/>
|
6449
|
+
</xsl:when>
|
6450
|
+
<xsl:otherwise>
|
6451
|
+
<xsl:value-of select="."/>
|
6452
|
+
</xsl:otherwise>
|
6453
|
+
</xsl:choose>
|
6454
|
+
</xsl:variable>
|
6344
6455
|
<xsl:variable name="ratio_">
|
6345
6456
|
0.75
|
6346
6457
|
</xsl:variable>
|
@@ -7738,14 +7849,16 @@
|
|
7738
7849
|
<xsl:template match="*[local-name()='link']" name="link">
|
7739
7850
|
<xsl:variable name="target_normalized" select="translate(@target, '\', '/')"/>
|
7740
7851
|
<xsl:variable name="target_attachment_name" select="substring-after($target_normalized, '_attachments/')"/>
|
7852
|
+
<xsl:variable name="isLinkToEmbeddedFile" select="normalize-space(@attachment = 'true' and $pdfAttachmentsList//attachment[@filename = current()/@target])"/>
|
7741
7853
|
<xsl:variable name="target">
|
7742
7854
|
<xsl:choose>
|
7743
7855
|
<xsl:when test="@updatetype = 'true'">
|
7744
7856
|
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
7745
7857
|
</xsl:when>
|
7746
7858
|
<!-- link to the PDF attachment -->
|
7747
|
-
<xsl:when test="
|
7748
|
-
<xsl:
|
7859
|
+
<xsl:when test="$isLinkToEmbeddedFile = 'true'">
|
7860
|
+
<xsl:variable name="target_file" select="java:org.metanorma.fop.Util.getFilenameFromPath(@target)"/>
|
7861
|
+
<xsl:value-of select="concat('url(embedded-file:', $target_file, ')')"/>
|
7749
7862
|
</xsl:when>
|
7750
7863
|
<!-- <xsl:when test="starts-with($target_normalized, '_') and contains($target_normalized, '_attachments/') and $pdfAttachmentsList//attachment[@filename = $target_attachment_name]">
|
7751
7864
|
<xsl:value-of select="concat('url(embedded-file:', $target_attachment_name, ')')"/>
|
@@ -7776,6 +7889,11 @@
|
|
7776
7889
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
7777
7890
|
</xsl:if>
|
7778
7891
|
|
7892
|
+
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
7893
|
+
<xsl:attribute name="color">inherit</xsl:attribute>
|
7894
|
+
<xsl:attribute name="text-decoration">none</xsl:attribute>
|
7895
|
+
</xsl:if>
|
7896
|
+
|
7779
7897
|
<xsl:call-template name="refine_link-style"/>
|
7780
7898
|
|
7781
7899
|
<xsl:choose>
|
@@ -7783,9 +7901,15 @@
|
|
7783
7901
|
<xsl:apply-templates/>
|
7784
7902
|
</xsl:when>
|
7785
7903
|
<xsl:otherwise>
|
7904
|
+
<xsl:variable name="alt_text">
|
7905
|
+
<xsl:call-template name="getAltText"/>
|
7906
|
+
</xsl:variable>
|
7786
7907
|
<xsl:call-template name="insert_basic_link">
|
7787
7908
|
<xsl:with-param name="element">
|
7788
|
-
<fo:basic-link external-destination="{$target}" fox:alt-text="{$
|
7909
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$alt_text}">
|
7910
|
+
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
7911
|
+
<xsl:attribute name="role">Annot</xsl:attribute>
|
7912
|
+
</xsl:if>
|
7789
7913
|
<xsl:choose>
|
7790
7914
|
<xsl:when test="normalize-space(.) = ''">
|
7791
7915
|
<xsl:call-template name="add-zero-spaces-link-java">
|
@@ -7798,6 +7922,10 @@
|
|
7798
7922
|
</xsl:otherwise>
|
7799
7923
|
</xsl:choose>
|
7800
7924
|
</fo:basic-link>
|
7925
|
+
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
7926
|
+
<!-- reserve space at right for PaperClip icon -->
|
7927
|
+
<fo:inline keep-with-previous.within-line="always"> </fo:inline>
|
7928
|
+
</xsl:if>
|
7801
7929
|
</xsl:with-param>
|
7802
7930
|
</xsl:call-template>
|
7803
7931
|
</xsl:otherwise>
|
@@ -7805,6 +7933,14 @@
|
|
7805
7933
|
</fo:inline>
|
7806
7934
|
</xsl:template> <!-- link -->
|
7807
7935
|
|
7936
|
+
<xsl:template name="getAltText">
|
7937
|
+
<xsl:choose>
|
7938
|
+
<xsl:when test="normalize-space(.) = ''"><xsl:value-of select="@target"/></xsl:when>
|
7939
|
+
<xsl:otherwise><xsl:value-of select="normalize-space(translate(normalize-space(), ' —', ' -'))"/></xsl:otherwise>
|
7940
|
+
<!-- <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise> -->
|
7941
|
+
</xsl:choose>
|
7942
|
+
</xsl:template>
|
7943
|
+
|
7808
7944
|
<!-- ======================== -->
|
7809
7945
|
<!-- Appendix processing -->
|
7810
7946
|
<!-- ======================== -->
|
@@ -7835,7 +7971,7 @@
|
|
7835
7971
|
<xsl:template match="*[local-name() = 'callout']">
|
7836
7972
|
<xsl:choose>
|
7837
7973
|
<xsl:when test="normalize-space(@target) = ''"><<xsl:apply-templates/>></xsl:when>
|
7838
|
-
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{
|
7974
|
+
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{normalize-space()}"><<xsl:apply-templates/>></fo:basic-link></xsl:otherwise>
|
7839
7975
|
</xsl:choose>
|
7840
7976
|
</xsl:template>
|
7841
7977
|
|
@@ -7864,7 +8000,10 @@
|
|
7864
8000
|
<xsl:template match="*[local-name() = 'xref']">
|
7865
8001
|
<xsl:call-template name="insert_basic_link">
|
7866
8002
|
<xsl:with-param name="element">
|
7867
|
-
<
|
8003
|
+
<xsl:variable name="alt_text">
|
8004
|
+
<xsl:call-template name="getAltText"/>
|
8005
|
+
</xsl:variable>
|
8006
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{$alt_text}" xsl:use-attribute-sets="xref-style">
|
7868
8007
|
<xsl:if test="string-length(normalize-space()) < 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
|
7869
8008
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
7870
8009
|
</xsl:if>
|
@@ -10337,12 +10476,14 @@
|
|
10337
10476
|
|
10338
10477
|
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
10339
10478
|
|
10340
|
-
<xsl:variable name="
|
10479
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
10341
10480
|
<xsl:value-of select="10 + $text_indent"/>
|
10342
10481
|
</xsl:variable>
|
10343
|
-
<xsl:variable name="
|
10482
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
10483
|
+
<xsl:variable name="indent_">
|
10344
10484
|
<xsl:value-of select="$text_indent"/>
|
10345
10485
|
</xsl:variable>
|
10486
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
10346
10487
|
|
10347
10488
|
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
10348
10489
|
<fo:list-item>
|
@@ -11059,14 +11200,17 @@
|
|
11059
11200
|
</xsl:when>
|
11060
11201
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
11061
11202
|
|
11062
|
-
<xsl:variable name="
|
11203
|
+
<xsl:variable name="type" select="../@type"/>
|
11063
11204
|
|
11064
|
-
|
11205
|
+
<xsl:variable name="label">
|
11065
11206
|
|
11066
11207
|
<xsl:variable name="style_prefix_">
|
11067
11208
|
<xsl:if test="$type = 'roman'">
|
11068
11209
|
<!-- Example: (i) -->
|
11069
11210
|
</xsl:if>
|
11211
|
+
<xsl:if test="$type = 'alphabet'">
|
11212
|
+
|
11213
|
+
</xsl:if>
|
11070
11214
|
</xsl:variable>
|
11071
11215
|
<xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
|
11072
11216
|
|
@@ -11092,13 +11236,15 @@
|
|
11092
11236
|
<xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
|
11093
11237
|
<xsl:value-of select="$style_prefix"/>
|
11094
11238
|
</xsl:if>
|
11239
|
+
|
11095
11240
|
<xsl:value-of select="@label"/>
|
11241
|
+
|
11096
11242
|
<xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
|
11097
11243
|
<xsl:value-of select="$style_suffix"/>
|
11098
11244
|
</xsl:if>
|
11099
11245
|
</xsl:variable>
|
11100
11246
|
|
11101
|
-
|
11247
|
+
<xsl:value-of select="normalize-space($label)"/>
|
11102
11248
|
|
11103
11249
|
</xsl:when>
|
11104
11250
|
<xsl:otherwise> <!-- for ordered lists 'ol' -->
|
@@ -13416,9 +13562,15 @@
|
|
13416
13562
|
</x:xmpmeta>
|
13417
13563
|
<!-- add attachments -->
|
13418
13564
|
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
|
13419
|
-
<xsl:variable name="
|
13420
|
-
|
13421
|
-
<
|
13565
|
+
<xsl:variable name="bibitem_attachment_" select="//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment'] = current()/@name]"/>
|
13566
|
+
<xsl:variable name="bibitem_attachment" select="xalan:nodeset($bibitem_attachment_)"/>
|
13567
|
+
<xsl:variable name="description" select="normalize-space($bibitem_attachment/*[local-name() = 'formattedref'])"/>
|
13568
|
+
<xsl:variable name="filename" select="java:org.metanorma.fop.Util.getFilenameFromPath(@name)"/>
|
13569
|
+
<!-- Todo: need update -->
|
13570
|
+
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
13571
|
+
<xsl:variable name="volatile" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
13572
|
+
|
13573
|
+
<pdf:embedded-file filename="{$filename}" link-as-file-annotation="true">
|
13422
13574
|
<xsl:attribute name="src">
|
13423
13575
|
<xsl:choose>
|
13424
13576
|
<xsl:when test="normalize-space() != ''">
|
@@ -13434,18 +13586,34 @@
|
|
13434
13586
|
<xsl:if test="$description != ''">
|
13435
13587
|
<xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
|
13436
13588
|
</xsl:if>
|
13589
|
+
<xsl:if test="$afrelationship != ''">
|
13590
|
+
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
13591
|
+
</xsl:if>
|
13592
|
+
<xsl:if test="$volatile != ''">
|
13593
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
13594
|
+
</xsl:if>
|
13437
13595
|
</pdf:embedded-file>
|
13438
13596
|
</xsl:for-each>
|
13439
13597
|
<!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
|
13440
13598
|
<xsl:if test="not(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment'])">
|
13441
13599
|
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment']]">
|
13442
13600
|
<xsl:variable name="attachment_path" select="*[local-name() = 'uri'][@type = 'attachment']"/>
|
13601
|
+
<xsl:variable name="attachment_name" select="java:org.metanorma.fop.Util.getFilenameFromPath($attachment_path)"/>
|
13443
13602
|
<xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
|
13444
13603
|
<xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
|
13445
|
-
|
13604
|
+
<!-- Todo: need update -->
|
13605
|
+
<xsl:variable name="afrelationship" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
13606
|
+
<xsl:variable name="volatile" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
13607
|
+
<pdf:embedded-file src="{$url}" filename="{$attachment_name}" link-as-file-annotation="true">
|
13446
13608
|
<xsl:if test="$description != ''">
|
13447
13609
|
<xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
|
13448
13610
|
</xsl:if>
|
13611
|
+
<xsl:if test="$afrelationship != ''">
|
13612
|
+
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
13613
|
+
</xsl:if>
|
13614
|
+
<xsl:if test="$volatile != ''">
|
13615
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
13616
|
+
</xsl:if>
|
13449
13617
|
</pdf:embedded-file>
|
13450
13618
|
</xsl:for-each>
|
13451
13619
|
</xsl:if>
|
@@ -13465,6 +13633,12 @@
|
|
13465
13633
|
<!-- Get or calculate depth of the element -->
|
13466
13634
|
<xsl:template name="getLevel">
|
13467
13635
|
<xsl:param name="depth"/>
|
13636
|
+
<!-- <xsl:message>
|
13637
|
+
<xsl:choose>
|
13638
|
+
<xsl:when test="local-name() = 'title'">title=<xsl:value-of select="."/></xsl:when>
|
13639
|
+
<xsl:when test="local-name() = 'clause'">clause/title=<xsl:value-of select="*[local-name() = 'title']"/></xsl:when>
|
13640
|
+
</xsl:choose>
|
13641
|
+
</xsl:message> -->
|
13468
13642
|
<xsl:choose>
|
13469
13643
|
<xsl:when test="normalize-space(@depth) != ''">
|
13470
13644
|
<xsl:value-of select="@depth"/>
|
@@ -13485,8 +13659,48 @@
|
|
13485
13659
|
<xsl:when test="ancestor::*[local-name() = 'preface']">
|
13486
13660
|
<xsl:value-of select="$level_total - 2"/>
|
13487
13661
|
</xsl:when>
|
13662
|
+
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'title']">
|
13663
|
+
<!-- determine 'depth' depends on upper clause with title/@depth -->
|
13664
|
+
<!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
|
13665
|
+
<xsl:variable name="clause_with_depth_depth" select="ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/*[local-name() = 'title']/@depth"/>
|
13666
|
+
<!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
|
13667
|
+
<xsl:variable name="clause_with_depth_level" select="count(ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/ancestor::*)"/>
|
13668
|
+
<!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
|
13669
|
+
<xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
|
13670
|
+
<!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
|
13671
|
+
<!-- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/> -->
|
13672
|
+
<xsl:variable name="curr_clause_depth" select="number($clause_with_depth_depth) + (number($curr_level) - number($clause_with_depth_level)) "/>
|
13673
|
+
<!-- <xsl:message>curr_clause_depth=<xsl:value-of select="$curr_clause_depth"/></xsl:message> -->
|
13674
|
+
<xsl:choose>
|
13675
|
+
<xsl:when test="string(number($curr_clause_depth)) != 'NaN'">
|
13676
|
+
<xsl:value-of select="number($curr_clause_depth)"/>
|
13677
|
+
</xsl:when>
|
13678
|
+
<xsl:otherwise>
|
13679
|
+
<xsl:value-of select="$level_total - 2"/>
|
13680
|
+
</xsl:otherwise>
|
13681
|
+
</xsl:choose>
|
13682
|
+
</xsl:when>
|
13683
|
+
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'name'] and parent::*[local-name() = 'term']">
|
13684
|
+
<xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::*[local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
13685
|
+
<xsl:choose>
|
13686
|
+
<xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
|
13687
|
+
<xsl:value-of select="number($upper_terms_depth + 1)"/>
|
13688
|
+
</xsl:when>
|
13689
|
+
<xsl:otherwise>
|
13690
|
+
<xsl:value-of select="$level_total - 2"/>
|
13691
|
+
</xsl:otherwise>
|
13692
|
+
</xsl:choose>
|
13693
|
+
</xsl:when>
|
13488
13694
|
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
13489
|
-
<xsl:
|
13695
|
+
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause' or local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
13696
|
+
<xsl:choose>
|
13697
|
+
<xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
|
13698
|
+
<xsl:value-of select="number($upper_clause_depth + 1)"/>
|
13699
|
+
</xsl:when>
|
13700
|
+
<xsl:otherwise>
|
13701
|
+
<xsl:value-of select="$level_total - 1"/>
|
13702
|
+
</xsl:otherwise>
|
13703
|
+
</xsl:choose>
|
13490
13704
|
</xsl:when>
|
13491
13705
|
<xsl:when test="ancestor::*[local-name() = 'bibliography']">
|
13492
13706
|
<xsl:value-of select="$level_total - 1"/>
|
@@ -13494,6 +13708,17 @@
|
|
13494
13708
|
<xsl:when test="parent::*[local-name() = 'annex']">
|
13495
13709
|
<xsl:value-of select="$level_total - 1"/>
|
13496
13710
|
</xsl:when>
|
13711
|
+
<xsl:when test="ancestor::*[local-name() = 'annex'] and self::*[local-name() = 'title']">
|
13712
|
+
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/>
|
13713
|
+
<xsl:choose>
|
13714
|
+
<xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
|
13715
|
+
<xsl:value-of select="number($upper_clause_depth + 1)"/>
|
13716
|
+
</xsl:when>
|
13717
|
+
<xsl:otherwise>
|
13718
|
+
<xsl:value-of select="$level_total - 1"/>
|
13719
|
+
</xsl:otherwise>
|
13720
|
+
</xsl:choose>
|
13721
|
+
</xsl:when>
|
13497
13722
|
<xsl:when test="ancestor::*[local-name() = 'annex']">
|
13498
13723
|
<xsl:value-of select="$level_total"/>
|
13499
13724
|
</xsl:when>
|
@@ -13850,6 +14075,20 @@
|
|
13850
14075
|
|
13851
14076
|
<!-- END: insert cover page image -->
|
13852
14077
|
|
14078
|
+
<xsl:template name="insertVerticalChar">
|
14079
|
+
<xsl:param name="str"/>
|
14080
|
+
<xsl:if test="string-length($str) > 0">
|
14081
|
+
<fo:inline-container writing-mode="lr-tb" text-align="center" alignment-baseline="central" reference-orientation="90" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
|
14082
|
+
<fo:block-container width="1em">
|
14083
|
+
<fo:block line-height="1em"><xsl:value-of select="substring($str,1,1)"/></fo:block>
|
14084
|
+
</fo:block-container>
|
14085
|
+
</fo:inline-container>
|
14086
|
+
<xsl:call-template name="insertVerticalChar">
|
14087
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
14088
|
+
</xsl:call-template>
|
14089
|
+
</xsl:if>
|
14090
|
+
</xsl:template>
|
14091
|
+
|
13853
14092
|
<xsl:template name="number-to-words">
|
13854
14093
|
<xsl:param name="number"/>
|
13855
14094
|
<xsl:param name="first"/>
|
@@ -14137,4 +14376,18 @@
|
|
14137
14376
|
</xsl:if>
|
14138
14377
|
</xsl:template>
|
14139
14378
|
|
14379
|
+
<xsl:template match="@*|node()" mode="set_table_role_skip">
|
14380
|
+
<xsl:copy>
|
14381
|
+
<xsl:apply-templates select="@*|node()" mode="set_table_role_skip"/>
|
14382
|
+
</xsl:copy>
|
14383
|
+
</xsl:template>
|
14384
|
+
|
14385
|
+
<xsl:template match="*[starts-with(local-name(), 'table')]" mode="set_table_role_skip">
|
14386
|
+
<xsl:copy>
|
14387
|
+
<xsl:apply-templates select="@*" mode="set_table_role_skip"/>
|
14388
|
+
<xsl:attribute name="role">SKIP</xsl:attribute>
|
14389
|
+
<xsl:apply-templates select="node()" mode="set_table_role_skip"/>
|
14390
|
+
</xsl:copy>
|
14391
|
+
</xsl:template>
|
14392
|
+
|
14140
14393
|
</xsl:stylesheet>
|
data/lib/isodoc/jis/metadata.rb
CHANGED
data/lib/isodoc/jis/table.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative "../../html2doc/lists"
|
2
2
|
|
3
3
|
module IsoDoc
|
4
|
-
module
|
4
|
+
module Jis
|
5
5
|
class WordConvert < IsoDoc::Iso::WordConvert
|
6
6
|
def word_cleanup(docxml)
|
7
7
|
word_note_cleanup(docxml)
|
@@ -65,7 +65,7 @@ module IsoDoc
|
|
65
65
|
def to_word1(result, filename, dir, header)
|
66
66
|
result or return
|
67
67
|
result = from_xhtml(result).gsub(/-DOUBLE_HYPHEN_ESCAPE-/, "--")
|
68
|
-
::Html2Doc::
|
68
|
+
::Html2Doc::Jis.new(
|
69
69
|
filename: filename, imagedir: @localdir,
|
70
70
|
stylesheet: @wordstylesheet&.path,
|
71
71
|
header_file: header&.path, dir: dir,
|
data/lib/isodoc/jis/xref.rb
CHANGED
@@ -72,6 +72,9 @@ standards defining organization, and that is rendered in a distinct manner</a:do
|
|
72
72
|
from other documents in the same doctype</a:documentation>
|
73
73
|
</ref>
|
74
74
|
</optional>
|
75
|
+
<ref name="flavor">
|
76
|
+
<a:documentation>Flavour of Metanorma used to process this document</a:documentation>
|
77
|
+
</ref>
|
75
78
|
<optional>
|
76
79
|
<ref name="editorialgroup">
|
77
80
|
<a:documentation>Groups associated with the production of the standards document, typically within
|
@@ -113,6 +116,16 @@ a standards definition organization</a:documentation>
|
|
113
116
|
<define name="DocumentSubtype">
|
114
117
|
<text/>
|
115
118
|
</define>
|
119
|
+
<define name="flavor">
|
120
|
+
<element name="flavor">
|
121
|
+
<ref name="MetanormaFlavor"/>
|
122
|
+
</element>
|
123
|
+
</define>
|
124
|
+
<define name="MetanormaFlavor">
|
125
|
+
<a:documentation>This is in fact an enum, as of this writing: standoc iso generic ietf ieee itu nist ogc csa cc iho ribose jis iec bsi bipm plateau.
|
126
|
+
However we prefer not to hardcode it, given ongoing extension.</a:documentation>
|
127
|
+
<text/>
|
128
|
+
</define>
|
116
129
|
<define name="editorialgroup">
|
117
130
|
<a:documentation>A group associated with the production of the standards document, typically within
|
118
131
|
a standards definition organization</a:documentation>
|
@@ -1382,18 +1382,7 @@ Applies whether the resource has already been created or not, and whether it is
|
|
1382
1382
|
<define name="bdate">
|
1383
1383
|
<a:documentation>Significant date in the lifecycle of the bibliographic item, including its production and its access</a:documentation>
|
1384
1384
|
<element name="date">
|
1385
|
-
<
|
1386
|
-
<a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
|
1387
|
-
<choice>
|
1388
|
-
<ref name="BibliographicDateType"/>
|
1389
|
-
<text/>
|
1390
|
-
</choice>
|
1391
|
-
</attribute>
|
1392
|
-
<optional>
|
1393
|
-
<attribute name="text">
|
1394
|
-
<a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
|
1395
|
-
</attribute>
|
1396
|
-
</optional>
|
1385
|
+
<ref name="bDateAttributes"/>
|
1397
1386
|
<optional>
|
1398
1387
|
<choice>
|
1399
1388
|
<group>
|
@@ -1416,6 +1405,20 @@ Applies whether the resource has already been created or not, and whether it is
|
|
1416
1405
|
</optional>
|
1417
1406
|
</element>
|
1418
1407
|
</define>
|
1408
|
+
<define name="bDateAttributes">
|
1409
|
+
<attribute name="type">
|
1410
|
+
<a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
|
1411
|
+
<choice>
|
1412
|
+
<ref name="BibliographicDateType"/>
|
1413
|
+
<text/>
|
1414
|
+
</choice>
|
1415
|
+
</attribute>
|
1416
|
+
<optional>
|
1417
|
+
<attribute name="text">
|
1418
|
+
<a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
|
1419
|
+
</attribute>
|
1420
|
+
</optional>
|
1421
|
+
</define>
|
1419
1422
|
<define name="docidentifier">
|
1420
1423
|
<a:documentation>An identifier of a bibliographic item in an international standard scheme</a:documentation>
|
1421
1424
|
<element name="docidentifier">
|
@@ -1884,6 +1887,10 @@ Detailed in https://www.relaton.org/model/relations/</a:documentation>
|
|
1884
1887
|
<value>hasAnnotation</value>
|
1885
1888
|
<value>draftOf</value>
|
1886
1889
|
<value>hasDraft</value>
|
1890
|
+
<value>preliminaryDraftOf</value>
|
1891
|
+
<value>hasPreliminaryDraft</value>
|
1892
|
+
<value>revisionDraftOf</value>
|
1893
|
+
<value>hasRevisionDraft</value>
|
1887
1894
|
<value>editionOf</value>
|
1888
1895
|
<value>hasEdition</value>
|
1889
1896
|
<value>updates</value>
|
@@ -5,8 +5,8 @@ require_relative "validate"
|
|
5
5
|
require_relative "cleanup"
|
6
6
|
|
7
7
|
module Metanorma
|
8
|
-
module
|
9
|
-
class Converter <
|
8
|
+
module Jis
|
9
|
+
class Converter < Iso::Converter
|
10
10
|
XML_ROOT_TAG = "jis-standard".freeze
|
11
11
|
XML_NAMESPACE = "https://www.metanorma.org/ns/jis".freeze
|
12
12
|
|
@@ -48,17 +48,17 @@ module Metanorma
|
|
48
48
|
|
49
49
|
def html_converter(node)
|
50
50
|
if node.nil?
|
51
|
-
IsoDoc::
|
51
|
+
IsoDoc::Jis::HtmlConvert.new({})
|
52
52
|
else
|
53
|
-
IsoDoc::
|
53
|
+
IsoDoc::Jis::HtmlConvert.new(html_extract_attributes(node))
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
57
|
def doc_converter(node)
|
58
58
|
if node.nil?
|
59
|
-
IsoDoc::
|
59
|
+
IsoDoc::Jis::WordConvert.new({})
|
60
60
|
else
|
61
|
-
IsoDoc::
|
61
|
+
IsoDoc::Jis::WordConvert.new(doc_extract_attributes(node))
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -66,19 +66,19 @@ module Metanorma
|
|
66
66
|
return if node.attr("no-pdf")
|
67
67
|
|
68
68
|
if node.nil?
|
69
|
-
IsoDoc::
|
69
|
+
IsoDoc::Jis::PdfConvert.new({})
|
70
70
|
else
|
71
|
-
IsoDoc::
|
71
|
+
IsoDoc::Jis::PdfConvert.new(pdf_extract_attributes(node))
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
75
|
def presentation_xml_converter(node)
|
76
76
|
if node.nil?
|
77
|
-
IsoDoc::
|
77
|
+
IsoDoc::Jis::PresentationXMLConvert.new({})
|
78
78
|
else
|
79
|
-
IsoDoc::
|
79
|
+
IsoDoc::Jis::PresentationXMLConvert
|
80
80
|
.new(doc_extract_attributes(node)
|
81
|
-
.merge(output_formats: ::Metanorma::
|
81
|
+
.merge(output_formats: ::Metanorma::Jis::Processor.new
|
82
82
|
.output_formats))
|
83
83
|
end
|
84
84
|
end
|
data/lib/metanorma/jis/front.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "metanorma/processor"
|
2
2
|
|
3
3
|
module Metanorma
|
4
|
-
module
|
4
|
+
module Jis
|
5
5
|
class Processor < Metanorma::Processor
|
6
6
|
|
7
7
|
def initialize # rubocop:disable Lint/MissingSuper
|
@@ -31,20 +31,20 @@ module Metanorma
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def version
|
34
|
-
"Metanorma::
|
34
|
+
"Metanorma::Jis #{Metanorma::Jis::VERSION}"
|
35
35
|
end
|
36
36
|
|
37
37
|
def output(xml, inname, outname, format, options = {})
|
38
38
|
options_preprocess(options)
|
39
39
|
case format
|
40
40
|
when :html
|
41
|
-
IsoDoc::
|
41
|
+
IsoDoc::Jis::HtmlConvert.new(options).convert(inname, xml, nil, outname)
|
42
42
|
when :doc
|
43
|
-
IsoDoc::
|
43
|
+
IsoDoc::Jis::WordConvert.new(options).convert(inname, xml, nil, outname)
|
44
44
|
when :pdf
|
45
|
-
IsoDoc::
|
45
|
+
IsoDoc::Jis::PdfConvert.new(options).convert(inname, xml, nil, outname)
|
46
46
|
when :presentation
|
47
|
-
IsoDoc::
|
47
|
+
IsoDoc::Jis::PresentationXMLConvert.new(options).convert(inname, xml, nil, outname)
|
48
48
|
else
|
49
49
|
super
|
50
50
|
end
|
data/lib/metanorma/jis.rb
CHANGED
data/lib/metanorma-jis.rb
CHANGED
@@ -5,7 +5,7 @@ require_relative "parse"
|
|
5
5
|
|
6
6
|
module Relaton
|
7
7
|
module Render
|
8
|
-
module
|
8
|
+
module Jis
|
9
9
|
class General < ::Relaton::Render::Iso::General
|
10
10
|
def config_loc
|
11
11
|
YAML.load_file(File.join(File.dirname(__FILE__), "config.yml"))
|
@@ -13,7 +13,7 @@ module Relaton
|
|
13
13
|
|
14
14
|
def klass_initialize(_options)
|
15
15
|
super
|
16
|
-
@parseklass = Relaton::Render::
|
16
|
+
@parseklass = Relaton::Render::Jis::Parse
|
17
17
|
end
|
18
18
|
|
19
19
|
def render1(doc)
|
data/metanorma-jis.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-jis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: japanese_calendar
|