metanorma-jis 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/jis/base_convert.rb +2 -0
- data/lib/isodoc/jis/html/html_jis_intro.html +0 -1
- data/lib/isodoc/jis/html/isodoc.css +1 -1
- data/lib/isodoc/jis/html/isodoc.scss +1 -1
- data/lib/isodoc/jis/html/word_jis_intro.html +0 -7
- data/lib/isodoc/jis/html/wordstyle.css +1 -1
- data/lib/isodoc/jis/html/wordstyle.scss +1 -1
- data/lib/isodoc/jis/html_convert.rb +1 -1
- data/lib/isodoc/jis/jis.international-standard.xsl +434 -156
- data/lib/isodoc/jis/presentation_xml_convert.rb +22 -0
- data/lib/isodoc/jis/word_convert.rb +11 -22
- data/lib/metanorma/jis/isodoc.rng +12 -7
- data/lib/metanorma/jis/isostandard.rng +5 -8
- data/lib/metanorma/jis/jis.rng +6 -9
- data/lib/metanorma/jis/version.rb +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: 8aa2b9625e047934a606fac5b563a4dc8df41167eefe628458b432cbbaca8323
|
|
4
|
+
data.tar.gz: 21fffd5a4b5699203b50ddff19f63424a3247a2a4d02c3c0e7e70bea2df9fcdb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b6175e4ab29f198e963f657f2f2420fe8d9bbc43eb574ab144bb5f384472265842045a8068e5ead0c6974daedf076d6e9296bf4e87d6c04312944c0622b20dc9
|
|
7
|
+
data.tar.gz: 04bc71690313eac02acc1a3ee88360c7153c84cd586f5af75824aac053d4d23eb0cf069c1a03352116631955eb378993ddb2c1ec3e64cf49f10d655fc1c80a3f
|
|
@@ -105,6 +105,8 @@ module IsoDoc
|
|
|
105
105
|
def middle(isoxml, out)
|
|
106
106
|
middle_title(isoxml, out)
|
|
107
107
|
middle_admonitions(isoxml, out)
|
|
108
|
+
i = isoxml.at(ns("//sections/introduction")) and
|
|
109
|
+
introduction i, out
|
|
108
110
|
scope isoxml, out, 0
|
|
109
111
|
norm_ref isoxml, out, 0
|
|
110
112
|
clause_etc isoxml, out, 0
|
|
@@ -935,7 +935,7 @@ p.Chapter, li.Chapter, div.Chapter {
|
|
|
935
935
|
mso-no-proof: yes; }
|
|
936
936
|
|
|
937
937
|
p.zzSTDTitle2, li.zzSTDTitle2, div.zzSTDTitle2 {
|
|
938
|
-
mso-style-name:
|
|
938
|
+
mso-style-name: 規格名称(英語);
|
|
939
939
|
/* Standard name (English) */
|
|
940
940
|
mso-style-unhide: no;
|
|
941
941
|
mso-style-parent: "";
|
|
@@ -892,7 +892,7 @@ p.Chapter, li.Chapter, div.Chapter
|
|
|
892
892
|
mso-bidi-font-weight:normal;
|
|
893
893
|
mso-no-proof:yes;}
|
|
894
894
|
p.zzSTDTitle2, li.zzSTDTitle2, div.zzSTDTitle2
|
|
895
|
-
{mso-style-name
|
|
895
|
+
{mso-style-name:規格名称(英語);
|
|
896
896
|
/* Standard name (English) */
|
|
897
897
|
mso-style-unhide:no;
|
|
898
898
|
mso-style-parent:"";
|
|
@@ -6,10 +6,3 @@ margin-left:5.1pt;margin-right:5.1pt'>
|
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
<p class="MsoNormal">
|
|
10
|
-
<br clear="all" style="mso-special-character:line-break;page-break-before:always"/>
|
|
11
|
-
</p>
|
|
12
|
-
|
|
13
|
-
<p class="zzContents" style='margin-top:0cm'><span lang="EN-GB">{{ labels["table_of_contents"] }}</span></p>
|
|
14
|
-
|
|
15
|
-
WORDTOC
|
|
@@ -88,6 +88,22 @@
|
|
|
88
88
|
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
|
89
89
|
</fo:simple-page-master>
|
|
90
90
|
|
|
91
|
+
<fo:simple-page-master master-name="first_page_toc" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
|
92
|
+
<fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
|
|
93
|
+
<fo:region-before region-name="header-odd-first" extent="{$marginTop}mm"/>
|
|
94
|
+
<fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
|
|
95
|
+
<fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
|
|
96
|
+
<fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
|
|
97
|
+
</fo:simple-page-master>
|
|
98
|
+
|
|
99
|
+
<fo:page-sequence-master master-name="document_toc">
|
|
100
|
+
<fo:repeatable-page-master-alternatives>
|
|
101
|
+
<fo:conditional-page-master-reference page-position="first" master-reference="first_page_toc"/>
|
|
102
|
+
<fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
|
|
103
|
+
<fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
|
|
104
|
+
</fo:repeatable-page-master-alternatives>
|
|
105
|
+
</fo:page-sequence-master>
|
|
106
|
+
|
|
91
107
|
<fo:page-sequence-master master-name="document_preface">
|
|
92
108
|
<fo:repeatable-page-master-alternatives>
|
|
93
109
|
<fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
|
|
@@ -113,14 +129,14 @@
|
|
|
113
129
|
<!-- landscape -->
|
|
114
130
|
<fo:simple-page-master master-name="odd-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
|
|
115
131
|
<fo:region-body margin-top="{$marginLeftRight1}mm" margin-bottom="{$marginLeftRight2}mm" margin-left="{$marginBottom}mm" margin-right="{$marginTop}mm"/>
|
|
116
|
-
<fo:region-before region-name="header" extent="{$marginLeftRight1}mm" precedence="true"/>
|
|
132
|
+
<fo:region-before region-name="header-odd" extent="{$marginLeftRight1}mm" precedence="true"/>
|
|
117
133
|
<fo:region-after region-name="footer" extent="{$marginLeftRight2}mm" precedence="true"/>
|
|
118
134
|
<fo:region-start region-name="left-region-landscape" extent="{$marginBottom}mm"/>
|
|
119
135
|
<fo:region-end region-name="right-region-landscape" extent="{$marginTop}mm"/>
|
|
120
136
|
</fo:simple-page-master>
|
|
121
137
|
<fo:simple-page-master master-name="even-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
|
|
122
138
|
<fo:region-body margin-top="{$marginLeftRight2}mm" margin-bottom="{$marginLeftRight1}mm" margin-left="{$marginBottom}mm" margin-right="{$marginTop}mm"/>
|
|
123
|
-
<fo:region-before region-name="header" extent="{$marginLeftRight2}mm" precedence="true"/>
|
|
139
|
+
<fo:region-before region-name="header-even" extent="{$marginLeftRight2}mm" precedence="true"/>
|
|
124
140
|
<fo:region-after region-name="footer" extent="{$marginLeftRight1}mm" precedence="true"/>
|
|
125
141
|
<fo:region-start region-name="left-region-landscape" extent="{$marginBottom}mm"/>
|
|
126
142
|
<fo:region-end region-name="right-region-landspace" extent="{$marginTop}mm"/>
|
|
@@ -166,13 +182,27 @@
|
|
|
166
182
|
|
|
167
183
|
<xsl:variable name="year_published" select="substring(/*/jis:bibdata/jis:date[@type = 'published']/jis:on, 1, 4)"/>
|
|
168
184
|
|
|
185
|
+
<xsl:variable name="element_name_colon_gothic">colon_gothic</xsl:variable>
|
|
186
|
+
<xsl:variable name="tag_colon_gothic_open">###<xsl:value-of select="$element_name_colon_gothic"/>###</xsl:variable>
|
|
187
|
+
<xsl:variable name="tag_colon_gothic_close">###/<xsl:value-of select="$element_name_colon_gothic"/>###</xsl:variable>
|
|
188
|
+
|
|
189
|
+
<xsl:variable name="docidentifier_" select="java:replaceAll(java:java.lang.String.new(/*/jis:bibdata/jis:docidentifier), '(:)', concat($tag_colon_gothic_open,'$1',$tag_colon_gothic_close))"/>
|
|
190
|
+
|
|
191
|
+
<xsl:variable name="docidentifier__"><text><xsl:call-template name="replace_text_tags">
|
|
192
|
+
<xsl:with-param name="tag_open" select="$tag_colon_gothic_open"/>
|
|
193
|
+
<xsl:with-param name="tag_close" select="$tag_colon_gothic_close"/>
|
|
194
|
+
<xsl:with-param name="text" select="$docidentifier_"/>
|
|
195
|
+
</xsl:call-template></text></xsl:variable>
|
|
196
|
+
|
|
169
197
|
<xsl:variable name="docidentifier">
|
|
170
|
-
<
|
|
171
|
-
<fo:inline font-family="IPAexGothic">:</fo:inline>
|
|
172
|
-
<fo:inline><xsl:value-of select="$year_published"/></fo:inline>
|
|
198
|
+
<xsl:apply-templates select="xalan:nodeset($docidentifier__)/node()"/>
|
|
173
199
|
</xsl:variable>
|
|
174
200
|
|
|
175
|
-
<xsl:variable name="copyrightText"
|
|
201
|
+
<xsl:variable name="copyrightText">
|
|
202
|
+
<xsl:call-template name="getLocalizedString">
|
|
203
|
+
<xsl:with-param name="key">permission_footer</xsl:with-param>
|
|
204
|
+
</xsl:call-template>
|
|
205
|
+
</xsl:variable>
|
|
176
206
|
|
|
177
207
|
<xsl:variable name="doctype" select="/*/jis:bibdata/jis:ext/jis:doctype"/>
|
|
178
208
|
|
|
@@ -193,12 +223,20 @@
|
|
|
193
223
|
<!-- Contents and preface pages -->
|
|
194
224
|
<!-- ========================== -->
|
|
195
225
|
|
|
196
|
-
<fo:page-sequence master-reference="
|
|
226
|
+
<fo:page-sequence master-reference="document_toc" initial-page-number="1" force-page-count="no-force">
|
|
197
227
|
|
|
198
228
|
<xsl:call-template name="insertHeaderFooter">
|
|
199
229
|
<xsl:with-param name="docidentifier" select="$docidentifier"/>
|
|
200
230
|
<xsl:with-param name="copyrightText" select="$copyrightText"/>
|
|
201
231
|
<xsl:with-param name="section">preface</xsl:with-param>
|
|
232
|
+
<xsl:with-param name="section_title">
|
|
233
|
+
<fo:inline font-family="IPAexGothic">
|
|
234
|
+
<xsl:text> </xsl:text>
|
|
235
|
+
<xsl:call-template name="getLocalizedString">
|
|
236
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
|
237
|
+
</xsl:call-template>
|
|
238
|
+
</fo:inline>
|
|
239
|
+
</xsl:with-param>
|
|
202
240
|
</xsl:call-template>
|
|
203
241
|
|
|
204
242
|
<fo:flow flow-name="xsl-region-body">
|
|
@@ -210,65 +248,9 @@
|
|
|
210
248
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
|
211
249
|
</xsl:if>
|
|
212
250
|
|
|
213
|
-
<
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
|
217
|
-
</xsl:call-template> -->
|
|
218
|
-
<xsl:text>目 次</xsl:text>
|
|
219
|
-
</fo:block>
|
|
220
|
-
|
|
221
|
-
<fo:block text-align="right" font-size="8pt" font-family="IPAexMincho" margin-top="10mm">
|
|
222
|
-
<!-- Page -->
|
|
223
|
-
<!-- <xsl:call-template name="getLocalizedString">
|
|
224
|
-
<xsl:with-param name="key">locality.page</xsl:with-param>
|
|
225
|
-
</xsl:call-template> -->
|
|
226
|
-
<xsl:text>ページ</xsl:text>
|
|
227
|
-
</fo:block>
|
|
228
|
-
|
|
229
|
-
<fo:block role="TOC" font-family="IPAexGothic">
|
|
230
|
-
<xsl:if test="$contents/doc[@num = $num]//item[@display = 'true']">
|
|
231
|
-
<xsl:for-each select="$contents/doc[@num = $num]//item[@display = 'true'][@level <= $toc_level or @type='figure' or @type = 'table']">
|
|
232
|
-
<fo:block role="TOCI">
|
|
233
|
-
<xsl:choose>
|
|
234
|
-
<xsl:when test="@type = 'bibliography'">
|
|
235
|
-
</xsl:when>
|
|
236
|
-
<xsl:when test="@type = 'annex'">
|
|
237
|
-
<fo:block space-after="5pt">
|
|
238
|
-
<xsl:call-template name="insertTocItem"/>
|
|
239
|
-
</fo:block>
|
|
240
|
-
</xsl:when>
|
|
241
|
-
<xsl:otherwise>
|
|
242
|
-
<fo:list-block space-after="5pt">
|
|
243
|
-
<xsl:attribute name="provisional-distance-between-starts">
|
|
244
|
-
<xsl:choose>
|
|
245
|
-
<xsl:when test="string-length(@section) = 1">5mm</xsl:when>
|
|
246
|
-
<xsl:when test="string-length(@section) >= 2"><xsl:value-of select="5 + (string-length(@section) - 1) * 2"/>mm</xsl:when>
|
|
247
|
-
<xsl:when test="@type = 'annex'">16mm</xsl:when>
|
|
248
|
-
<xsl:otherwise>5mm</xsl:otherwise>
|
|
249
|
-
</xsl:choose>
|
|
250
|
-
</xsl:attribute>
|
|
251
|
-
<fo:list-item>
|
|
252
|
-
<fo:list-item-label end-indent="label-end()">
|
|
253
|
-
<fo:block>
|
|
254
|
-
<xsl:if test="@section != '' and @type != 'annex'">
|
|
255
|
-
<xsl:attribute name="font-family">Times New Roman</xsl:attribute>
|
|
256
|
-
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
|
257
|
-
</xsl:if>
|
|
258
|
-
<xsl:value-of select="@section"/>
|
|
259
|
-
</fo:block>
|
|
260
|
-
</fo:list-item-label>
|
|
261
|
-
<fo:list-item-body start-indent="body-start()">
|
|
262
|
-
<xsl:call-template name="insertTocItem"/>
|
|
263
|
-
</fo:list-item-body>
|
|
264
|
-
</fo:list-item>
|
|
265
|
-
</fo:list-block>
|
|
266
|
-
</xsl:otherwise>
|
|
267
|
-
</xsl:choose>
|
|
268
|
-
</fo:block>
|
|
269
|
-
</xsl:for-each>
|
|
270
|
-
</xsl:if>
|
|
271
|
-
</fo:block>
|
|
251
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() = 'clause'][@type = 'toc']">
|
|
252
|
+
<xsl:with-param name="num" select="$num"/>
|
|
253
|
+
</xsl:apply-templates>
|
|
272
254
|
|
|
273
255
|
</fo:flow>
|
|
274
256
|
|
|
@@ -331,7 +313,9 @@
|
|
|
331
313
|
<fo:block-container margin-left="70mm">
|
|
332
314
|
<fo:block-container margin-left="0mm" margin-top="30mm" width="26.5mm" height="8.5mm" text-align="center" display-align="center" border="1pt solid black">
|
|
333
315
|
<fo:block>
|
|
334
|
-
<xsl:
|
|
316
|
+
<xsl:call-template name="getLocalizedString">
|
|
317
|
+
<xsl:with-param name="key">white-paper</xsl:with-param>
|
|
318
|
+
</xsl:call-template>
|
|
335
319
|
</fo:block>
|
|
336
320
|
</fo:block-container>
|
|
337
321
|
</fo:block-container>
|
|
@@ -483,6 +467,78 @@
|
|
|
483
467
|
</fo:root>
|
|
484
468
|
</xsl:template>
|
|
485
469
|
|
|
470
|
+
<xsl:template match="*[local-name() = 'colon_gothic']">
|
|
471
|
+
<!-- replace : to : (Fullwidth colon) and render it in the font IPAexGothic -->
|
|
472
|
+
<fo:inline font-family="IPAexGothic">:</fo:inline>
|
|
473
|
+
</xsl:template>
|
|
474
|
+
|
|
475
|
+
<xsl:template match="*[local-name()='preface']/*[local-name() = 'clause'][@type = 'toc']" priority="4">
|
|
476
|
+
<xsl:param name="num"/>
|
|
477
|
+
<xsl:apply-templates/>
|
|
478
|
+
<xsl:if test="count(*) = 1 and *[local-name() = 'title']"> <!-- if there isn't user ToC -->
|
|
479
|
+
<!-- fill ToC -->
|
|
480
|
+
<fo:block role="TOC" font-family="IPAexGothic">
|
|
481
|
+
<xsl:if test="$contents/doc[@num = $num]//item[@display = 'true']">
|
|
482
|
+
<xsl:for-each select="$contents/doc[@num = $num]//item[@display = 'true'][@level <= $toc_level or @type='figure' or @type = 'table']">
|
|
483
|
+
<fo:block role="TOCI">
|
|
484
|
+
<xsl:choose>
|
|
485
|
+
<xsl:when test="@type = 'bibliography'">
|
|
486
|
+
</xsl:when>
|
|
487
|
+
<xsl:when test="@type = 'annex'">
|
|
488
|
+
<fo:block space-after="5pt">
|
|
489
|
+
<xsl:call-template name="insertTocItem"/>
|
|
490
|
+
</fo:block>
|
|
491
|
+
</xsl:when>
|
|
492
|
+
<xsl:otherwise>
|
|
493
|
+
<fo:list-block space-after="5pt">
|
|
494
|
+
<xsl:attribute name="provisional-distance-between-starts">
|
|
495
|
+
<xsl:choose>
|
|
496
|
+
<xsl:when test="string-length(@section) = 1">5mm</xsl:when>
|
|
497
|
+
<xsl:when test="string-length(@section) >= 2"><xsl:value-of select="5 + (string-length(@section) - 1) * 2"/>mm</xsl:when>
|
|
498
|
+
<xsl:when test="@type = 'annex'">16mm</xsl:when>
|
|
499
|
+
<xsl:otherwise>5mm</xsl:otherwise>
|
|
500
|
+
</xsl:choose>
|
|
501
|
+
</xsl:attribute>
|
|
502
|
+
<fo:list-item>
|
|
503
|
+
<fo:list-item-label end-indent="label-end()">
|
|
504
|
+
<fo:block>
|
|
505
|
+
<xsl:if test="@section != '' and @type != 'annex'">
|
|
506
|
+
<xsl:attribute name="font-family">Times New Roman</xsl:attribute>
|
|
507
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
|
508
|
+
</xsl:if>
|
|
509
|
+
<xsl:value-of select="@section"/>
|
|
510
|
+
</fo:block>
|
|
511
|
+
</fo:list-item-label>
|
|
512
|
+
<fo:list-item-body start-indent="body-start()">
|
|
513
|
+
<xsl:call-template name="insertTocItem"/>
|
|
514
|
+
</fo:list-item-body>
|
|
515
|
+
</fo:list-item>
|
|
516
|
+
</fo:list-block>
|
|
517
|
+
</xsl:otherwise>
|
|
518
|
+
</xsl:choose>
|
|
519
|
+
</fo:block>
|
|
520
|
+
</xsl:for-each>
|
|
521
|
+
</xsl:if>
|
|
522
|
+
</fo:block>
|
|
523
|
+
</xsl:if>
|
|
524
|
+
</xsl:template>
|
|
525
|
+
|
|
526
|
+
<xsl:template match="*[local-name() = 'clause'][@type = 'toc']/*[local-name() = 'title']" priority="3">
|
|
527
|
+
<fo:block text-align="center" font-size="14pt" font-family="IPAexGothic" margin-top="8.5mm">
|
|
528
|
+
<!-- Contents -->
|
|
529
|
+
<!-- <xsl:call-template name="getLocalizedString">
|
|
530
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
|
531
|
+
</xsl:call-template> -->
|
|
532
|
+
<xsl:apply-templates/>
|
|
533
|
+
</fo:block>
|
|
534
|
+
<fo:block text-align="right" font-size="8pt" font-family="IPAexMincho" margin-top="10mm">
|
|
535
|
+
<!-- Page -->
|
|
536
|
+
<xsl:call-template name="getLocalizedString">
|
|
537
|
+
<xsl:with-param name="key">locality.page</xsl:with-param>
|
|
538
|
+
</xsl:call-template>
|
|
539
|
+
</fo:block>
|
|
540
|
+
</xsl:template>
|
|
541
|
+
|
|
486
542
|
<xsl:template name="insertTocItem">
|
|
487
543
|
<fo:block text-align-last="justify" role="TOCI">
|
|
488
544
|
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
|
@@ -517,7 +573,15 @@
|
|
|
517
573
|
<!-- title -->
|
|
518
574
|
<fo:block role="H1" font-family="IPAexGothic" font-size="22pt" margin-top="27mm"><xsl:apply-templates select="/*/jis:bibdata/jis:title[@language = 'ja' and @type = 'main']/node()"/></fo:block>
|
|
519
575
|
<!-- docidentifier, 3 part: number, colon and year-->
|
|
520
|
-
<
|
|
576
|
+
<xsl:variable name="docidentifier" select="/*/jis:bibdata/jis:docidentifier[@type = 'JIS']"/>
|
|
577
|
+
<xsl:variable name="docidentifier_number" select="java:replaceAll(java:java.lang.String.new($docidentifier), '^(.*)(:)(.*)$', '$1')"/>
|
|
578
|
+
<xsl:variable name="docidentifier_year" select="java:replaceAll(java:java.lang.String.new($docidentifier), '^(.*)(:)(.*)$', '$3')"/>
|
|
579
|
+
|
|
580
|
+
<fo:block font-family="IPAexGothic" font-size="20pt" margin-top="15mm">
|
|
581
|
+
<fo:inline font-family="Arial">JIS <xsl:value-of select="$docidentifier_number"/></fo:inline>
|
|
582
|
+
<fo:inline baseline-shift="20%"><fo:inline font-size="10pt">:</fo:inline>
|
|
583
|
+
<fo:inline font-family="Times New Roman" font-size="10pt"><xsl:value-of select="$docidentifier_year"/></fo:inline></fo:inline>
|
|
584
|
+
</fo:block>
|
|
521
585
|
<fo:block font-family="Arial" font-size="14pt" margin-top="12mm"><fo:inline font-family="IPAexMincho">(</fo:inline>JSA<fo:inline font-family="IPAexMincho">)</fo:inline></fo:block>
|
|
522
586
|
</fo:block-container>
|
|
523
587
|
|
|
@@ -988,7 +1052,7 @@
|
|
|
988
1052
|
<!-- jis:term/jis:preferred2//text() | -->
|
|
989
1053
|
|
|
990
1054
|
<!-- <name>注記 1</name> to <name>注記<font_en> 1</font_en></name> -->
|
|
991
|
-
<xsl:template match="jis:title/text() | jis:note/jis:name/text() | jis:termnote/jis:name/text() | jis:table/jis:name/text() | jis:figure/jis:name/text() | jis:
|
|
1055
|
+
<xsl:template match="jis:title/text() | jis:note/jis:name/text() | jis:termnote/jis:name/text() | jis:table/jis:name/text() | jis:figure/jis:name/text() | jis:termexample/jis:name/text() | jis:xref//text() | jis:origin/text()" mode="update_xml_step1">
|
|
992
1056
|
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en, concat($tag_font_en_bold_open,'$1',$tag_font_en_bold_close))"/>
|
|
993
1057
|
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
|
|
994
1058
|
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
|
|
@@ -998,6 +1062,32 @@
|
|
|
998
1062
|
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
|
|
999
1063
|
</xsl:template>
|
|
1000
1064
|
|
|
1065
|
+
<!-- move example title to the first paragraph -->
|
|
1066
|
+
<xsl:template match="jis:example[contains(jis:name/text(), ' — ')]" mode="update_xml_step1">
|
|
1067
|
+
<xsl:copy>
|
|
1068
|
+
<xsl:copy-of select="@*"/>
|
|
1069
|
+
<xsl:element name="p" namespace="https://www.metanorma.org/ns/jis">
|
|
1070
|
+
<xsl:value-of select="substring-after(jis:name/text(), ' — ')"/>
|
|
1071
|
+
</xsl:element>
|
|
1072
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
|
1073
|
+
</xsl:copy>
|
|
1074
|
+
</xsl:template>
|
|
1075
|
+
<xsl:template match="jis:example/jis:name/text()" mode="update_xml_step1">
|
|
1076
|
+
<xsl:variable name="example_name">
|
|
1077
|
+
<xsl:choose>
|
|
1078
|
+
<xsl:when test="contains(., ' — ')"><xsl:value-of select="substring-before(., ' — ')"/></xsl:when>
|
|
1079
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
|
1080
|
+
</xsl:choose>
|
|
1081
|
+
</xsl:variable>
|
|
1082
|
+
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new($example_name), $regex_en, concat($tag_font_en_bold_open,'$1',$tag_font_en_bold_close))"/>
|
|
1083
|
+
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
|
|
1084
|
+
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
|
|
1085
|
+
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
|
|
1086
|
+
<xsl:with-param name="text" select="$text_en_"/>
|
|
1087
|
+
</xsl:call-template></text></xsl:variable>
|
|
1088
|
+
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
|
|
1089
|
+
</xsl:template>
|
|
1090
|
+
|
|
1001
1091
|
<xsl:template match="jis:eref//text()" mode="update_xml_step1">
|
|
1002
1092
|
<!-- Example: JIS Z 8301:2011 to <font_en_bold>JIS Z 8301</font_en_bold><font_en>:2011</font_en> -->
|
|
1003
1093
|
<xsl:variable name="parts">
|
|
@@ -1037,22 +1127,26 @@
|
|
|
1037
1127
|
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
|
|
1038
1128
|
</xsl:template>
|
|
1039
1129
|
|
|
1040
|
-
<xsl:template match="*[local-name() = 'font_en_bold']">
|
|
1130
|
+
<xsl:template match="*[local-name() = 'font_en_bold'][normalize-space() != '']">
|
|
1131
|
+
<xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
|
1041
1132
|
<fo:inline font-family="Times New Roman" font-weight="bold">
|
|
1042
1133
|
<xsl:if test="ancestor::*[local-name() = 'preferred']">
|
|
1043
1134
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
|
1044
1135
|
</xsl:if>
|
|
1045
1136
|
<xsl:apply-templates/>
|
|
1046
1137
|
</fo:inline>
|
|
1138
|
+
<xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
|
1047
1139
|
</xsl:template>
|
|
1048
1140
|
|
|
1049
|
-
<xsl:template match="*[local-name() = 'font_en']">
|
|
1141
|
+
<xsl:template match="*[local-name() = 'font_en'][normalize-space() != '']">
|
|
1142
|
+
<xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
|
1050
1143
|
<fo:inline font-family="Times New Roman">
|
|
1051
1144
|
<xsl:if test="ancestor::*[local-name() = 'preferred']">
|
|
1052
1145
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
|
1053
1146
|
</xsl:if>
|
|
1054
1147
|
<xsl:apply-templates/>
|
|
1055
1148
|
</fo:inline>
|
|
1149
|
+
<xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
|
1056
1150
|
</xsl:template>
|
|
1057
1151
|
|
|
1058
1152
|
<!-- ========================= -->
|
|
@@ -1064,16 +1158,31 @@
|
|
|
1064
1158
|
<xsl:param name="hidePageNumber">false</xsl:param>
|
|
1065
1159
|
<xsl:param name="section"/>
|
|
1066
1160
|
<xsl:param name="copyrightText"/>
|
|
1161
|
+
<xsl:param name="section_title"/>
|
|
1162
|
+
<fo:static-content flow-name="header-odd-first" role="artifact">
|
|
1163
|
+
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after" text-align="right">
|
|
1164
|
+
<xsl:if test="$section = 'main'"><fo:block><fo:page-number/></fo:block></xsl:if>
|
|
1165
|
+
<fo:block>
|
|
1166
|
+
<xsl:copy-of select="$docidentifier"/>
|
|
1167
|
+
</fo:block>
|
|
1168
|
+
</fo:block-container>
|
|
1169
|
+
</fo:static-content>
|
|
1067
1170
|
<fo:static-content flow-name="header-odd" role="artifact">
|
|
1068
1171
|
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after" text-align="right">
|
|
1069
1172
|
<xsl:if test="$section = 'main'"><fo:block><fo:page-number/></fo:block></xsl:if>
|
|
1070
|
-
<fo:block
|
|
1173
|
+
<fo:block>
|
|
1174
|
+
<xsl:copy-of select="$docidentifier"/>
|
|
1175
|
+
<xsl:copy-of select="$section_title"/>
|
|
1176
|
+
</fo:block>
|
|
1071
1177
|
</fo:block-container>
|
|
1072
1178
|
</fo:static-content>
|
|
1073
1179
|
<fo:static-content flow-name="header-even" role="artifact">
|
|
1074
1180
|
<fo:block-container font-family="Arial" font-size="9pt" height="26mm" display-align="after">
|
|
1075
1181
|
<xsl:if test="$section = 'main'"><fo:block><fo:page-number/></fo:block></xsl:if>
|
|
1076
|
-
<fo:block
|
|
1182
|
+
<fo:block>
|
|
1183
|
+
<xsl:copy-of select="$docidentifier"/>
|
|
1184
|
+
<xsl:copy-of select="$section_title"/>
|
|
1185
|
+
</fo:block>
|
|
1077
1186
|
</fo:block-container>
|
|
1078
1187
|
</fo:static-content>
|
|
1079
1188
|
<xsl:call-template name="insertFooter">
|
|
@@ -1788,6 +1897,8 @@
|
|
|
1788
1897
|
<xsl:attribute-set name="dt-block-style">
|
|
1789
1898
|
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
|
1790
1899
|
|
|
1900
|
+
<xsl:attribute name="line-height">1.5</xsl:attribute>
|
|
1901
|
+
|
|
1791
1902
|
</xsl:attribute-set>
|
|
1792
1903
|
|
|
1793
1904
|
<xsl:attribute-set name="dl-name-style">
|
|
@@ -1814,6 +1925,9 @@
|
|
|
1814
1925
|
</xsl:attribute-set>
|
|
1815
1926
|
|
|
1816
1927
|
<xsl:attribute-set name="xref-style">
|
|
1928
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
|
1929
|
+
|
|
1930
|
+
<xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
|
|
1817
1931
|
|
|
1818
1932
|
</xsl:attribute-set>
|
|
1819
1933
|
|
|
@@ -1914,6 +2028,12 @@
|
|
|
1914
2028
|
|
|
1915
2029
|
<xsl:attribute-set name="figure-name-style">
|
|
1916
2030
|
|
|
2031
|
+
<xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
|
|
2032
|
+
<xsl:attribute name="text-align">center</xsl:attribute>
|
|
2033
|
+
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
|
2034
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
|
2035
|
+
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
|
2036
|
+
|
|
1917
2037
|
</xsl:attribute-set>
|
|
1918
2038
|
|
|
1919
2039
|
<xsl:attribute-set name="figure-source-style">
|
|
@@ -3757,9 +3877,13 @@
|
|
|
3757
3877
|
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
|
3758
3878
|
</xsl:if>
|
|
3759
3879
|
|
|
3760
|
-
<
|
|
3761
|
-
<xsl:
|
|
3762
|
-
|
|
3880
|
+
<xsl:call-template name="insert_basic_link">
|
|
3881
|
+
<xsl:with-param name="element">
|
|
3882
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
|
3883
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
|
3884
|
+
</fo:basic-link>
|
|
3885
|
+
</xsl:with-param>
|
|
3886
|
+
</xsl:call-template>
|
|
3763
3887
|
</fo:inline>
|
|
3764
3888
|
</xsl:variable>
|
|
3765
3889
|
|
|
@@ -4106,8 +4230,10 @@
|
|
|
4106
4230
|
<xsl:apply-templates select="preceding-sibling::*[1][local-name() = 'p' and @keep-with-next = 'true']/node()"/>
|
|
4107
4231
|
<xsl:text> </xsl:text>
|
|
4108
4232
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
|
4109
|
-
<xsl:text
|
|
4110
|
-
|
|
4233
|
+
<xsl:if test="*[local-name()='dd']/node()[normalize-space() != ''][1][self::text()]">
|
|
4234
|
+
<xsl:text> </xsl:text>
|
|
4235
|
+
</xsl:if>
|
|
4236
|
+
<xsl:apply-templates select="*[local-name()='dd']/node()" mode="inline"/>
|
|
4111
4237
|
</fo:block>
|
|
4112
4238
|
|
|
4113
4239
|
</xsl:when> <!-- END: only one component -->
|
|
@@ -4594,8 +4720,18 @@
|
|
|
4594
4720
|
</xsl:if>
|
|
4595
4721
|
</xsl:template>
|
|
4596
4722
|
|
|
4597
|
-
<xsl:template match="*[local-name()='dd']/*
|
|
4598
|
-
<
|
|
4723
|
+
<xsl:template match="*[local-name()='dd']/*" mode="inline">
|
|
4724
|
+
<xsl:variable name="is_inline_element_after_where">
|
|
4725
|
+
<xsl:if test="(local-name() = 'p') and not(preceding-sibling::node()[normalize-space() != ''])">true</xsl:if>
|
|
4726
|
+
</xsl:variable>
|
|
4727
|
+
<xsl:choose>
|
|
4728
|
+
<xsl:when test="$is_inline_element_after_where = 'true'">
|
|
4729
|
+
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
|
4730
|
+
</xsl:when>
|
|
4731
|
+
<xsl:otherwise>
|
|
4732
|
+
<xsl:apply-templates select="."/>
|
|
4733
|
+
</xsl:otherwise>
|
|
4734
|
+
</xsl:choose>
|
|
4599
4735
|
</xsl:template>
|
|
4600
4736
|
|
|
4601
4737
|
<!-- virtual html table for dl/[dt and dd] for IF (Intermediate Format) -->
|
|
@@ -6029,6 +6165,79 @@
|
|
|
6029
6165
|
<xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
|
|
6030
6166
|
</xsl:template>
|
|
6031
6167
|
|
|
6168
|
+
<!-- special case for:
|
|
6169
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
|
6170
|
+
<mstyle displaystyle="true">
|
|
6171
|
+
<msup>
|
|
6172
|
+
<mi color="#00000000">C</mi>
|
|
6173
|
+
<mtext>R</mtext>
|
|
6174
|
+
</msup>
|
|
6175
|
+
<msubsup>
|
|
6176
|
+
<mtext>C</mtext>
|
|
6177
|
+
<mi>n</mi>
|
|
6178
|
+
<mi>k</mi>
|
|
6179
|
+
</msubsup>
|
|
6180
|
+
</mstyle>
|
|
6181
|
+
</math>
|
|
6182
|
+
-->
|
|
6183
|
+
<xsl:template match="mathml:msup/mathml:mi[. = '' or . = ''][not(preceding-sibling::*)][following-sibling::mathml:mtext]" mode="mathml">
|
|
6184
|
+
<xsl:copy>
|
|
6185
|
+
<xsl:copy-of select="@*"/>
|
|
6186
|
+
<xsl:variable name="next_mtext" select="ancestor::mathml:msup/following-sibling::*[1][self::mathml:msubsup or self::mathml:msub or self::mathml:msup]/mathml:mtext"/>
|
|
6187
|
+
<xsl:if test="string-length($next_mtext) != ''">
|
|
6188
|
+
<xsl:attribute name="color">#00000000</xsl:attribute>
|
|
6189
|
+
</xsl:if>
|
|
6190
|
+
<xsl:apply-templates/>
|
|
6191
|
+
<xsl:value-of select="$next_mtext"/>
|
|
6192
|
+
</xsl:copy>
|
|
6193
|
+
</xsl:template>
|
|
6194
|
+
|
|
6195
|
+
<!-- special case for:
|
|
6196
|
+
<msup>
|
|
6197
|
+
<mtext/>
|
|
6198
|
+
<mn>1</mn>
|
|
6199
|
+
</msup>
|
|
6200
|
+
convert to (add mspace after mtext and enclose them into mrow):
|
|
6201
|
+
<msup>
|
|
6202
|
+
<mrow>
|
|
6203
|
+
<mtext/>
|
|
6204
|
+
<mspace height="1.47ex"/>
|
|
6205
|
+
</mrow>
|
|
6206
|
+
<mn>1</mn>
|
|
6207
|
+
</msup>
|
|
6208
|
+
-->
|
|
6209
|
+
<xsl:template match="mathml:msup/mathml:mtext[not(preceding-sibling::*)]" mode="mathml">
|
|
6210
|
+
<mathml:mrow>
|
|
6211
|
+
<xsl:copy-of select="."/>
|
|
6212
|
+
<mathml:mspace height="1.47ex"/>
|
|
6213
|
+
</mathml:mrow>
|
|
6214
|
+
</xsl:template>
|
|
6215
|
+
|
|
6216
|
+
<!-- add space around vertical line -->
|
|
6217
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '|']" mode="mathml">
|
|
6218
|
+
<xsl:copy>
|
|
6219
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
|
6220
|
+
<xsl:if test="not(@lspace)">
|
|
6221
|
+
<xsl:attribute name="lspace">0.4em</xsl:attribute>
|
|
6222
|
+
</xsl:if>
|
|
6223
|
+
<xsl:if test="not(@rspace)">
|
|
6224
|
+
<xsl:attribute name="rspace">0.4em</xsl:attribute>
|
|
6225
|
+
</xsl:if>
|
|
6226
|
+
<xsl:apply-templates mode="mathml"/>
|
|
6227
|
+
</xsl:copy>
|
|
6228
|
+
</xsl:template>
|
|
6229
|
+
|
|
6230
|
+
<!-- decrease fontsize for 'Circled Times' char -->
|
|
6231
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '⊗']" mode="mathml">
|
|
6232
|
+
<xsl:copy>
|
|
6233
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
|
6234
|
+
<xsl:if test="not(@fontsize)">
|
|
6235
|
+
<xsl:attribute name="fontsize">55%</xsl:attribute>
|
|
6236
|
+
</xsl:if>
|
|
6237
|
+
<xsl:apply-templates mode="mathml"/>
|
|
6238
|
+
</xsl:copy>
|
|
6239
|
+
</xsl:template>
|
|
6240
|
+
|
|
6032
6241
|
<!-- Examples:
|
|
6033
6242
|
<stem type="AsciiMath">x = 1</stem>
|
|
6034
6243
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
|
@@ -6086,19 +6295,23 @@
|
|
|
6086
6295
|
<xsl:apply-templates/>
|
|
6087
6296
|
</xsl:when>
|
|
6088
6297
|
<xsl:otherwise>
|
|
6089
|
-
<
|
|
6090
|
-
<xsl:
|
|
6091
|
-
<
|
|
6092
|
-
<xsl:
|
|
6093
|
-
<xsl:
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
6298
|
+
<xsl:call-template name="insert_basic_link">
|
|
6299
|
+
<xsl:with-param name="element">
|
|
6300
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
|
|
6301
|
+
<xsl:choose>
|
|
6302
|
+
<xsl:when test="normalize-space(.) = ''">
|
|
6303
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
|
6304
|
+
<xsl:with-param name="text" select="$target_text"/>
|
|
6305
|
+
</xsl:call-template>
|
|
6306
|
+
</xsl:when>
|
|
6307
|
+
<xsl:otherwise>
|
|
6308
|
+
<!-- output text from <link>text</link> -->
|
|
6309
|
+
<xsl:apply-templates/>
|
|
6310
|
+
</xsl:otherwise>
|
|
6311
|
+
</xsl:choose>
|
|
6312
|
+
</fo:basic-link>
|
|
6313
|
+
</xsl:with-param>
|
|
6314
|
+
</xsl:call-template>
|
|
6102
6315
|
</xsl:otherwise>
|
|
6103
6316
|
</xsl:choose>
|
|
6104
6317
|
</fo:inline>
|
|
@@ -6161,12 +6374,16 @@
|
|
|
6161
6374
|
</xsl:template>
|
|
6162
6375
|
|
|
6163
6376
|
<xsl:template match="*[local-name() = 'xref']">
|
|
6164
|
-
<
|
|
6165
|
-
<xsl:
|
|
6166
|
-
<
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
|
|
6377
|
+
<xsl:call-template name="insert_basic_link">
|
|
6378
|
+
<xsl:with-param name="element">
|
|
6379
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
|
6380
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
|
6381
|
+
<xsl:call-template name="append_add-style"/>
|
|
6382
|
+
</xsl:if>
|
|
6383
|
+
<xsl:apply-templates/>
|
|
6384
|
+
</fo:basic-link>
|
|
6385
|
+
</xsl:with-param>
|
|
6386
|
+
</xsl:call-template>
|
|
6170
6387
|
</xsl:template>
|
|
6171
6388
|
|
|
6172
6389
|
<!-- ====== -->
|
|
@@ -6546,7 +6763,7 @@
|
|
|
6546
6763
|
<xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
|
|
6547
6764
|
</xsl:when>
|
|
6548
6765
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
|
6549
|
-
<xsl:value-of select="concat('url(file
|
|
6766
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
|
6550
6767
|
</xsl:when>
|
|
6551
6768
|
<xsl:otherwise>
|
|
6552
6769
|
<xsl:value-of select="@src"/>
|
|
@@ -6568,7 +6785,7 @@
|
|
|
6568
6785
|
</xsl:when>
|
|
6569
6786
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
|
6570
6787
|
<xsl:variable name="src">
|
|
6571
|
-
<xsl:value-of select="concat('url(file
|
|
6788
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
|
6572
6789
|
</xsl:variable>
|
|
6573
6790
|
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
|
6574
6791
|
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
|
@@ -6954,15 +7171,19 @@
|
|
|
6954
7171
|
<xsl:param name="dest"/>
|
|
6955
7172
|
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
|
6956
7173
|
<fo:block font-size="1pt">
|
|
6957
|
-
<
|
|
6958
|
-
<
|
|
6959
|
-
<fo:
|
|
6960
|
-
|
|
6961
|
-
<
|
|
6962
|
-
|
|
6963
|
-
|
|
6964
|
-
|
|
6965
|
-
|
|
7174
|
+
<xsl:call-template name="insert_basic_link">
|
|
7175
|
+
<xsl:with-param name="element">
|
|
7176
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
|
7177
|
+
<fo:inline-container inline-progression-dimension="100%">
|
|
7178
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
|
7179
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
|
7180
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
|
7181
|
+
</xsl:if> -->
|
|
7182
|
+
<fo:block> </fo:block></fo:block-container>
|
|
7183
|
+
</fo:inline-container>
|
|
7184
|
+
</fo:basic-link>
|
|
7185
|
+
</xsl:with-param>
|
|
7186
|
+
</xsl:call-template>
|
|
6966
7187
|
</fo:block>
|
|
6967
7188
|
</fo:block-container>
|
|
6968
7189
|
</xsl:template>
|
|
@@ -7333,6 +7554,11 @@
|
|
|
7333
7554
|
<xsl:if test="normalize-space() != ''">
|
|
7334
7555
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
|
7335
7556
|
|
|
7557
|
+
<xsl:if test="ancestor::jis:figure">
|
|
7558
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
|
7559
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
|
7560
|
+
</xsl:if>
|
|
7561
|
+
|
|
7336
7562
|
<xsl:apply-templates/>
|
|
7337
7563
|
</fo:block>
|
|
7338
7564
|
</xsl:if>
|
|
@@ -8506,14 +8732,18 @@
|
|
|
8506
8732
|
</xsl:template>
|
|
8507
8733
|
|
|
8508
8734
|
<xsl:template match="*[local-name() = 'origin']">
|
|
8509
|
-
<
|
|
8510
|
-
<xsl:
|
|
8511
|
-
<
|
|
8512
|
-
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
|
|
8516
|
-
|
|
8735
|
+
<xsl:call-template name="insert_basic_link">
|
|
8736
|
+
<xsl:with-param name="element">
|
|
8737
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
|
8738
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
|
8739
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
|
8740
|
+
</xsl:if>
|
|
8741
|
+
<fo:inline xsl:use-attribute-sets="origin-style">
|
|
8742
|
+
<xsl:apply-templates/>
|
|
8743
|
+
</fo:inline>
|
|
8744
|
+
</fo:basic-link>
|
|
8745
|
+
</xsl:with-param>
|
|
8746
|
+
</xsl:call-template>
|
|
8517
8747
|
</xsl:template>
|
|
8518
8748
|
|
|
8519
8749
|
<!-- not using, see https://github.com/glossarist/iev-document/issues/23 -->
|
|
@@ -8587,9 +8817,13 @@
|
|
|
8587
8817
|
<xsl:if test="../*[local-name() = 'author']">
|
|
8588
8818
|
<xsl:text>, </xsl:text>
|
|
8589
8819
|
</xsl:if>
|
|
8590
|
-
<
|
|
8591
|
-
<xsl:
|
|
8592
|
-
|
|
8820
|
+
<xsl:call-template name="insert_basic_link">
|
|
8821
|
+
<xsl:with-param name="element">
|
|
8822
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
|
8823
|
+
<xsl:apply-templates/>
|
|
8824
|
+
</fo:basic-link>
|
|
8825
|
+
</xsl:with-param>
|
|
8826
|
+
</xsl:call-template>
|
|
8593
8827
|
</xsl:template>
|
|
8594
8828
|
|
|
8595
8829
|
<xsl:template match="*[local-name() = 'author']">
|
|
@@ -8638,25 +8872,29 @@
|
|
|
8638
8872
|
<xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
|
|
8639
8873
|
<xsl:variable name="text" select="normalize-space()"/>
|
|
8640
8874
|
|
|
8641
|
-
<
|
|
8642
|
-
<xsl:
|
|
8643
|
-
<
|
|
8644
|
-
|
|
8645
|
-
|
|
8875
|
+
<xsl:call-template name="insert_basic_link">
|
|
8876
|
+
<xsl:with-param name="element">
|
|
8877
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
|
8878
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
|
8879
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
|
8880
|
+
</xsl:if>
|
|
8881
|
+
<xsl:if test="@type = 'inline'">
|
|
8646
8882
|
|
|
8647
|
-
|
|
8883
|
+
</xsl:if>
|
|
8648
8884
|
|
|
8649
|
-
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
|
|
8653
|
-
|
|
8654
|
-
|
|
8655
|
-
|
|
8656
|
-
|
|
8885
|
+
<xsl:choose>
|
|
8886
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
|
8887
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
|
8888
|
+
</xsl:when>
|
|
8889
|
+
<xsl:otherwise>
|
|
8890
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
|
8891
|
+
</xsl:otherwise>
|
|
8892
|
+
</xsl:choose>
|
|
8657
8893
|
|
|
8658
|
-
|
|
8659
|
-
|
|
8894
|
+
<xsl:apply-templates/>
|
|
8895
|
+
</fo:basic-link>
|
|
8896
|
+
</xsl:with-param>
|
|
8897
|
+
</xsl:call-template>
|
|
8660
8898
|
|
|
8661
8899
|
</fo:inline>
|
|
8662
8900
|
</xsl:when>
|
|
@@ -8880,15 +9118,17 @@
|
|
|
8880
9118
|
<!-- ===================================== -->
|
|
8881
9119
|
<xsl:variable name="ul_labels_">
|
|
8882
9120
|
|
|
8883
|
-
<label level="1"
|
|
8884
|
-
<label level="2"
|
|
8885
|
-
<label level="3" font-size="75%">o</label> <!-- white circle -->
|
|
9121
|
+
<label level="1">-</label> <!-- full-width hyphen minus -->
|
|
9122
|
+
<label level="2" font-size="130%" line-height="1.2">・</label> <!-- Katakana Middle Dot -->
|
|
8886
9123
|
|
|
8887
9124
|
</xsl:variable>
|
|
8888
9125
|
<xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/>
|
|
8889
9126
|
|
|
8890
9127
|
<xsl:template name="setULLabel">
|
|
8891
|
-
<xsl:variable name="
|
|
9128
|
+
<xsl:variable name="list_level__">
|
|
9129
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'ul'])"/>
|
|
9130
|
+
</xsl:variable>
|
|
9131
|
+
<xsl:variable name="list_level_" select="number($list_level__)"/>
|
|
8892
9132
|
<xsl:variable name="list_level">
|
|
8893
9133
|
<xsl:choose>
|
|
8894
9134
|
<xsl:when test="$list_level_ <= 3"><xsl:value-of select="$list_level_"/></xsl:when>
|
|
@@ -9021,9 +9261,18 @@
|
|
|
9021
9261
|
</fo:block-container>
|
|
9022
9262
|
</xsl:when>
|
|
9023
9263
|
<xsl:otherwise>
|
|
9024
|
-
|
|
9025
|
-
|
|
9026
|
-
|
|
9264
|
+
|
|
9265
|
+
<fo:block-container>
|
|
9266
|
+
<xsl:if test="ancestor::jis:ol or ancestor::jis:ul">
|
|
9267
|
+
<xsl:attribute name="margin-left">3.5mm</xsl:attribute>
|
|
9268
|
+
</xsl:if>
|
|
9269
|
+
<fo:block-container margin-left="0mm">
|
|
9270
|
+
<fo:block>
|
|
9271
|
+
<xsl:apply-templates select="." mode="list"/>
|
|
9272
|
+
</fo:block>
|
|
9273
|
+
</fo:block-container>
|
|
9274
|
+
</fo:block-container>
|
|
9275
|
+
|
|
9027
9276
|
</xsl:otherwise>
|
|
9028
9277
|
</xsl:choose>
|
|
9029
9278
|
</xsl:template>
|
|
@@ -9715,24 +9964,32 @@
|
|
|
9715
9964
|
<xsl:for-each select="*[local-name() = 'tab']">
|
|
9716
9965
|
<xsl:variable name="current_id" select="generate-id()"/>
|
|
9717
9966
|
<fo:table-cell>
|
|
9718
|
-
<fo:block>
|
|
9719
|
-
<
|
|
9720
|
-
<xsl:
|
|
9721
|
-
<
|
|
9722
|
-
<xsl:
|
|
9723
|
-
|
|
9724
|
-
|
|
9725
|
-
|
|
9726
|
-
|
|
9967
|
+
<fo:block line-height-shift-adjustment="disregard-shifts">
|
|
9968
|
+
<xsl:call-template name="insert_basic_link">
|
|
9969
|
+
<xsl:with-param name="element">
|
|
9970
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
|
9971
|
+
<xsl:for-each select="following-sibling::node()[not(self::*[local-name() = 'tab']) and preceding-sibling::*[local-name() = 'tab'][1][generate-id() = $current_id]]">
|
|
9972
|
+
<xsl:choose>
|
|
9973
|
+
<xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
|
|
9974
|
+
<xsl:otherwise><xsl:apply-templates select="."/></xsl:otherwise>
|
|
9975
|
+
</xsl:choose>
|
|
9976
|
+
</xsl:for-each>
|
|
9977
|
+
</fo:basic-link>
|
|
9978
|
+
</xsl:with-param>
|
|
9979
|
+
</xsl:call-template>
|
|
9727
9980
|
</fo:block>
|
|
9728
9981
|
</fo:table-cell>
|
|
9729
9982
|
</xsl:for-each>
|
|
9730
9983
|
<!-- last column - for page numbers -->
|
|
9731
9984
|
<fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial">
|
|
9732
9985
|
<fo:block>
|
|
9733
|
-
<
|
|
9734
|
-
<
|
|
9735
|
-
|
|
9986
|
+
<xsl:call-template name="insert_basic_link">
|
|
9987
|
+
<xsl:with-param name="element">
|
|
9988
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
|
9989
|
+
<fo:page-number-citation ref-id="{$target}"/>
|
|
9990
|
+
</fo:basic-link>
|
|
9991
|
+
</xsl:with-param>
|
|
9992
|
+
</xsl:call-template>
|
|
9736
9993
|
</fo:block>
|
|
9737
9994
|
</fo:table-cell>
|
|
9738
9995
|
</xsl:template>
|
|
@@ -9774,6 +10031,27 @@
|
|
|
9774
10031
|
<!-- End Table of Contents (ToC) processing -->
|
|
9775
10032
|
<!-- =================== -->
|
|
9776
10033
|
|
|
10034
|
+
<!-- insert fo:basic-link, if external-destination or internal-destination is non-empty, otherwise insert fo:inline -->
|
|
10035
|
+
<xsl:template name="insert_basic_link">
|
|
10036
|
+
<xsl:param name="element"/>
|
|
10037
|
+
<xsl:variable name="element_node" select="xalan:nodeset($element)"/>
|
|
10038
|
+
<xsl:variable name="external-destination" select="normalize-space(count($element_node/fo:basic-link/@external-destination[. != '']) = 1)"/>
|
|
10039
|
+
<xsl:variable name="internal-destination" select="normalize-space(count($element_node/fo:basic-link/@internal-destination[. != '']) = 1)"/>
|
|
10040
|
+
<xsl:choose>
|
|
10041
|
+
<xsl:when test="$external-destination = 'true' or $internal-destination = 'true'">
|
|
10042
|
+
<xsl:copy-of select="$element_node"/>
|
|
10043
|
+
</xsl:when>
|
|
10044
|
+
<xsl:otherwise>
|
|
10045
|
+
<fo:inline>
|
|
10046
|
+
<xsl:for-each select="$element_node/fo:basic-link/@*[local-name() != 'external-destination' and local-name() != 'internal-destination' and local-name() != 'alt-text']">
|
|
10047
|
+
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
|
|
10048
|
+
</xsl:for-each>
|
|
10049
|
+
<xsl:copy-of select="$element_node/fo:basic-link/node()"/>
|
|
10050
|
+
</fo:inline>
|
|
10051
|
+
</xsl:otherwise>
|
|
10052
|
+
</xsl:choose>
|
|
10053
|
+
</xsl:template>
|
|
10054
|
+
|
|
9777
10055
|
<xsl:template match="*[local-name() = 'variant-title']"/> <!-- [@type = 'sub'] -->
|
|
9778
10056
|
<xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
|
|
9779
10057
|
<fo:inline padding-right="5mm"> </fo:inline>
|
|
@@ -154,6 +154,7 @@ module IsoDoc
|
|
|
154
154
|
def display_order(docxml)
|
|
155
155
|
i = 0
|
|
156
156
|
i = display_order_xpath(docxml, "//preface/*", i)
|
|
157
|
+
i = display_order_at(docxml, "//sections/introduction", i)
|
|
157
158
|
i = display_order_at(docxml, "//clause[@type = 'scope']", i)
|
|
158
159
|
i = display_order_at(docxml, @xrefs.klass.norm_ref_xpath, i)
|
|
159
160
|
i = display_order_at(docxml, "//sections/terms | " \
|
|
@@ -174,6 +175,27 @@ module IsoDoc
|
|
|
174
175
|
elem.children = l10n("#{@i18n.source}: #{to_xml(elem.children).strip}")
|
|
175
176
|
end
|
|
176
177
|
|
|
178
|
+
def toc_title_insert_pt(docxml)
|
|
179
|
+
ins = docxml.at(ns("//preface")) ||
|
|
180
|
+
docxml.at(ns("//sections | //annex | //bibliography"))
|
|
181
|
+
&.before("<preface> </preface>")
|
|
182
|
+
&.previous_element or return nil
|
|
183
|
+
ins.children.last.after(" ").next
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def preface_rearrange(doc)
|
|
187
|
+
move_introduction(doc)
|
|
188
|
+
super
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def move_introduction(doc)
|
|
192
|
+
source = doc.at(ns("//preface/introduction")) or return
|
|
193
|
+
dest = doc.at(ns("//sections")) ||
|
|
194
|
+
doc.at(ns("//preface")).after("<sections> </sections>").next_element
|
|
195
|
+
dest.children.empty? and dest.children = " "
|
|
196
|
+
dest.children.first.next = source
|
|
197
|
+
end
|
|
198
|
+
|
|
177
199
|
include Init
|
|
178
200
|
end
|
|
179
201
|
end
|
|
@@ -99,24 +99,16 @@ module IsoDoc
|
|
|
99
99
|
end
|
|
100
100
|
end
|
|
101
101
|
|
|
102
|
-
def
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
out.div **attr_code(class: "Section3", id: f["id"],
|
|
106
|
-
type: f["type"]) do |div|
|
|
107
|
-
clause_name(f, f&.at(ns("./title")), div, { class: "IntroTitle" })
|
|
108
|
-
f.elements.each do |e|
|
|
109
|
-
parse(e, div) unless e.name == "title"
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
end
|
|
102
|
+
def preface_attrs(node)
|
|
103
|
+
{ id: node["id"], type: node["type"],
|
|
104
|
+
class: node["type"] == "toc" ? "TOC" : "Section3" }
|
|
113
105
|
end
|
|
114
106
|
|
|
115
|
-
def introduction(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
107
|
+
def introduction(clause, out)
|
|
108
|
+
out.div class: "Section3", id: clause["id"] do |div|
|
|
109
|
+
clause_name(clause, clause.at(ns("./title")), div,
|
|
110
|
+
{ class: "IntroTitle" })
|
|
111
|
+
clause.elements.each do |e|
|
|
120
112
|
parse(e, div) unless e.name == "title"
|
|
121
113
|
end
|
|
122
114
|
end
|
|
@@ -125,11 +117,7 @@ module IsoDoc
|
|
|
125
117
|
def make_body2(body, docxml)
|
|
126
118
|
body.div class: "WordSection2" do |div2|
|
|
127
119
|
boilerplate docxml, div2
|
|
128
|
-
|
|
129
|
-
abstract docxml, div2
|
|
130
|
-
foreword docxml, div2
|
|
131
|
-
preface docxml, div2
|
|
132
|
-
acknowledgements docxml, div2
|
|
120
|
+
front docxml, div2
|
|
133
121
|
div2.p { |p| p << " " } # placeholder
|
|
134
122
|
end
|
|
135
123
|
section_break(body)
|
|
@@ -138,7 +126,8 @@ module IsoDoc
|
|
|
138
126
|
def middle(isoxml, out)
|
|
139
127
|
middle_title(isoxml, out)
|
|
140
128
|
middle_admonitions(isoxml, out)
|
|
141
|
-
|
|
129
|
+
i = isoxml.at(ns("//sections/introduction")) and
|
|
130
|
+
introduction i, out
|
|
142
131
|
scope isoxml, out, 0
|
|
143
132
|
norm_ref isoxml, out, 0
|
|
144
133
|
clause_etc isoxml, out, 0
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
|
18
18
|
of this.
|
|
19
19
|
-->
|
|
20
|
+
<!-- VERSION v1.2.1 -->
|
|
20
21
|
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
21
22
|
<include href="reqt.rng"/>
|
|
22
23
|
<include href="basicdoc.rng">
|
|
@@ -1349,15 +1350,19 @@
|
|
|
1349
1350
|
</choice>
|
|
1350
1351
|
</element>
|
|
1351
1352
|
</define>
|
|
1353
|
+
<define name="Root-Attributes">
|
|
1354
|
+
<attribute name="version"/>
|
|
1355
|
+
<attribute name="schema-version"/>
|
|
1356
|
+
<attribute name="type">
|
|
1357
|
+
<choice>
|
|
1358
|
+
<value>semantic</value>
|
|
1359
|
+
<value>presentation</value>
|
|
1360
|
+
</choice>
|
|
1361
|
+
</attribute>
|
|
1362
|
+
</define>
|
|
1352
1363
|
<define name="standard-document">
|
|
1353
1364
|
<element name="standard-document">
|
|
1354
|
-
<
|
|
1355
|
-
<attribute name="type">
|
|
1356
|
-
<choice>
|
|
1357
|
-
<value>semantic</value>
|
|
1358
|
-
<value>presentation</value>
|
|
1359
|
-
</choice>
|
|
1360
|
-
</attribute>
|
|
1365
|
+
<ref name="Root-Attributes"/>
|
|
1361
1366
|
<ref name="bibdata"/>
|
|
1362
1367
|
<optional>
|
|
1363
1368
|
<ref name="misccontainer"/>
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
3
|
-
<!--
|
|
3
|
+
<!--
|
|
4
|
+
VERSION v1.2.1
|
|
5
|
+
default namespace isostandard = "https://www.metanorma.com/ns/iso"
|
|
6
|
+
-->
|
|
4
7
|
<include href="isodoc.rng">
|
|
5
8
|
<start>
|
|
6
9
|
<ref name="iso-standard"/>
|
|
@@ -240,13 +243,7 @@
|
|
|
240
243
|
-->
|
|
241
244
|
<define name="iso-standard">
|
|
242
245
|
<element name="iso-standard">
|
|
243
|
-
<
|
|
244
|
-
<attribute name="type">
|
|
245
|
-
<choice>
|
|
246
|
-
<value>semantic</value>
|
|
247
|
-
<value>presentation</value>
|
|
248
|
-
</choice>
|
|
249
|
-
</attribute>
|
|
246
|
+
<ref name="Root-Attributes"/>
|
|
250
247
|
<ref name="bibdata"/>
|
|
251
248
|
<zeroOrMore>
|
|
252
249
|
<ref name="termdocsource"/>
|
data/lib/metanorma/jis/jis.rng
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<grammar ns=
|
|
3
|
-
<!--
|
|
2
|
+
<grammar ns='https://www.metanorma.org/ns/jis' xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
3
|
+
<!--
|
|
4
|
+
VERSION v1.2.1
|
|
5
|
+
default namespace = "https://www.metanorma.com/ns/jis"
|
|
6
|
+
-->
|
|
4
7
|
<include href="relaton-jis.rng"/>
|
|
5
8
|
<include href="isostandard.rng">
|
|
6
9
|
<start>
|
|
@@ -37,13 +40,7 @@
|
|
|
37
40
|
-->
|
|
38
41
|
<define name="jis-standard">
|
|
39
42
|
<element name="jis-standard">
|
|
40
|
-
<
|
|
41
|
-
<attribute name="type">
|
|
42
|
-
<choice>
|
|
43
|
-
<value>semantic</value>
|
|
44
|
-
<value>presentation</value>
|
|
45
|
-
</choice>
|
|
46
|
-
</attribute>
|
|
43
|
+
<ref name="Root-Attributes"/>
|
|
47
44
|
<ref name="bibdata"/>
|
|
48
45
|
<zeroOrMore>
|
|
49
46
|
<ref name="termdocsource"/>
|
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.0.
|
|
4
|
+
version: 0.0.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-04-
|
|
11
|
+
date: 2023-04-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: metanorma-iso
|