metanorma-jis 0.3.4 → 0.3.6
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/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
|