metanorma-plateau 1.1.7 → 1.2.1
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/plateau/i18n-ja.yaml +9 -0
- data/lib/isodoc/plateau/init.rb +4 -1
- data/lib/isodoc/plateau/plateau.international-standard.xsl +275 -192
- data/lib/isodoc/plateau/presentation_xml_convert.rb +31 -0
- data/lib/metanorma/plateau/converter.rb +3 -2
- data/lib/metanorma/plateau/log.rb +17 -0
- data/lib/metanorma/plateau/version.rb +1 -1
- data/lib/relaton/render-plateau/citations.rb +11 -0
- data/lib/relaton/render-plateau/config-en.yml +2 -0
- data/lib/relaton/render-plateau/config-ja.yml +2 -0
- data/lib/relaton/render-plateau/general.rb +92 -0
- data/lib/relaton/render-plateau/i18n.rb +21 -0
- data/metanorma-plateau.gemspec +3 -2
- metadata +24 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5216a29d12ec97ea08cd293a8424eb56bc7f8487abcb05d7e8605f76d4bfbbea
|
|
4
|
+
data.tar.gz: a34fa09773500f77484c9e0fdb59b8c9c44b5386d4ca36b249aef8b69464b3cb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b4d64fa9a76290f5bf140b5655af2d758c97bfc9f109e014bb908acd64814b4a88d6fbd4b42b3919ec93bc98c16e7774cc4339c1ae6f8c0b5f6d17558d6c9c22
|
|
7
|
+
data.tar.gz: 6b9ea93d58e3b12fdd47dfe35de29f4831f6420d5be088c00fae7daa2b9ea9c4c3469c942121150293567b02543043fdf5e3f9c11df02ffa6acef260bbbc1e3f
|
|
@@ -2,3 +2,12 @@ doctype_dict:
|
|
|
2
2
|
handbook: ガイドブック
|
|
3
3
|
annex: 別冊
|
|
4
4
|
technical-report: 技術資料
|
|
5
|
+
punct:
|
|
6
|
+
open-title: 「
|
|
7
|
+
close-title: 」
|
|
8
|
+
open-secondary-title: 『
|
|
9
|
+
close-secondary-title: 』
|
|
10
|
+
# If this is a punct symbol, we need a trailing half-width space, to allow it to be converted to cjk-latin-separator if Latn text follows
|
|
11
|
+
biblio-field-delimiter: " "
|
|
12
|
+
biblio-terminator: ""
|
|
13
|
+
comma: 、
|
data/lib/isodoc/plateau/init.rb
CHANGED
|
@@ -2,10 +2,13 @@ require "isodoc"
|
|
|
2
2
|
require_relative "metadata"
|
|
3
3
|
require_relative "i18n"
|
|
4
4
|
require_relative "xref"
|
|
5
|
+
require "metanorma-utils"
|
|
5
6
|
|
|
6
7
|
module IsoDoc
|
|
7
8
|
module Plateau
|
|
8
9
|
module Init
|
|
10
|
+
Hash.include Metanorma::Utils::Hash
|
|
11
|
+
|
|
9
12
|
def metadata_init(lang, script, locale, labels)
|
|
10
13
|
@meta = Metadata.new(lang, script, locale, labels)
|
|
11
14
|
end
|
|
@@ -21,7 +24,7 @@ module IsoDoc
|
|
|
21
24
|
end
|
|
22
25
|
|
|
23
26
|
def bibrenderer(options = {})
|
|
24
|
-
::Relaton::Render::
|
|
27
|
+
::Relaton::Render::Plateau::General.new(options
|
|
25
28
|
.merge(language: @lang, script: @script, i18nhash: @i18n.get))
|
|
26
29
|
end
|
|
27
30
|
end
|
|
@@ -907,54 +907,6 @@
|
|
|
907
907
|
<xsl:call-template name="getLevel"/>
|
|
908
908
|
</xsl:variable>
|
|
909
909
|
|
|
910
|
-
<xsl:variable name="font-size">
|
|
911
|
-
<xsl:choose>
|
|
912
|
-
<!-- <xsl:when test="@parent = 'preface'">10pt</xsl:when> -->
|
|
913
|
-
<xsl:when test="$doctype = 'technical-report' and $level = 1">16pt</xsl:when>
|
|
914
|
-
<xsl:when test="$doctype = 'technical-report' and $level = 2">14pt</xsl:when>
|
|
915
|
-
<xsl:when test="$doctype = 'technical-report' and $level = 3">12pt</xsl:when>
|
|
916
|
-
<xsl:when test="$doctype = 'technical-report' and $level >= 4">10pt</xsl:when>
|
|
917
|
-
<xsl:when test="ancestor::mn:sections">12pt</xsl:when>
|
|
918
|
-
<xsl:when test="ancestor::mn:annex and $level = 1">14pt</xsl:when>
|
|
919
|
-
<xsl:when test="ancestor::mn:annex">12pt</xsl:when>
|
|
920
|
-
<xsl:otherwise>10pt</xsl:otherwise>
|
|
921
|
-
</xsl:choose>
|
|
922
|
-
</xsl:variable>
|
|
923
|
-
|
|
924
|
-
<xsl:variable name="font-weight">bold</xsl:variable>
|
|
925
|
-
<!-- <xsl:choose>
|
|
926
|
-
<xsl:when test="@parent = 'preface'">bold</xsl:when>
|
|
927
|
-
<xsl:when test="@parent = 'annex'">bold</xsl:when>
|
|
928
|
-
<xsl:when test="@parent = 'bibliography'">bold</xsl:when>
|
|
929
|
-
<xsl:otherwise>normal</xsl:otherwise>
|
|
930
|
-
</xsl:choose>
|
|
931
|
-
</xsl:variable> -->
|
|
932
|
-
|
|
933
|
-
<xsl:variable name="text-align">
|
|
934
|
-
<xsl:choose>
|
|
935
|
-
<xsl:when test="ancestor::mn:foreword and $level = 1">center</xsl:when>
|
|
936
|
-
<xsl:when test="ancestor::mn:annex and $level = 1">center</xsl:when>
|
|
937
|
-
<xsl:otherwise>left</xsl:otherwise>
|
|
938
|
-
</xsl:choose>
|
|
939
|
-
</xsl:variable>
|
|
940
|
-
|
|
941
|
-
<xsl:variable name="margin-top">
|
|
942
|
-
<xsl:choose>
|
|
943
|
-
<xsl:when test="ancestor::mn:foreword and $level = 1">9mm</xsl:when>
|
|
944
|
-
<!-- <xsl:when test="ancestor::mn:annex and $level = '1' and ancestor::mn:annex[1][@commentary = 'true']">1mm</xsl:when> -->
|
|
945
|
-
<xsl:when test="ancestor::mn:annex and $level = 1">0mm</xsl:when>
|
|
946
|
-
<xsl:when test="$level = 1 and not(ancestor::mn:preface)">6.5mm</xsl:when>
|
|
947
|
-
<xsl:when test="ancestor::mn:foreword and $level = 2">0mm</xsl:when>
|
|
948
|
-
<!-- <xsl:when test="ancestor::mn:annex and $level = 2">4.5mm</xsl:when> -->
|
|
949
|
-
<xsl:when test="ancestor::mn:bibliography and $level = 2">0mm</xsl:when>
|
|
950
|
-
<xsl:when test="$doctype = 'technical-report' and $level = 2 and preceding-sibling::*[2][self::mn:fmt-title]">0mm</xsl:when>
|
|
951
|
-
<xsl:when test="$doctype = 'technical-report' and $level = 3 and preceding-sibling::*[2][self::mn:fmt-title]">0mm</xsl:when>
|
|
952
|
-
<xsl:when test="$level = 2">2mm</xsl:when>
|
|
953
|
-
<xsl:when test="$level >= 3">2mm</xsl:when>
|
|
954
|
-
<xsl:otherwise>0mm</xsl:otherwise>
|
|
955
|
-
</xsl:choose>
|
|
956
|
-
</xsl:variable>
|
|
957
|
-
|
|
958
910
|
<xsl:variable name="element-name">
|
|
959
911
|
<xsl:choose>
|
|
960
912
|
<xsl:when test="@inline-header = 'true'">fo:inline</xsl:when>
|
|
@@ -962,36 +914,13 @@
|
|
|
962
914
|
</xsl:choose>
|
|
963
915
|
</xsl:variable>
|
|
964
916
|
|
|
965
|
-
<xsl:variable name="margin-bottom">
|
|
966
|
-
<xsl:choose>
|
|
967
|
-
<xsl:when test="$doctype = 'technical-report'">
|
|
968
|
-
<xsl:choose>
|
|
969
|
-
<xsl:when test="following-sibling::*[1][self::mn:clause]">0</xsl:when>
|
|
970
|
-
<xsl:when test="following-sibling::*[1][self::mn:p]">16pt</xsl:when>
|
|
971
|
-
<xsl:otherwise>12pt</xsl:otherwise>
|
|
972
|
-
</xsl:choose>
|
|
973
|
-
</xsl:when>
|
|
974
|
-
<xsl:otherwise>
|
|
975
|
-
<xsl:choose>
|
|
976
|
-
<xsl:when test="ancestor::mn:preface">6pt</xsl:when>
|
|
977
|
-
<xsl:when test="ancestor::mn:foreword and $level = 1">9mm</xsl:when>
|
|
978
|
-
<!-- <xsl:when test="ancestor::mn:annex and $level = '1' and ancestor::mn:annex[1][@commentary = 'true']">7mm</xsl:when> -->
|
|
979
|
-
<!-- <xsl:when test="ancestor::mn:annex and $level = 1">1mm</xsl:when> -->
|
|
980
|
-
<xsl:when test="$level = 1 and following-sibling::*[1][self::mn:clause]">8pt</xsl:when>
|
|
981
|
-
<xsl:when test="$level = 1">12pt</xsl:when>
|
|
982
|
-
<xsl:when test="$level = 2 and following-sibling::*[1][self::mn:clause]">8pt</xsl:when>
|
|
983
|
-
<xsl:when test="$level >= 2">12pt</xsl:when>
|
|
984
|
-
<xsl:when test="@type = 'section-title'">6mm</xsl:when>
|
|
985
|
-
<xsl:when test="@inline-header = 'true'">0pt</xsl:when>
|
|
986
|
-
<xsl:otherwise>0mm</xsl:otherwise>
|
|
987
|
-
</xsl:choose>
|
|
988
|
-
</xsl:otherwise>
|
|
989
|
-
</xsl:choose>
|
|
990
|
-
</xsl:variable>
|
|
991
|
-
|
|
992
917
|
<!-- to space-before Foreword -->
|
|
993
918
|
<xsl:if test="ancestor::mn:foreword and $level = '1'"><fo:block/></xsl:if>
|
|
994
919
|
|
|
920
|
+
<xsl:variable name="title_styles">
|
|
921
|
+
<styles xsl:use-attribute-sets="title-style"><xsl:call-template name="refine_title-style"/></styles>
|
|
922
|
+
</xsl:variable>
|
|
923
|
+
|
|
995
924
|
<xsl:choose>
|
|
996
925
|
<xsl:when test="@inline-header = 'true' and following-sibling::*[1][self::mn:p]">
|
|
997
926
|
<fo:block role="H{$level}">
|
|
@@ -1004,34 +933,7 @@
|
|
|
1004
933
|
</xsl:when>
|
|
1005
934
|
<xsl:otherwise>
|
|
1006
935
|
<xsl:element name="{$element-name}">
|
|
1007
|
-
<xsl:
|
|
1008
|
-
<xsl:attribute name="font-weight"><xsl:value-of select="$font-weight"/></xsl:attribute>
|
|
1009
|
-
<xsl:attribute name="text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
|
|
1010
|
-
<xsl:attribute name="space-before"><xsl:value-of select="$margin-top"/></xsl:attribute>
|
|
1011
|
-
<xsl:attribute name="margin-bottom"><xsl:value-of select="$margin-bottom"/></xsl:attribute>
|
|
1012
|
-
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
|
1013
|
-
<xsl:attribute name="role">H<xsl:value-of select="$level"/></xsl:attribute>
|
|
1014
|
-
|
|
1015
|
-
<xsl:if test="@type = 'floating-title' or @type = 'section-title'">
|
|
1016
|
-
<xsl:copy-of select="@id"/>
|
|
1017
|
-
</xsl:if>
|
|
1018
|
-
|
|
1019
|
-
<!-- <xsl:if test="$level = '3'">
|
|
1020
|
-
<xsl:attribute name="margin-left">7.5mm</xsl:attribute>
|
|
1021
|
-
</xsl:if> -->
|
|
1022
|
-
|
|
1023
|
-
<xsl:if test="$doctype = 'technical-report'">
|
|
1024
|
-
<xsl:choose>
|
|
1025
|
-
<xsl:when test="$level = 2">
|
|
1026
|
-
<xsl:attribute name="background-color">rgb(229,229,229)</xsl:attribute>
|
|
1027
|
-
<xsl:attribute name="padding-top">2mm</xsl:attribute>
|
|
1028
|
-
<xsl:attribute name="padding-bottom">2mm</xsl:attribute>
|
|
1029
|
-
</xsl:when>
|
|
1030
|
-
<xsl:when test="$level = 3">
|
|
1031
|
-
<xsl:attribute name="background-color">rgb(204,204,204)</xsl:attribute>
|
|
1032
|
-
</xsl:when>
|
|
1033
|
-
</xsl:choose>
|
|
1034
|
-
</xsl:if>
|
|
936
|
+
<xsl:copy-of select="xalan:nodeset($title_styles)/styles/@*"/>
|
|
1035
937
|
|
|
1036
938
|
<!-- if first and last childs are `add` ace-tag, then move start ace-tag before title -->
|
|
1037
939
|
<xsl:if test="mn:tab[1]/following-sibling::node()[last()][self::mn:add][starts-with(text(), $ace_tag)]">
|
|
@@ -1134,88 +1036,17 @@
|
|
|
1134
1036
|
</xsl:choose>
|
|
1135
1037
|
</xsl:variable>
|
|
1136
1038
|
|
|
1137
|
-
<xsl:
|
|
1138
|
-
<xsl:
|
|
1139
|
-
<xsl:with-param name="
|
|
1140
|
-
</
|
|
1141
|
-
|
|
1142
|
-
<xsl:if test="$doctype = 'technical-report'">
|
|
1143
|
-
<xsl:attribute name="margin-bottom">18pt</xsl:attribute>
|
|
1144
|
-
</xsl:if>
|
|
1145
|
-
|
|
1146
|
-
<!--
|
|
1147
|
-
<xsl:if test="not(parent::mn:note or parent::mn:li or ancestor::mn:table)">
|
|
1148
|
-
<xsl:attribute name="text-indent"><xsl:value-of select="$text_indent"/>mm</xsl:attribute>
|
|
1149
|
-
</xsl:if>
|
|
1150
|
-
-->
|
|
1151
|
-
|
|
1152
|
-
<xsl:copy-of select="@id"/>
|
|
1153
|
-
|
|
1154
|
-
<xsl:if test="$doctype = 'technical-report'">
|
|
1155
|
-
<xsl:attribute name="line-height">1.8</xsl:attribute>
|
|
1156
|
-
</xsl:if>
|
|
1157
|
-
|
|
1158
|
-
<!-- bookmarks only in paragraph -->
|
|
1159
|
-
<xsl:if test="count(mn:bookmark) != 0 and count(*) = count(mn:bookmark) and normalize-space() = ''">
|
|
1160
|
-
<xsl:attribute name="font-size">0</xsl:attribute>
|
|
1161
|
-
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
1162
|
-
<xsl:attribute name="line-height">0</xsl:attribute>
|
|
1163
|
-
</xsl:if>
|
|
1164
|
-
|
|
1165
|
-
<xsl:if test="ancestor::*[@key = 'true']">
|
|
1166
|
-
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
|
1167
|
-
</xsl:if>
|
|
1168
|
-
|
|
1169
|
-
<xsl:if test="parent::mn:fmt-definition">
|
|
1170
|
-
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
|
1171
|
-
</xsl:if>
|
|
1172
|
-
|
|
1173
|
-
<xsl:if test="parent::mn:li or parent::mn:quote">
|
|
1174
|
-
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
|
1175
|
-
</xsl:if>
|
|
1176
|
-
|
|
1177
|
-
<xsl:if test="parent::mn:li and following-sibling::*[1][self::mn:ol or self::mn:ul or self::mn:note or self::mn:example]">
|
|
1178
|
-
<xsl:attribute name="margin-bottom">4pt</xsl:attribute>
|
|
1179
|
-
</xsl:if>
|
|
1180
|
-
|
|
1181
|
-
<xsl:if test="ancestor::mn:td or ancestor::mn:th">
|
|
1182
|
-
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
1183
|
-
</xsl:if>
|
|
1184
|
-
|
|
1185
|
-
<xsl:if test="parent::mn:dd">
|
|
1186
|
-
<xsl:attribute name="margin-bottom">5pt</xsl:attribute>
|
|
1187
|
-
</xsl:if>
|
|
1188
|
-
|
|
1189
|
-
<xsl:if test="parent::mn:dd and ancestor::mn:dl[@key = 'true'] and (ancestor::mn:tfoot or ancestor::mn:figure)">
|
|
1190
|
-
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
|
1191
|
-
</xsl:if>
|
|
1192
|
-
|
|
1193
|
-
<xsl:if test="parent::mn:clause[@type = 'inner-cover-note'] or ancestor::mn:boilerplate">
|
|
1194
|
-
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
1195
|
-
</xsl:if>
|
|
1196
|
-
|
|
1197
|
-
<xsl:if test="parent::mn:note and not(following-sibling::*)">
|
|
1198
|
-
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
1199
|
-
</xsl:if>
|
|
1200
|
-
|
|
1201
|
-
<xsl:if test="(ancestor::*[local-name() = 'td' or local-name() = 'th']) and (.//*[local-name() = 'font_en' or local-name() = 'font_en_bold'])">
|
|
1202
|
-
<xsl:if test="$isGenerateTableIF = 'false'">
|
|
1203
|
-
<xsl:attribute name="language">en</xsl:attribute>
|
|
1204
|
-
<xsl:attribute name="hyphenate">true</xsl:attribute>
|
|
1205
|
-
</xsl:if>
|
|
1206
|
-
</xsl:if>
|
|
1207
|
-
|
|
1208
|
-
<xsl:if test="ancestor::mn:note[@type = 'units']">
|
|
1209
|
-
<xsl:attribute name="text-align">right</xsl:attribute>
|
|
1210
|
-
</xsl:if>
|
|
1039
|
+
<xsl:variable name="p_styles">
|
|
1040
|
+
<styles xsl:use-attribute-sets="p-style">
|
|
1041
|
+
<xsl:call-template name="refine_p-style"><xsl:with-param name="element-name" select="$element-name"/></xsl:call-template>
|
|
1042
|
+
</styles>
|
|
1043
|
+
</xsl:variable>
|
|
1211
1044
|
|
|
1212
|
-
|
|
1213
|
-
<xsl:
|
|
1214
|
-
<xsl:attribute name="margin-left"><xsl:value-of select="$tableAnnotationIndent"/></xsl:attribute>
|
|
1215
|
-
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
1216
|
-
</xsl:if>
|
|
1045
|
+
<xsl:element name="{$element-name}">
|
|
1046
|
+
<xsl:copy-of select="xalan:nodeset($p_styles)/styles/@*"/>
|
|
1217
1047
|
|
|
1218
1048
|
<xsl:if test="parent::mn:clause or (ancestor::mn:note and not(ancestor::mn:table))">
|
|
1049
|
+
<!-- Ideographic Space -->
|
|
1219
1050
|
<xsl:text> </xsl:text>
|
|
1220
1051
|
</xsl:if>
|
|
1221
1052
|
|
|
@@ -1244,7 +1075,7 @@
|
|
|
1244
1075
|
|
|
1245
1076
|
<xsl:call-template name="refine_note-style"/>
|
|
1246
1077
|
|
|
1247
|
-
<fo:block-container
|
|
1078
|
+
<fo:block-container xsl:use-attribute-sets="reset-margins-style">
|
|
1248
1079
|
|
|
1249
1080
|
<fo:table table-layout="fixed" width="99%" border="1pt solid black">
|
|
1250
1081
|
<fo:table-body>
|
|
@@ -1404,7 +1235,7 @@
|
|
|
1404
1235
|
<xsl:if test="position() = last()">
|
|
1405
1236
|
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
|
1406
1237
|
</xsl:if>
|
|
1407
|
-
<fo:block-container
|
|
1238
|
+
<fo:block-container xsl:use-attribute-sets="reset-margins-style">
|
|
1408
1239
|
<fo:list-block provisional-distance-between-starts="10mm">
|
|
1409
1240
|
<fo:list-item>
|
|
1410
1241
|
<fo:list-item-label end-indent="label-end()">
|
|
@@ -1807,7 +1638,7 @@
|
|
|
1807
1638
|
<xsl:if test="not(following-sibling::*[1][self::mn:p[@class = 'dl']])"> <!-- last dl -->
|
|
1808
1639
|
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
|
1809
1640
|
</xsl:if>
|
|
1810
|
-
<fo:block-container
|
|
1641
|
+
<fo:block-container xsl:use-attribute-sets="reset-margins-style">
|
|
1811
1642
|
<fo:block>
|
|
1812
1643
|
<xsl:if test="parent::mn:table">
|
|
1813
1644
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
|
@@ -4106,6 +3937,10 @@
|
|
|
4106
3937
|
</xsl:element>
|
|
4107
3938
|
</xsl:template>
|
|
4108
3939
|
|
|
3940
|
+
<!-- show sourcecode's name 'before' or 'after' source code -->
|
|
3941
|
+
<xsl:variable name="sourcecode-name-position"><xsl:text>after</xsl:text>
|
|
3942
|
+
</xsl:variable>
|
|
3943
|
+
|
|
4109
3944
|
<xsl:template match="mn:sourcecode" name="sourcecode">
|
|
4110
3945
|
|
|
4111
3946
|
<xsl:variable name="sourcecode_attributes">
|
|
@@ -4129,7 +3964,12 @@
|
|
|
4129
3964
|
|
|
4130
3965
|
<xsl:call-template name="refine_sourcecode-container-style"/>
|
|
4131
3966
|
|
|
4132
|
-
<fo:block-container margin-left="0mm" role="SKIP">
|
|
3967
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
|
3968
|
+
|
|
3969
|
+
<!-- <xsl:if test="$namespace = 'rsd'"> -->
|
|
3970
|
+
<xsl:if test="$sourcecode-name-position = 'before'">
|
|
3971
|
+
<xsl:apply-templates select="mn:fmt-name"/> <!-- show sourcecode's name BEFORE content -->
|
|
3972
|
+
</xsl:if>
|
|
4133
3973
|
|
|
4134
3974
|
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
|
4135
3975
|
|
|
@@ -4151,7 +3991,16 @@
|
|
|
4151
3991
|
</fo:block>
|
|
4152
3992
|
|
|
4153
3993
|
<xsl:apply-templates select="mn:dl"/> <!-- Key table -->
|
|
4154
|
-
|
|
3994
|
+
|
|
3995
|
+
<!-- <xsl:choose>
|
|
3996
|
+
<xsl:when test="$namespace = 'rsd'"></xsl:when>
|
|
3997
|
+
<xsl:otherwise>
|
|
3998
|
+
<xsl:apply-templates select="mn:fmt-name" /> --><!-- show sourcecode's name AFTER content -->
|
|
3999
|
+
<!-- </xsl:otherwise>
|
|
4000
|
+
</xsl:choose> -->
|
|
4001
|
+
<xsl:if test="$sourcecode-name-position = 'after'">
|
|
4002
|
+
<xsl:apply-templates select="mn:fmt-name"/> <!-- show sourcecode's name AFTER content -->
|
|
4003
|
+
</xsl:if>
|
|
4155
4004
|
|
|
4156
4005
|
</fo:block-container>
|
|
4157
4006
|
</fo:block-container>
|
|
@@ -9983,6 +9832,10 @@
|
|
|
9983
9832
|
<!-- image -->
|
|
9984
9833
|
<!-- ====== -->
|
|
9985
9834
|
|
|
9835
|
+
<!-- show figure's name 'before' or 'after' image -->
|
|
9836
|
+
<xsl:variable name="figure-name-position"><xsl:text>after</xsl:text>
|
|
9837
|
+
</xsl:variable>
|
|
9838
|
+
|
|
9986
9839
|
<xsl:template match="mn:figure" name="figure">
|
|
9987
9840
|
<xsl:variable name="isAdded" select="@added"/>
|
|
9988
9841
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
|
@@ -9995,6 +9848,10 @@
|
|
|
9995
9848
|
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
|
9996
9849
|
</xsl:call-template>
|
|
9997
9850
|
|
|
9851
|
+
<xsl:if test="$figure-name-position = 'before'"> <!-- show figure's name BEFORE image -->
|
|
9852
|
+
<xsl:apply-templates select="mn:fmt-name"/>
|
|
9853
|
+
</xsl:if>
|
|
9854
|
+
|
|
9998
9855
|
<!-- Example: Dimensions in millimeters -->
|
|
9999
9856
|
<xsl:apply-templates select="mn:note[@type = 'units']"/>
|
|
10000
9857
|
|
|
@@ -10015,7 +9872,16 @@
|
|
|
10015
9872
|
<xsl:if test="normalize-space($show_figure_key_in_block_container) = 'true'">
|
|
10016
9873
|
<xsl:call-template name="showFigureKey"/>
|
|
10017
9874
|
</xsl:if>
|
|
10018
|
-
|
|
9875
|
+
|
|
9876
|
+
<!-- <xsl:choose>
|
|
9877
|
+
<xsl:when test="$namespace = 'bsi' or $namespace = 'pas' or $namespace = 'rsd'"></xsl:when>
|
|
9878
|
+
<xsl:otherwise>
|
|
9879
|
+
<xsl:apply-templates select="mn:fmt-name" /> --> <!-- show figure's name AFTER image -->
|
|
9880
|
+
<!-- </xsl:otherwise>
|
|
9881
|
+
</xsl:choose> -->
|
|
9882
|
+
<xsl:if test="$figure-name-position = 'after'">
|
|
9883
|
+
<xsl:apply-templates select="mn:fmt-name"/> <!-- show figure's name AFTER image -->
|
|
9884
|
+
</xsl:if>
|
|
10019
9885
|
|
|
10020
9886
|
</fo:block-container>
|
|
10021
9887
|
</xsl:template>
|
|
@@ -12097,7 +11963,6 @@
|
|
|
12097
11963
|
</xsl:attribute-set>
|
|
12098
11964
|
|
|
12099
11965
|
<xsl:template name="refine_references-non-normative-title-style">
|
|
12100
|
-
|
|
12101
11966
|
</xsl:template>
|
|
12102
11967
|
|
|
12103
11968
|
<!-- bibitem in Normative References (references/@normative="true") -->
|
|
@@ -14151,7 +14016,7 @@
|
|
|
14151
14016
|
<!-- ===================================== -->
|
|
14152
14017
|
|
|
14153
14018
|
<xsl:attribute-set name="annex-title-style">
|
|
14154
|
-
</xsl:attribute-set>
|
|
14019
|
+
</xsl:attribute-set> <!-- annex-title-style -->
|
|
14155
14020
|
|
|
14156
14021
|
<xsl:template name="refine_annex-title-style">
|
|
14157
14022
|
</xsl:template>
|
|
@@ -14162,6 +14027,211 @@
|
|
|
14162
14027
|
<xsl:template name="refine_p-zzSTDTitle1-style">
|
|
14163
14028
|
</xsl:template>
|
|
14164
14029
|
|
|
14030
|
+
<xsl:attribute-set name="p-style">
|
|
14031
|
+
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
|
14032
|
+
</xsl:attribute-set> <!-- p-style -->
|
|
14033
|
+
|
|
14034
|
+
<xsl:template name="refine_p-style">
|
|
14035
|
+
<xsl:param name="element-name"/>
|
|
14036
|
+
<xsl:param name="margin"/>
|
|
14037
|
+
<xsl:call-template name="setBlockAttributes">
|
|
14038
|
+
<xsl:with-param name="text_align_default">justify</xsl:with-param>
|
|
14039
|
+
</xsl:call-template>
|
|
14040
|
+
|
|
14041
|
+
<xsl:if test="$doctype = 'technical-report'">
|
|
14042
|
+
<xsl:attribute name="margin-bottom">18pt</xsl:attribute>
|
|
14043
|
+
</xsl:if>
|
|
14044
|
+
|
|
14045
|
+
<!--
|
|
14046
|
+
<xsl:if test="not(parent::mn:note or parent::mn:li or ancestor::mn:table)">
|
|
14047
|
+
<xsl:attribute name="text-indent"><xsl:value-of select="$text_indent"/>mm</xsl:attribute>
|
|
14048
|
+
</xsl:if>
|
|
14049
|
+
-->
|
|
14050
|
+
|
|
14051
|
+
<xsl:copy-of select="@id"/>
|
|
14052
|
+
|
|
14053
|
+
<xsl:if test="$doctype = 'technical-report'">
|
|
14054
|
+
<xsl:attribute name="line-height">1.8</xsl:attribute>
|
|
14055
|
+
</xsl:if>
|
|
14056
|
+
|
|
14057
|
+
<!-- bookmarks only in paragraph -->
|
|
14058
|
+
<xsl:if test="count(mn:bookmark) != 0 and count(*) = count(mn:bookmark) and normalize-space() = ''">
|
|
14059
|
+
<xsl:attribute name="font-size">0</xsl:attribute>
|
|
14060
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
14061
|
+
<xsl:attribute name="line-height">0</xsl:attribute>
|
|
14062
|
+
</xsl:if>
|
|
14063
|
+
|
|
14064
|
+
<xsl:if test="ancestor::*[@key = 'true']">
|
|
14065
|
+
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
|
14066
|
+
</xsl:if>
|
|
14067
|
+
|
|
14068
|
+
<xsl:if test="parent::mn:fmt-definition">
|
|
14069
|
+
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
|
14070
|
+
</xsl:if>
|
|
14071
|
+
|
|
14072
|
+
<xsl:if test="parent::mn:li or parent::mn:quote">
|
|
14073
|
+
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
|
14074
|
+
</xsl:if>
|
|
14075
|
+
|
|
14076
|
+
<xsl:if test="parent::mn:li and following-sibling::*[1][self::mn:ol or self::mn:ul or self::mn:note or self::mn:example]">
|
|
14077
|
+
<xsl:attribute name="margin-bottom">4pt</xsl:attribute>
|
|
14078
|
+
</xsl:if>
|
|
14079
|
+
|
|
14080
|
+
<xsl:if test="ancestor::mn:td or ancestor::mn:th">
|
|
14081
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
14082
|
+
</xsl:if>
|
|
14083
|
+
|
|
14084
|
+
<xsl:if test="parent::mn:dd">
|
|
14085
|
+
<xsl:attribute name="margin-bottom">5pt</xsl:attribute>
|
|
14086
|
+
</xsl:if>
|
|
14087
|
+
|
|
14088
|
+
<xsl:if test="parent::mn:dd and ancestor::mn:dl[@key = 'true'] and (ancestor::mn:tfoot or ancestor::mn:figure)">
|
|
14089
|
+
<xsl:attribute name="margin-bottom">2pt</xsl:attribute>
|
|
14090
|
+
</xsl:if>
|
|
14091
|
+
|
|
14092
|
+
<xsl:if test="parent::mn:clause[@type = 'inner-cover-note'] or ancestor::mn:boilerplate">
|
|
14093
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
14094
|
+
</xsl:if>
|
|
14095
|
+
|
|
14096
|
+
<xsl:if test="parent::mn:note and not(following-sibling::*)">
|
|
14097
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
14098
|
+
</xsl:if>
|
|
14099
|
+
|
|
14100
|
+
<xsl:if test="(ancestor::*[local-name() = 'td' or local-name() = 'th']) and (.//*[local-name() = 'font_en' or local-name() = 'font_en_bold'])">
|
|
14101
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
|
14102
|
+
<xsl:attribute name="language">en</xsl:attribute>
|
|
14103
|
+
<xsl:attribute name="hyphenate">true</xsl:attribute>
|
|
14104
|
+
</xsl:if>
|
|
14105
|
+
</xsl:if>
|
|
14106
|
+
|
|
14107
|
+
<xsl:if test="ancestor::mn:note[@type = 'units']">
|
|
14108
|
+
<xsl:attribute name="text-align">right</xsl:attribute>
|
|
14109
|
+
</xsl:if>
|
|
14110
|
+
|
|
14111
|
+
<!-- paragraph in table or figure footer -->
|
|
14112
|
+
<xsl:if test="parent::mn:table or parent::mn:figure or (ancestor::mn:tfoot and ancestor::mn:td[1]/@colspan and not(parent::mn:dd))">
|
|
14113
|
+
<xsl:attribute name="margin-left"><xsl:value-of select="$tableAnnotationIndent"/></xsl:attribute>
|
|
14114
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
14115
|
+
</xsl:if>
|
|
14116
|
+
<!-- namespace = 'plateau' -->
|
|
14117
|
+
|
|
14118
|
+
</xsl:template> <!-- refine_p-style -->
|
|
14119
|
+
|
|
14120
|
+
<xsl:attribute-set name="title-style">
|
|
14121
|
+
<!-- Note: font-size for level 1 title -->
|
|
14122
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
|
14123
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
|
14124
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
|
14125
|
+
<xsl:attribute name="space-before">0mm</xsl:attribute>
|
|
14126
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
|
14127
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
|
14128
|
+
</xsl:attribute-set> <!-- title-style -->
|
|
14129
|
+
|
|
14130
|
+
<xsl:template name="refine_title-style">
|
|
14131
|
+
<xsl:param name="element-name"/>
|
|
14132
|
+
<xsl:variable name="level">
|
|
14133
|
+
<xsl:call-template name="getLevel"/>
|
|
14134
|
+
</xsl:variable>
|
|
14135
|
+
<!-- <xsl:attribute name="font-size">10pt</xsl:attribute> -->
|
|
14136
|
+
<xsl:if test="ancestor::mn:sections">
|
|
14137
|
+
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
|
14138
|
+
</xsl:if>
|
|
14139
|
+
<xsl:if test="ancestor::mn:annex">
|
|
14140
|
+
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
|
14141
|
+
</xsl:if>
|
|
14142
|
+
|
|
14143
|
+
<xsl:if test="@inline-header = 'true'">
|
|
14144
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
|
14145
|
+
</xsl:if>
|
|
14146
|
+
|
|
14147
|
+
<xsl:if test="@type = 'section-title'">
|
|
14148
|
+
<xsl:attribute name="margin-bottom">6mm</xsl:attribute>
|
|
14149
|
+
</xsl:if>
|
|
14150
|
+
|
|
14151
|
+
<xsl:if test="$level = 1">
|
|
14152
|
+
<xsl:if test="not(ancestor::mn:preface)">
|
|
14153
|
+
<xsl:attribute name="space-before">6.5mm</xsl:attribute>
|
|
14154
|
+
</xsl:if>
|
|
14155
|
+
<xsl:if test="following-sibling::*[1][self::mn:clause]">
|
|
14156
|
+
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
|
14157
|
+
</xsl:if>
|
|
14158
|
+
<xsl:if test="ancestor::mn:foreword">
|
|
14159
|
+
<xsl:attribute name="text-align">center</xsl:attribute>
|
|
14160
|
+
<xsl:attribute name="space-before">9mm</xsl:attribute>
|
|
14161
|
+
<xsl:attribute name="margin-bottom">9mm</xsl:attribute>
|
|
14162
|
+
</xsl:if>
|
|
14163
|
+
<xsl:if test="ancestor::mn:annex">
|
|
14164
|
+
<xsl:attribute name="font-size">14pt</xsl:attribute>
|
|
14165
|
+
<xsl:attribute name="text-align">center</xsl:attribute>
|
|
14166
|
+
<xsl:attribute name="space-before">0mm</xsl:attribute>
|
|
14167
|
+
</xsl:if>
|
|
14168
|
+
<xsl:if test="$doctype = 'technical-report'">
|
|
14169
|
+
<xsl:attribute name="font-size">16pt</xsl:attribute>
|
|
14170
|
+
</xsl:if>
|
|
14171
|
+
</xsl:if>
|
|
14172
|
+
<xsl:if test="$level >= 2">
|
|
14173
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
|
14174
|
+
</xsl:if>
|
|
14175
|
+
<xsl:if test="$level = 2">
|
|
14176
|
+
<xsl:attribute name="space-before">2mm</xsl:attribute>
|
|
14177
|
+
<xsl:if test="ancestor::mn:foreword">
|
|
14178
|
+
<xsl:attribute name="space-before">0mm</xsl:attribute>
|
|
14179
|
+
</xsl:if>
|
|
14180
|
+
<xsl:if test="ancestor::mn:bibliography">
|
|
14181
|
+
<xsl:attribute name="space-before">0mm</xsl:attribute>
|
|
14182
|
+
</xsl:if>
|
|
14183
|
+
|
|
14184
|
+
<xsl:if test="following-sibling::*[1][self::mn:clause]">
|
|
14185
|
+
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
|
14186
|
+
</xsl:if>
|
|
14187
|
+
|
|
14188
|
+
<xsl:if test="$doctype = 'technical-report'">
|
|
14189
|
+
<xsl:attribute name="font-size">14pt</xsl:attribute>
|
|
14190
|
+
<xsl:attribute name="background-color">rgb(229,229,229)</xsl:attribute>
|
|
14191
|
+
<xsl:attribute name="padding-top">2mm</xsl:attribute>
|
|
14192
|
+
<xsl:attribute name="padding-bottom">2mm</xsl:attribute>
|
|
14193
|
+
<xsl:if test="preceding-sibling::*[2][self::mn:fmt-title]">
|
|
14194
|
+
<xsl:attribute name="space-before">0mm</xsl:attribute>
|
|
14195
|
+
</xsl:if>
|
|
14196
|
+
</xsl:if>
|
|
14197
|
+
</xsl:if>
|
|
14198
|
+
<xsl:if test="$level = 3">
|
|
14199
|
+
<xsl:attribute name="space-before">2mm</xsl:attribute>
|
|
14200
|
+
<xsl:if test="$doctype = 'technical-report'">
|
|
14201
|
+
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
|
14202
|
+
<xsl:attribute name="background-color">rgb(204,204,204)</xsl:attribute>
|
|
14203
|
+
<xsl:if test="preceding-sibling::*[2][self::mn:fmt-title]">
|
|
14204
|
+
<xsl:attribute name="space-before">0mm</xsl:attribute>
|
|
14205
|
+
</xsl:if>
|
|
14206
|
+
</xsl:if>
|
|
14207
|
+
</xsl:if>
|
|
14208
|
+
<xsl:if test="$level >= 4">
|
|
14209
|
+
<xsl:attribute name="space-before">2mm</xsl:attribute>
|
|
14210
|
+
<xsl:if test="$doctype = 'technical-report'">
|
|
14211
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
|
14212
|
+
</xsl:if>
|
|
14213
|
+
</xsl:if>
|
|
14214
|
+
|
|
14215
|
+
<xsl:if test="ancestor::mn:preface">
|
|
14216
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
|
14217
|
+
</xsl:if>
|
|
14218
|
+
|
|
14219
|
+
<xsl:if test="$doctype = 'technical-report'">
|
|
14220
|
+
<xsl:if test="following-sibling::*[1][self::mn:clause]">
|
|
14221
|
+
<xsl:attribute name="margin-bottom">0</xsl:attribute>
|
|
14222
|
+
</xsl:if>
|
|
14223
|
+
<xsl:if test="following-sibling::*[1][self::mn:p]">
|
|
14224
|
+
<xsl:attribute name="margin-bottom">16pt</xsl:attribute>
|
|
14225
|
+
</xsl:if>
|
|
14226
|
+
</xsl:if>
|
|
14227
|
+
|
|
14228
|
+
<xsl:if test="@type = 'floating-title' or @type = 'section-title'">
|
|
14229
|
+
<xsl:copy-of select="@id"/>
|
|
14230
|
+
</xsl:if>
|
|
14231
|
+
<!-- $namespace = 'plateau' -->
|
|
14232
|
+
<xsl:attribute name="role">H<xsl:value-of select="$level"/></xsl:attribute>
|
|
14233
|
+
</xsl:template> <!-- refine_title-style -->
|
|
14234
|
+
|
|
14165
14235
|
<xsl:template name="processPrefaceSectionsDefault">
|
|
14166
14236
|
<xsl:for-each select="/*/mn:preface/*[not(self::mn:note or self::mn:admonition)]">
|
|
14167
14237
|
<xsl:sort select="@displayorder" data-type="number"/>
|
|
@@ -14500,6 +14570,12 @@
|
|
|
14500
14570
|
</xsl:choose>
|
|
14501
14571
|
</xsl:template>
|
|
14502
14572
|
|
|
14573
|
+
<xsl:attribute-set name="reset-margins-style">
|
|
14574
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
|
14575
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
|
14576
|
+
<xsl:attribute name="role">SKIP</xsl:attribute>
|
|
14577
|
+
</xsl:attribute-set>
|
|
14578
|
+
|
|
14503
14579
|
<xsl:attribute-set name="clause-style">
|
|
14504
14580
|
|
|
14505
14581
|
</xsl:attribute-set>
|
|
@@ -15535,8 +15611,9 @@
|
|
|
15535
15611
|
|
|
15536
15612
|
<xsl:template name="setTextAlignment">
|
|
15537
15613
|
<xsl:param name="default">left</xsl:param>
|
|
15614
|
+
<xsl:param name="skip_default">false</xsl:param>
|
|
15538
15615
|
<xsl:variable name="align" select="normalize-space(@align)"/>
|
|
15539
|
-
<xsl:
|
|
15616
|
+
<xsl:variable name="text_align">
|
|
15540
15617
|
<xsl:choose>
|
|
15541
15618
|
<xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
|
|
15542
15619
|
<xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
|
|
@@ -15544,9 +15621,13 @@
|
|
|
15544
15621
|
<xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
|
|
15545
15622
|
<xsl:when test="ancestor::mn:td/@align"><xsl:value-of select="ancestor::mn:td/@align"/></xsl:when>
|
|
15546
15623
|
<xsl:when test="ancestor::mn:th/@align"><xsl:value-of select="ancestor::mn:th/@align"/></xsl:when>
|
|
15624
|
+
<xsl:when test="$skip_default = 'true'"/>
|
|
15547
15625
|
<xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
|
|
15548
15626
|
</xsl:choose>
|
|
15549
|
-
</xsl:
|
|
15627
|
+
</xsl:variable>
|
|
15628
|
+
<xsl:if test="normalize-space($text_align) != ''">
|
|
15629
|
+
<xsl:attribute name="text-align"><xsl:value-of select="$text_align"/></xsl:attribute>
|
|
15630
|
+
</xsl:if>
|
|
15550
15631
|
<xsl:if test="$align = 'indent'">
|
|
15551
15632
|
<xsl:attribute name="margin-left">7mm</xsl:attribute>
|
|
15552
15633
|
</xsl:if>
|
|
@@ -15554,8 +15635,10 @@
|
|
|
15554
15635
|
|
|
15555
15636
|
<xsl:template name="setBlockAttributes">
|
|
15556
15637
|
<xsl:param name="text_align_default">left</xsl:param>
|
|
15638
|
+
<xsl:param name="skip_text_align_default">false</xsl:param>
|
|
15557
15639
|
<xsl:call-template name="setTextAlignment">
|
|
15558
15640
|
<xsl:with-param name="default" select="$text_align_default"/>
|
|
15641
|
+
<xsl:with-param name="skip_default" select="$skip_text_align_default"/>
|
|
15559
15642
|
</xsl:call-template>
|
|
15560
15643
|
<xsl:call-template name="setKeepAttributes"/>
|
|
15561
15644
|
<xsl:if test="node()[1][self::mn:span][contains(@style, 'line-height')]">
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require_relative "init"
|
|
2
|
+
require_relative "../../relaton/render-plateau/general"
|
|
2
3
|
|
|
3
4
|
module IsoDoc
|
|
4
5
|
module Plateau
|
|
@@ -98,6 +99,36 @@ module IsoDoc
|
|
|
98
99
|
end
|
|
99
100
|
end
|
|
100
101
|
|
|
102
|
+
def anchor_linkend(node, linkend)
|
|
103
|
+
title_fallback_docid?(node) and
|
|
104
|
+
node["style"] ||= "title"
|
|
105
|
+
super
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# if we are falling back to a title identifier for citation,
|
|
109
|
+
# cite title-style, which gives us title marks
|
|
110
|
+
def title_fallback_docid?(elem)
|
|
111
|
+
sem_xml_descendant?(elem) and return
|
|
112
|
+
id = elem["bibitemid"] or return
|
|
113
|
+
b = @bibitem_lookup[id] or return
|
|
114
|
+
x = <<~XPATH
|
|
115
|
+
./docidentifier[not(#{SKIP_DOCID} or @scope = 'biblio-tag' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type='title')]
|
|
116
|
+
XPATH
|
|
117
|
+
!b.at(ns(x)) && b.at(ns("./docidentifier[@type='title']"))
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def termsource_join_delim(_elem)
|
|
121
|
+
@lang == "ja" ? "/" : "/"
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def source_join_delim(_elem)
|
|
125
|
+
@lang == "ja" ? "/" : "/"
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def termsource_mod_text_delim(_elem)
|
|
129
|
+
@lang == "ja" ? "、" : ", "
|
|
130
|
+
end
|
|
131
|
+
|
|
101
132
|
include Init
|
|
102
133
|
end
|
|
103
134
|
end
|
|
@@ -39,8 +39,7 @@ module Metanorma
|
|
|
39
39
|
|
|
40
40
|
def doctype_validate(_xmldoc)
|
|
41
41
|
%w(handbook technical-report annex).include? @doctype or
|
|
42
|
-
@log.add("
|
|
43
|
-
"#{@doctype} is not a recognised document type")
|
|
42
|
+
@log.add("PLATEAU_1", nil, params: [@doctype])
|
|
44
43
|
end
|
|
45
44
|
|
|
46
45
|
def metadata_id(node, xml)
|
|
@@ -100,3 +99,5 @@ module Metanorma
|
|
|
100
99
|
end
|
|
101
100
|
end
|
|
102
101
|
end
|
|
102
|
+
|
|
103
|
+
require_relative "log"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Metanorma
|
|
2
|
+
module Plateau
|
|
3
|
+
class Converter
|
|
4
|
+
PLATEAU_LOG_MESSAGES = {
|
|
5
|
+
# rubocop:disable Naming/VariableNumber
|
|
6
|
+
"PLATEAU_1": { category: "Document Attributes",
|
|
7
|
+
error: "%s is not a recognised document type",
|
|
8
|
+
severity: 2 },
|
|
9
|
+
}.freeze
|
|
10
|
+
# rubocop:enable Naming/VariableNumber
|
|
11
|
+
|
|
12
|
+
def log_messages
|
|
13
|
+
super.merge(PLATEAU_LOG_MESSAGES)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
require "relaton-render"
|
|
2
|
+
require "metanorma-jis"
|
|
3
|
+
require_relative "citations"
|
|
4
|
+
require_relative "i18n"
|
|
5
|
+
require "isodoc-i18n"
|
|
6
|
+
require_relative "../../isodoc/plateau/i18n"
|
|
7
|
+
|
|
8
|
+
module Relaton
|
|
9
|
+
module Render
|
|
10
|
+
module Plateau
|
|
11
|
+
class General < ::Relaton::Render::Jis::General
|
|
12
|
+
def initialize(opt = {})
|
|
13
|
+
i18n = opt[:i18n] ||
|
|
14
|
+
i18n_klass(language: opt[:language], script: opt[:script],
|
|
15
|
+
locale: opt[:locale], i18nhash: opt[:i18nhash])
|
|
16
|
+
opt["i18n_multi"] = {
|
|
17
|
+
en: i18n_config("en", i18n),
|
|
18
|
+
ja: i18n_config("ja", i18n),
|
|
19
|
+
}
|
|
20
|
+
super
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def klass_initialize(_options)
|
|
24
|
+
super
|
|
25
|
+
@i18nklass = Relaton::Render::Plateau::I18n
|
|
26
|
+
@citeklass = Relaton::Render::Plateau::Citations
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def deep_clone(obj)
|
|
30
|
+
Marshal.load(Marshal.dump(obj))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def citation_renderers
|
|
34
|
+
{ en: bibrenderer_lang("en", deep_clone(@config)),
|
|
35
|
+
ja: bibrenderer_lang("ja", deep_clone(@config)) }
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
SWITCH_PUNCT_KEYS =
|
|
39
|
+
%w(open-title close-title open-secondary-title close-secondary-title
|
|
40
|
+
biblio-field-delimiter comma).freeze
|
|
41
|
+
|
|
42
|
+
# cit_i18n is citation lang i18n
|
|
43
|
+
# @i18n is document lang i18n
|
|
44
|
+
# return merger of the two
|
|
45
|
+
# KILL
|
|
46
|
+
def bibrenderer_lang_config(lang)
|
|
47
|
+
script = lang == "ja" ? "Jpan" : "Latn"
|
|
48
|
+
cit_i18n = ::IsoDoc::Plateau::I18n.new(lang, script).get
|
|
49
|
+
i18n = deep_clone(@i18n.get)
|
|
50
|
+
SWITCH_PUNCT_KEYS.each { |k| i18n["punct"][k] = cit_i18n["punct"][k] }
|
|
51
|
+
# keep Latin punct half-width in Japanese context
|
|
52
|
+
lang == "en" and
|
|
53
|
+
i18n["punct"]["biblio-field-delimiter"] = "<esc>.</esc> "
|
|
54
|
+
i18n
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# cit_i18n is citation lang i18n
|
|
58
|
+
# i18n is document lang i18n
|
|
59
|
+
# return customised merger of the two
|
|
60
|
+
def i18n_config(lang, i18n)
|
|
61
|
+
script = lang == "ja" ? "Jpan" : "Latn"
|
|
62
|
+
cit_i18n = ::IsoDoc::Plateau::I18n.new(lang, script)
|
|
63
|
+
i18n = deep_clone(i18n)
|
|
64
|
+
punct = i18n.get["punct"]
|
|
65
|
+
SWITCH_PUNCT_KEYS.each { |k| punct[k] = cit_i18n.get["punct"][k] }
|
|
66
|
+
# keep Latin punct half-width in Japanese context
|
|
67
|
+
lang == "en" and
|
|
68
|
+
punct["biblio-field-delimiter"] = "<esc>.</esc> "
|
|
69
|
+
i18n.set("punct", punct)
|
|
70
|
+
i18n.set("author_and", cit_i18n.get["author_and"])
|
|
71
|
+
i18n
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def bibrenderer_lang(lang, options)
|
|
75
|
+
yaml, script = bibrenderer_lang_prep(lang)
|
|
76
|
+
# i18n = bibrenderer_lang_config(lang)
|
|
77
|
+
i18n = i18n_config(lang, @i18n.config[@lang]).get
|
|
78
|
+
::Relaton::Render::Plateau::General.new(options
|
|
79
|
+
.deep_merge(yaml)
|
|
80
|
+
.merge(language: lang, script: script, i18nhash: i18n))
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def bibrenderer_lang_prep(lang)
|
|
84
|
+
yaml = YAML.load_file(File.join(File.dirname(__FILE__),
|
|
85
|
+
"config-#{lang}.yml"))
|
|
86
|
+
script = lang == "ja" ? "Jpan" : "Latn"
|
|
87
|
+
[yaml, script]
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Relaton
|
|
2
|
+
module Render
|
|
3
|
+
module Plateau
|
|
4
|
+
class I18n < ::Relaton::Render::I18n
|
|
5
|
+
def initialize(opt)
|
|
6
|
+
super
|
|
7
|
+
#require "debug"; binding.b
|
|
8
|
+
@lang = opt["language"]
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def select_default
|
|
12
|
+
@i18n[@lang]
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def select_obj(obj)
|
|
16
|
+
@i18n[obj[:language]]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/metanorma-plateau.gemspec
CHANGED
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.test_files = `git ls-files -- {spec}/*`.split("\n")
|
|
30
30
|
spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
|
|
31
31
|
|
|
32
|
-
spec.add_dependency "metanorma-jis", "~> 0.
|
|
32
|
+
spec.add_dependency "metanorma-jis", "~> 1.0.0"
|
|
33
33
|
spec.add_dependency "pubid"
|
|
34
34
|
|
|
35
35
|
spec.add_development_dependency "debug"
|
|
@@ -40,10 +40,11 @@ Gem::Specification.new do |spec|
|
|
|
40
40
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
41
41
|
spec.add_development_dependency "rspec", "~> 3.6"
|
|
42
42
|
spec.add_development_dependency "rubocop", "~> 1"
|
|
43
|
-
spec.add_development_dependency "rubocop-performance"
|
|
43
|
+
spec.add_development_dependency "rubocop-performance"
|
|
44
44
|
spec.add_development_dependency "sassc-embedded", "~> 1"
|
|
45
45
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
|
46
46
|
spec.add_development_dependency "timecop", "~> 0.9"
|
|
47
47
|
spec.add_development_dependency "webmock"
|
|
48
|
+
spec.add_development_dependency "openssl"
|
|
48
49
|
spec.add_development_dependency "canon", "= 0.1.3"
|
|
49
50
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metanorma-plateau
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1
|
|
4
|
+
version: 1.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-11-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: metanorma-jis
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.
|
|
19
|
+
version: 1.0.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.
|
|
26
|
+
version: 1.0.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: pubid
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -220,6 +220,20 @@ dependencies:
|
|
|
220
220
|
- - ">="
|
|
221
221
|
- !ruby/object:Gem::Version
|
|
222
222
|
version: '0'
|
|
223
|
+
- !ruby/object:Gem::Dependency
|
|
224
|
+
name: openssl
|
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
|
226
|
+
requirements:
|
|
227
|
+
- - ">="
|
|
228
|
+
- !ruby/object:Gem::Version
|
|
229
|
+
version: '0'
|
|
230
|
+
type: :development
|
|
231
|
+
prerelease: false
|
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
233
|
+
requirements:
|
|
234
|
+
- - ">="
|
|
235
|
+
- !ruby/object:Gem::Version
|
|
236
|
+
version: '0'
|
|
223
237
|
- !ruby/object:Gem::Dependency
|
|
224
238
|
name: canon
|
|
225
239
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -271,11 +285,17 @@ files:
|
|
|
271
285
|
- lib/metanorma/plateau/isodoc.rng
|
|
272
286
|
- lib/metanorma/plateau/isostandard.rng
|
|
273
287
|
- lib/metanorma/plateau/jis.rng
|
|
288
|
+
- lib/metanorma/plateau/log.rb
|
|
274
289
|
- lib/metanorma/plateau/plateau.rng
|
|
275
290
|
- lib/metanorma/plateau/processor.rb
|
|
276
291
|
- lib/metanorma/plateau/relaton-jis.rng
|
|
277
292
|
- lib/metanorma/plateau/reqt.rng
|
|
278
293
|
- lib/metanorma/plateau/version.rb
|
|
294
|
+
- lib/relaton/render-plateau/citations.rb
|
|
295
|
+
- lib/relaton/render-plateau/config-en.yml
|
|
296
|
+
- lib/relaton/render-plateau/config-ja.yml
|
|
297
|
+
- lib/relaton/render-plateau/general.rb
|
|
298
|
+
- lib/relaton/render-plateau/i18n.rb
|
|
279
299
|
- metanorma-plateau.gemspec
|
|
280
300
|
homepage: https://github.com/metanorma/metanorma-plateau
|
|
281
301
|
licenses:
|