metanorma-jis 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/jis/jis.international-standard.xsl +98 -23
- data/lib/isodoc/jis/word_cleanup.rb +12 -15
- data/lib/isodoc/jis/xref.rb +21 -5
- data/lib/metanorma/jis/version.rb +1 -1
- data/metanorma-jis.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e535a59c279bcefe69819d283821225f8c751cec09a3c28d9362186fc6ad6d1
|
4
|
+
data.tar.gz: 0265fc5c6ad595bd5c4cab59b539cc2d8f33c8260e6e7f908419897296889554
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4426ffed2000345bf1150e89c336e22b43311af42d470aede5c894a156b1c6336766318cb07f54340e01d7ac0d230729a053673524b2fa4cde5cb896e9748e59
|
7
|
+
data.tar.gz: 6220cd22faaec6fdfedddf86c1b352c0796906e5fda536a7f31e95ea06fcbd337a289dbedd8ac9a22a796bddeea46d7f27ddaa4a0dd750e28ee2656ac8b1bf26
|
@@ -1583,6 +1583,9 @@
|
|
1583
1583
|
<xsl:param name="copyrightText"/>
|
1584
1584
|
<fo:static-content flow-name="footer">
|
1585
1585
|
<fo:block-container height="24mm" display-align="after">
|
1586
|
+
<xsl:if test="$section = 'commentary'">
|
1587
|
+
<xsl:attribute name="height">24.5mm</xsl:attribute>
|
1588
|
+
</xsl:if>
|
1586
1589
|
<xsl:if test="$section = 'preface'">
|
1587
1590
|
<fo:block font-size="9pt" text-align="center" space-after="10pt">(<fo:inline font-family="Times New Roman"><fo:page-number/></fo:inline>)</fo:block>
|
1588
1591
|
</xsl:if>
|
@@ -1627,17 +1630,30 @@
|
|
1627
1630
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
1628
1631
|
|
1629
1632
|
<xsl:param name="table_if">false</xsl:param> <!-- generate extended table in IF for autolayout-algorithm -->
|
1630
|
-
<xsl:param name="table_widths"/> <!-- path to xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
1633
|
+
<xsl:param name="table_widths"/> <!-- (debug: path to) xml with table's widths, generated on 1st pass, based on FOP Intermediate Format -->
|
1631
1634
|
<!-- Example: <tables>
|
1632
|
-
|
1633
|
-
|
1634
|
-
|
1635
|
-
|
1636
|
-
|
1637
|
-
|
1638
|
-
|
1639
|
-
|
1640
|
-
|
1635
|
+
<table page-width="509103" id="table1" width_max="223561" width_min="223560">
|
1636
|
+
<column width_max="39354" width_min="39354"/>
|
1637
|
+
<column width_max="75394" width_min="75394"/>
|
1638
|
+
<column width_max="108813" width_min="108813"/>
|
1639
|
+
<tbody>
|
1640
|
+
<tr>
|
1641
|
+
<td width_max="39354" width_min="39354">
|
1642
|
+
<p_len>39354</p_len>
|
1643
|
+
<word_len>39354</word_len>
|
1644
|
+
</td>
|
1645
|
+
|
1646
|
+
OLD:
|
1647
|
+
<tables>
|
1648
|
+
<table id="table_if_tab-symdu" page-width="75"> - table id prefixed by 'table_if_' to simple search in IF
|
1649
|
+
<tbody>
|
1650
|
+
<tr>
|
1651
|
+
<td id="tab-symdu_1_1">
|
1652
|
+
<p_len>6</p_len>
|
1653
|
+
<p_len>100</p_len> for 2nd paragraph
|
1654
|
+
<word_len>6</word_len>
|
1655
|
+
<word_len>20</word_len>
|
1656
|
+
...
|
1641
1657
|
-->
|
1642
1658
|
|
1643
1659
|
<!-- for command line debug: <xsl:variable name="table_widths_from_if" select="document($table_widths)"/> -->
|
@@ -1857,6 +1873,9 @@
|
|
1857
1873
|
<xsl:variable name="hair_space"> </xsl:variable>
|
1858
1874
|
<xsl:variable name="en_dash">–</xsl:variable>
|
1859
1875
|
<xsl:variable name="em_dash">—</xsl:variable>
|
1876
|
+
<xsl:variable name="cr"> </xsl:variable>
|
1877
|
+
<xsl:variable name="lf">
|
1878
|
+
</xsl:variable>
|
1860
1879
|
|
1861
1880
|
<xsl:template name="getTitle">
|
1862
1881
|
<xsl:param name="name"/>
|
@@ -2631,6 +2650,10 @@
|
|
2631
2650
|
|
2632
2651
|
<xsl:template name="refine_figure-block-style">
|
2633
2652
|
|
2653
|
+
<xsl:if test="ancestor::*[local-name() = 'example'] or ancestor::*[local-name() = 'note']">
|
2654
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2655
|
+
</xsl:if>
|
2656
|
+
|
2634
2657
|
</xsl:template>
|
2635
2658
|
|
2636
2659
|
<xsl:attribute-set name="figure-style">
|
@@ -3509,6 +3532,20 @@
|
|
3509
3532
|
</xsl:for-each>
|
3510
3533
|
</xsl:template>
|
3511
3534
|
|
3535
|
+
<xsl:param name="table_only_with_id"/><!-- Example: table1, for table auto-layout algorithm -->
|
3536
|
+
|
3537
|
+
<xsl:template match="*[local-name()='table']" priority="2">
|
3538
|
+
<xsl:choose>
|
3539
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
3540
|
+
<xsl:call-template name="table"/>
|
3541
|
+
</xsl:when>
|
3542
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
3543
|
+
<xsl:otherwise>
|
3544
|
+
<xsl:call-template name="table"/>
|
3545
|
+
</xsl:otherwise>
|
3546
|
+
</xsl:choose>
|
3547
|
+
</xsl:template>
|
3548
|
+
|
3512
3549
|
<xsl:template match="*[local-name()='table']" name="table">
|
3513
3550
|
|
3514
3551
|
<xsl:variable name="table-preamble">
|
@@ -3518,9 +3555,11 @@
|
|
3518
3555
|
<xsl:variable name="table">
|
3519
3556
|
|
3520
3557
|
<xsl:variable name="simple-table">
|
3521
|
-
<xsl:
|
3522
|
-
<xsl:
|
3523
|
-
|
3558
|
+
<xsl:if test="$isGenerateTableIF = 'true' and $isApplyAutolayoutAlgorithm = 'true'">
|
3559
|
+
<xsl:call-template name="getSimpleTable">
|
3560
|
+
<xsl:with-param name="id" select="@id"/>
|
3561
|
+
</xsl:call-template>
|
3562
|
+
</xsl:if>
|
3524
3563
|
</xsl:variable>
|
3525
3564
|
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
3526
3565
|
|
@@ -3616,9 +3655,9 @@
|
|
3616
3655
|
</xsl:attribute>
|
3617
3656
|
</xsl:for-each>
|
3618
3657
|
|
3619
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
3658
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
3620
3659
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
3621
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute
|
3660
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute><!-- set 0pt border, because there is a separete table below for footer -->
|
3622
3661
|
</xsl:if>
|
3623
3662
|
|
3624
3663
|
<xsl:choose>
|
@@ -3750,9 +3789,28 @@
|
|
3750
3789
|
|
3751
3790
|
</fo:block>
|
3752
3791
|
|
3792
|
+
<!-- <xsl:if test="$namespace = 'bsi' or $namespace = 'iec' or $namespace = 'iso'"> -->
|
3793
|
+
<xsl:if test="$continued = 'true'">
|
3794
|
+
<fo:block text-align="right">
|
3795
|
+
<xsl:apply-templates select="../*[local-name() = 'note'][@type = 'units']/node()"/>
|
3796
|
+
</fo:block>
|
3797
|
+
</xsl:if>
|
3798
|
+
<!-- </xsl:if> -->
|
3799
|
+
|
3753
3800
|
</xsl:if>
|
3754
3801
|
</xsl:template> <!-- table/name -->
|
3755
3802
|
|
3803
|
+
<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
|
3804
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
|
3805
|
+
<xsl:choose>
|
3806
|
+
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
|
3807
|
+
<!-- remove CR or LF at start -->
|
3808
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^( | | )', '')"/>
|
3809
|
+
</xsl:when>
|
3810
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
3811
|
+
</xsl:choose>
|
3812
|
+
</xsl:template>
|
3813
|
+
|
3756
3814
|
<!-- SOURCE: ... -->
|
3757
3815
|
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
3758
3816
|
<xsl:call-template name="termsource"/>
|
@@ -4163,7 +4221,7 @@
|
|
4163
4221
|
<xsl:param name="colwidths"/>
|
4164
4222
|
<xsl:param name="colgroup"/>
|
4165
4223
|
|
4166
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
4224
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
|
4167
4225
|
|
4168
4226
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
4169
4227
|
|
@@ -4233,7 +4291,7 @@
|
|
4233
4291
|
|
4234
4292
|
<!-- except gb and bsi -->
|
4235
4293
|
|
4236
|
-
<xsl:apply-templates select="../*[local-name()='p' or local-name()='dl' or local-name()='note' or local-name()='example' or local-name()='source']"/>
|
4294
|
+
<xsl:apply-templates select="../*[local-name()='p' or local-name()='dl' or (local-name()='note' and not(@type = 'units')) or local-name()='example' or local-name()='source']"/>
|
4237
4295
|
|
4238
4296
|
<xsl:variable name="isDisplayRowSeparator">
|
4239
4297
|
|
@@ -4241,7 +4299,7 @@
|
|
4241
4299
|
|
4242
4300
|
<!-- horizontal row separator -->
|
4243
4301
|
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
|
4244
|
-
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
4302
|
+
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
|
4245
4303
|
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
|
4246
4304
|
|
4247
4305
|
<xsl:call-template name="setBordersTableArray"/>
|
@@ -4921,7 +4979,20 @@
|
|
4921
4979
|
<!-- Definition List -->
|
4922
4980
|
<!-- ===================== -->
|
4923
4981
|
|
4924
|
-
|
4982
|
+
<!-- for table auto-layout algorithm -->
|
4983
|
+
<xsl:template match="*[local-name()='dl']" priority="2">
|
4984
|
+
<xsl:choose>
|
4985
|
+
<xsl:when test="$table_only_with_id != '' and @id = $table_only_with_id">
|
4986
|
+
<xsl:call-template name="dl"/>
|
4987
|
+
</xsl:when>
|
4988
|
+
<xsl:when test="$table_only_with_id != ''"><fo:block/><!-- to prevent empty fo:block-container --></xsl:when>
|
4989
|
+
<xsl:otherwise>
|
4990
|
+
<xsl:call-template name="dl"/>
|
4991
|
+
</xsl:otherwise>
|
4992
|
+
</xsl:choose>
|
4993
|
+
</xsl:template>
|
4994
|
+
|
4995
|
+
<xsl:template match="*[local-name()='dl']" name="dl">
|
4925
4996
|
<xsl:variable name="isAdded" select="@added"/>
|
4926
4997
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
4927
4998
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
@@ -6856,7 +6927,13 @@
|
|
6856
6927
|
<xsl:value-of select="$language_current_2"/>
|
6857
6928
|
</xsl:when>
|
6858
6929
|
<xsl:otherwise>
|
6859
|
-
<xsl:
|
6930
|
+
<xsl:variable name="language_current_3" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'])"/>
|
6931
|
+
<xsl:choose>
|
6932
|
+
<xsl:when test="$language_current_3 != ''">
|
6933
|
+
<xsl:value-of select="$language_current_3"/>
|
6934
|
+
</xsl:when>
|
6935
|
+
<xsl:otherwise>en</xsl:otherwise>
|
6936
|
+
</xsl:choose>
|
6860
6937
|
</xsl:otherwise>
|
6861
6938
|
</xsl:choose>
|
6862
6939
|
</xsl:otherwise>
|
@@ -7752,7 +7829,7 @@
|
|
7752
7829
|
</xsl:when>
|
7753
7830
|
<xsl:otherwise>
|
7754
7831
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
7755
|
-
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
7832
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
7756
7833
|
|
7757
7834
|
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
7758
7835
|
<xsl:attribute name="width">
|
@@ -12888,6 +12965,4 @@
|
|
12888
12965
|
</xsl:if>
|
12889
12966
|
</xsl:template>
|
12890
12967
|
|
12891
|
-
<!-- update -->
|
12892
|
-
|
12893
12968
|
</xsl:stylesheet>
|
@@ -3,14 +3,6 @@ require_relative "../../html2doc/lists"
|
|
3
3
|
module IsoDoc
|
4
4
|
module JIS
|
5
5
|
class WordConvert < IsoDoc::Iso::WordConvert
|
6
|
-
def postprocess(result, filename, dir)
|
7
|
-
filename = filename.sub(/\.doc$/, "")
|
8
|
-
header = generate_header(filename, dir)
|
9
|
-
result = from_xhtml(cleanup(to_xhtml(textcleanup(result))))
|
10
|
-
toWord(result, filename, dir, header)
|
11
|
-
@files_to_delete.each { |f| FileUtils.rm_f f }
|
12
|
-
end
|
13
|
-
|
14
6
|
def word_cleanup(docxml)
|
15
7
|
word_note_cleanup(docxml)
|
16
8
|
boldface(docxml)
|
@@ -53,9 +45,12 @@ module IsoDoc
|
|
53
45
|
end
|
54
46
|
end
|
55
47
|
|
48
|
+
def postprocess_cleanup(result)
|
49
|
+
result = cleanup(to_xhtml(textcleanup(result)))
|
50
|
+
word_split(word_cleanup(result))
|
51
|
+
end
|
52
|
+
|
56
53
|
def toWord(result, filename, dir, header)
|
57
|
-
result = word_split(word_cleanup(to_xhtml(result)))
|
58
|
-
@wordstylesheet = wordstylesheet_update
|
59
54
|
result.each do |k, v|
|
60
55
|
to_word1(v, "#{filename}#{k}", dir, header)
|
61
56
|
end
|
@@ -89,11 +84,13 @@ module IsoDoc
|
|
89
84
|
end
|
90
85
|
|
91
86
|
def main_split(xml)
|
92
|
-
c = xml.at("//div[@class = 'WordSection1']")
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
c.
|
87
|
+
if c = xml.at("//div[@class = 'WordSection1']")
|
88
|
+
c.next_element&.remove
|
89
|
+
c.remove
|
90
|
+
end
|
91
|
+
if c = xml.at("//div[@class = 'WordSection2']")
|
92
|
+
c.elements.first.at("./br") and c.elements.first.remove
|
93
|
+
end
|
97
94
|
xml
|
98
95
|
end
|
99
96
|
|
data/lib/isodoc/jis/xref.rb
CHANGED
@@ -25,6 +25,20 @@ module IsoDoc
|
|
25
25
|
l10n("#{title} #{num}<br/>#{obl}")
|
26
26
|
end
|
27
27
|
|
28
|
+
def annex_name_anchors1(clause, num, level)
|
29
|
+
@anchors[clause["id"]] =
|
30
|
+
{ xref: num, label: num, level: level,
|
31
|
+
subtype: "annex" }
|
32
|
+
end
|
33
|
+
|
34
|
+
def annex_names1(clause, num, level)
|
35
|
+
annex_name_anchors1(clause, num, level)
|
36
|
+
i = ::IsoDoc::XrefGen::Counter.new(0, prefix: "#{num}.")
|
37
|
+
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
38
|
+
annex_names1(c, i.increment(c).print, level + 1)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
28
42
|
def clause_order_main(docxml)
|
29
43
|
[
|
30
44
|
{ path: "//sections/introduction" },
|
@@ -97,14 +111,16 @@ module IsoDoc
|
|
97
111
|
refer_list)
|
98
112
|
c = Counter.new(list["start"] ? list["start"].to_i - 1 : 0)
|
99
113
|
list.xpath(ns("./li")).each do |li|
|
100
|
-
bare_label, label =
|
101
|
-
|
114
|
+
bare_label, label =
|
115
|
+
list_item_value(li, c, depth, { list_anchor: list_anchor,
|
116
|
+
prev_label: prev_label, refer_list: depth == 1 ? refer_list : nil })
|
102
117
|
li["id"] and @anchors[li["id"]] =
|
103
118
|
{ label: bare_label, bare_xref: "#{bare_label})",
|
104
|
-
xref: "#{label})", type: "listitem",
|
105
|
-
|
119
|
+
xref: "#{label})", type: "listitem",
|
120
|
+
refer_list: refer_list, container: list_anchor[:container] }
|
106
121
|
(li.xpath(ns(".//ol")) - li.xpath(ns(".//ol//ol"))).each do |ol|
|
107
|
-
list_item_anchor_names(ol, list_anchor, depth + 1, label,
|
122
|
+
list_item_anchor_names(ol, list_anchor, depth + 1, label,
|
123
|
+
refer_list)
|
108
124
|
end
|
109
125
|
end
|
110
126
|
end
|
data/metanorma-jis.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
|
33
33
|
spec.add_dependency "japanese_calendar", "~> 0"
|
34
34
|
spec.add_dependency "metanorma-iso", "~> 2.7.3"
|
35
|
-
spec.add_dependency "pubid
|
35
|
+
spec.add_dependency "pubid"
|
36
36
|
|
37
37
|
spec.add_development_dependency "debug"
|
38
38
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
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.2.
|
4
|
+
version: 0.2.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-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: japanese_calendar
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.7.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: pubid
|
42
|
+
name: pubid
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|