metanorma-jis 0.0.9 → 0.1.0
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/base_convert.rb +13 -102
- data/lib/isodoc/jis/html/style-human.css +15 -11
- data/lib/isodoc/jis/html/style-human.scss +8 -8
- data/lib/isodoc/jis/html/style-iso.css +26 -22
- data/lib/isodoc/jis/html/style-iso.scss +19 -19
- data/lib/isodoc/jis/jis.international-standard.xsl +262 -67
- data/lib/isodoc/jis/presentation_xml_convert.rb +70 -1
- data/lib/isodoc/jis/word_convert.rb +22 -56
- data/lib/metanorma/jis/isodoc.rng +26 -4
- data/lib/metanorma/jis/version.rb +1 -1
- data/metanorma-jis.gemspec +1 -1
- metadata +4 -4
@@ -459,7 +459,7 @@
|
|
459
459
|
|
460
460
|
<fo:flow flow-name="xsl-region-body">
|
461
461
|
|
462
|
-
<xsl:if test="position() = 1">
|
462
|
+
<!-- <xsl:if test="position() = 1">
|
463
463
|
<fo:table table-layout="fixed" width="100%">
|
464
464
|
<fo:table-column column-width="proportional-column-width(35)"/>
|
465
465
|
<fo:table-column column-width="proportional-column-width(97)"/>
|
@@ -467,14 +467,14 @@
|
|
467
467
|
<fo:table-column column-width="proportional-column-width(12)"/>
|
468
468
|
<fo:table-body>
|
469
469
|
<fo:table-row>
|
470
|
-
<fo:table-cell><fo:block
|
470
|
+
<fo:table-cell><fo:block></fo:block></fo:table-cell>
|
471
471
|
<fo:table-cell font-family="IPAexGothic" font-size="14pt" text-align="center">
|
472
472
|
<fo:block>
|
473
473
|
<xsl:call-template name="getLocalizedString">
|
474
474
|
<xsl:with-param name="key">doctype_dict.<xsl:value-of select="$doctype"/></xsl:with-param>
|
475
475
|
</xsl:call-template>
|
476
476
|
</fo:block>
|
477
|
-
|
477
|
+
</fo:table-cell>
|
478
478
|
<fo:table-cell text-align="right">
|
479
479
|
<fo:block font-family="Arial" font-size="16pt">
|
480
480
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($docnumber), '^(JIS)(.*)', '$1')"/>
|
@@ -489,29 +489,29 @@
|
|
489
489
|
</fo:inline>
|
490
490
|
</fo:block>
|
491
491
|
</fo:table-cell>
|
492
|
-
|
492
|
+
|
493
493
|
</fo:table-row>
|
494
494
|
</fo:table-body>
|
495
495
|
</fo:table>
|
496
|
-
|
496
|
+
|
497
497
|
<fo:block font-family="IPAexGothic" font-size="19pt" text-align="center" margin-top="12mm" margin-bottom="4mm"><xsl:value-of select="$title_ja"/></fo:block>
|
498
498
|
<fo:block font-family="Arial" font-size="13pt" text-align="center" margin-bottom="10mm"><xsl:value-of select="$title_en"/></fo:block>
|
499
|
-
|
500
|
-
</xsl:if>
|
499
|
+
|
500
|
+
</xsl:if> -->
|
501
501
|
|
502
502
|
<!-- Annex Commentary first page -->
|
503
|
-
<xsl:if test="$isCommentary = 'true'">
|
503
|
+
<!-- <xsl:if test="$isCommentary = 'true'"> -->
|
504
504
|
|
505
505
|
<!-- Example: JIS Z 8301:2019 -->
|
506
|
-
<fo:block font-family="IPAexGothic" font-size="15pt" text-align="center">
|
506
|
+
<!-- <fo:block font-family="IPAexGothic" font-size="15pt" text-align="center">
|
507
507
|
<fo:inline font-family="Arial">JIS <xsl:value-of select="$docidentifier_number"/></fo:inline>
|
508
508
|
<fo:inline baseline-shift="10%"><fo:inline font-size="10pt">:</fo:inline>
|
509
509
|
<fo:inline font-family="Times New Roman" font-size="10pt"><xsl:value-of select="$docidentifier_year"/></fo:inline></fo:inline>
|
510
|
-
</fo:block>
|
510
|
+
</fo:block> -->
|
511
511
|
|
512
512
|
<!-- title -->
|
513
|
-
<fo:block role="H1" font-family="IPAexGothic" font-size="16pt" text-align="center" margin-top="6mm"><xsl:value-of select="$title_ja"/></fo:block>
|
514
|
-
</xsl:if>
|
513
|
+
<!-- <fo:block role="H1" font-family="IPAexGothic" font-size="16pt" text-align="center" margin-top="6mm"><xsl:value-of select="$title_ja"/></fo:block> -->
|
514
|
+
<!-- </xsl:if> -->
|
515
515
|
|
516
516
|
<xsl:apply-templates select="*" mode="page"/>
|
517
517
|
|
@@ -704,6 +704,129 @@
|
|
704
704
|
</fo:page-sequence>
|
705
705
|
</xsl:template> <!-- insertInnerCoverPage -->
|
706
706
|
|
707
|
+
<xsl:template match="jis:p[@class = 'JapaneseIndustrialStandard']" priority="4">
|
708
|
+
<fo:table table-layout="fixed" width="100%">
|
709
|
+
<fo:table-column column-width="proportional-column-width(36)"/>
|
710
|
+
<fo:table-column column-width="proportional-column-width(92)"/>
|
711
|
+
<fo:table-column column-width="proportional-column-width(36)"/>
|
712
|
+
<fo:table-body>
|
713
|
+
<fo:table-row>
|
714
|
+
<fo:table-cell>
|
715
|
+
<fo:block> </fo:block>
|
716
|
+
</fo:table-cell>
|
717
|
+
<fo:table-cell font-family="IPAexGothic" font-size="14pt" text-align="center">
|
718
|
+
<fo:block><xsl:apply-templates/></fo:block>
|
719
|
+
</fo:table-cell>
|
720
|
+
<fo:table-cell padding-left="5mm">
|
721
|
+
<fo:block font-family="Arial" font-size="16pt">
|
722
|
+
<xsl:apply-templates select="jis:span[@class = 'JIS']">
|
723
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
724
|
+
</xsl:apply-templates>
|
725
|
+
</fo:block>
|
726
|
+
</fo:table-cell>
|
727
|
+
</fo:table-row>
|
728
|
+
</fo:table-body>
|
729
|
+
</fo:table>
|
730
|
+
</xsl:template>
|
731
|
+
|
732
|
+
<xsl:template match="jis:p[@class = 'StandardNumber']" priority="4">
|
733
|
+
<fo:table table-layout="fixed" width="100%">
|
734
|
+
<fo:table-column column-width="proportional-column-width(36)"/>
|
735
|
+
<fo:table-column column-width="proportional-column-width(92)"/>
|
736
|
+
<fo:table-column column-width="proportional-column-width(36)"/>
|
737
|
+
<fo:table-body>
|
738
|
+
<fo:table-row>
|
739
|
+
<fo:table-cell>
|
740
|
+
<fo:block> </fo:block>
|
741
|
+
</fo:table-cell>
|
742
|
+
<fo:table-cell>
|
743
|
+
<fo:block> </fo:block>
|
744
|
+
</fo:table-cell>
|
745
|
+
<fo:table-cell>
|
746
|
+
<fo:block>
|
747
|
+
<xsl:apply-templates/>
|
748
|
+
</fo:block>
|
749
|
+
</fo:table-cell>
|
750
|
+
</fo:table-row>
|
751
|
+
</fo:table-body>
|
752
|
+
</fo:table>
|
753
|
+
</xsl:template>
|
754
|
+
|
755
|
+
<xsl:template match="jis:p[@class = 'StandardNumber']//text()[not(ancestor::jis:span)]" priority="4">
|
756
|
+
<fo:inline font-family="Arial" font-size="16pt">
|
757
|
+
<xsl:choose>
|
758
|
+
<xsl:when test="contains(., ':')">
|
759
|
+
<xsl:value-of select="substring-before(., ':')"/>
|
760
|
+
<fo:inline baseline-shift="10%" font-size="10pt" font-family="IPAexMincho">:</fo:inline>
|
761
|
+
<xsl:value-of select="substring-after(., ':')"/>
|
762
|
+
</xsl:when>
|
763
|
+
<xsl:otherwise>
|
764
|
+
<xsl:value-of select="."/>
|
765
|
+
</xsl:otherwise>
|
766
|
+
</xsl:choose>
|
767
|
+
</fo:inline>
|
768
|
+
</xsl:template>
|
769
|
+
|
770
|
+
<xsl:template match="jis:p[@class = 'StandardNumber']/jis:span[@class = 'EffectiveYear']" priority="4">
|
771
|
+
<fo:inline font-size="10pt" baseline-shift="10%">
|
772
|
+
<fo:inline font-family="Times New Roman"><xsl:apply-templates/></fo:inline>
|
773
|
+
</fo:inline>
|
774
|
+
</xsl:template>
|
775
|
+
|
776
|
+
<xsl:template match="jis:p[@class = 'JapaneseIndustrialStandard']/jis:tab" priority="4"/>
|
777
|
+
<!-- <fo:inline role="SKIP" padding-right="0mm">​</fo:inline>
|
778
|
+
</xsl:template> -->
|
779
|
+
<xsl:template match="jis:p[@class = 'JapaneseIndustrialStandard']/jis:span[@class = 'JIS']" priority="4">
|
780
|
+
<xsl:param name="process">false</xsl:param>
|
781
|
+
<xsl:if test="$process = 'true'">
|
782
|
+
<fo:inline font-size="16pt" font-family="Arial"><xsl:apply-templates/></fo:inline>
|
783
|
+
</xsl:if>
|
784
|
+
</xsl:template>
|
785
|
+
|
786
|
+
<xsl:template match="jis:p[@class = 'zzSTDTitle1']" priority="4">
|
787
|
+
<fo:block font-family="IPAexGothic" font-size="19pt" text-align="center" margin-top="12mm" margin-bottom="4mm">
|
788
|
+
<xsl:apply-templates/>
|
789
|
+
</fo:block>
|
790
|
+
</xsl:template>
|
791
|
+
|
792
|
+
<xsl:template match="jis:p[@class = 'zzSTDTitle2']" priority="4">
|
793
|
+
<fo:block font-family="Arial" font-size="13pt" text-align="center" margin-bottom="10mm">
|
794
|
+
<xsl:apply-templates/>
|
795
|
+
</fo:block>
|
796
|
+
</xsl:template>
|
797
|
+
|
798
|
+
<!-- for commentary annex -->
|
799
|
+
<xsl:template match="jis:p[@class = 'CommentaryStandardNumber']" priority="4">
|
800
|
+
<fo:block font-family="IPAexGothic" font-size="15pt" text-align="center">
|
801
|
+
<xsl:apply-templates/>
|
802
|
+
</fo:block>
|
803
|
+
</xsl:template>
|
804
|
+
|
805
|
+
<xsl:template match="jis:p[@class = 'CommentaryStandardNumber']//text()[not(ancestor::jis:span)]" priority="4">
|
806
|
+
<fo:inline font-family="Arial">
|
807
|
+
<xsl:choose>
|
808
|
+
<xsl:when test="contains(., ':')">
|
809
|
+
<xsl:value-of select="substring-before(., ':')"/>
|
810
|
+
<fo:inline baseline-shift="10%" font-size="10pt" font-family="IPAexMincho">:</fo:inline>
|
811
|
+
<xsl:value-of select="substring-after(., ':')"/>
|
812
|
+
</xsl:when>
|
813
|
+
<xsl:otherwise>
|
814
|
+
<xsl:value-of select="."/>
|
815
|
+
</xsl:otherwise>
|
816
|
+
</xsl:choose>
|
817
|
+
</fo:inline>
|
818
|
+
</xsl:template>
|
819
|
+
|
820
|
+
<xsl:template match="jis:p[@class = 'CommentaryStandardNumber']/jis:span[@class = 'CommentaryEffectiveYear']" priority="4">
|
821
|
+
<fo:inline baseline-shift="10%" font-family="Times New Roman" font-size="10pt"><xsl:apply-templates/></fo:inline>
|
822
|
+
</xsl:template>
|
823
|
+
|
824
|
+
<xsl:template match="jis:p[@class = 'CommentaryStandardName']" priority="4">
|
825
|
+
<fo:block role="H1" font-family="IPAexGothic" font-size="16pt" text-align="center" margin-top="6mm">
|
826
|
+
<xsl:apply-templates/>
|
827
|
+
</fo:block>
|
828
|
+
</xsl:template>
|
829
|
+
|
707
830
|
<!-- ============================= -->
|
708
831
|
<!-- CONTENTS -->
|
709
832
|
<!-- ============================= -->
|
@@ -842,7 +965,7 @@
|
|
842
965
|
<xsl:choose>
|
843
966
|
<xsl:when test="@type = 'section-title'">18pt</xsl:when>
|
844
967
|
<xsl:when test="@ancestor = 'foreword' and $level = '1'">14pt</xsl:when>
|
845
|
-
<xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[
|
968
|
+
<xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[local-name() = 'annex'][1][@commentary = 'true']">16pt</xsl:when>
|
846
969
|
<xsl:when test="@ancestor = 'annex' and $level = '1'">14pt</xsl:when>
|
847
970
|
<!-- <xsl:when test="@ancestor = 'foreword' and $level >= '2'">12pt</xsl:when>
|
848
971
|
<xsl:when test=". = 'Executive summary'">18pt</xsl:when>
|
@@ -879,7 +1002,7 @@
|
|
879
1002
|
<xsl:variable name="margin-top">
|
880
1003
|
<xsl:choose>
|
881
1004
|
<xsl:when test="@ancestor = 'foreword' and $level = 1">9mm</xsl:when>
|
882
|
-
<xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[
|
1005
|
+
<xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[local-name() = 'annex'][1][@commentary = 'true']">1mm</xsl:when>
|
883
1006
|
<xsl:when test="$level = 1">6.5mm</xsl:when>
|
884
1007
|
<xsl:when test="@ancestor = 'foreword' and $level = 2">0mm</xsl:when>
|
885
1008
|
<xsl:when test="@ancestor = 'annex' and $level = 2">4.5mm</xsl:when>
|
@@ -900,7 +1023,7 @@
|
|
900
1023
|
<xsl:variable name="margin-bottom">
|
901
1024
|
<xsl:choose>
|
902
1025
|
<xsl:when test="@ancestor = 'foreword' and $level = 1">9mm</xsl:when>
|
903
|
-
<xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[
|
1026
|
+
<xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[local-name() = 'annex'][1][@commentary = 'true']">7mm</xsl:when>
|
904
1027
|
<xsl:when test="$level = 1 and following-sibling::jis:clause">8pt</xsl:when>
|
905
1028
|
<xsl:when test="$level = 1">12pt</xsl:when>
|
906
1029
|
<xsl:when test="$level = 2 and following-sibling::jis:clause">8pt</xsl:when>
|
@@ -1167,6 +1290,46 @@
|
|
1167
1290
|
</xsl:if>
|
1168
1291
|
</xsl:template>
|
1169
1292
|
|
1293
|
+
<xsl:template match="*[local-name() = 'span'][@class = 'surname' or @class = 'givenname' or @class = 'JIS' or @class = 'EffectiveYear' or @class = 'CommentaryEffectiveYear']" mode="update_xml_step1" priority="2">
|
1294
|
+
<xsl:copy>
|
1295
|
+
<xsl:apply-templates select="@* | node()" mode="update_xml_step1"/>
|
1296
|
+
</xsl:copy>
|
1297
|
+
</xsl:template>
|
1298
|
+
|
1299
|
+
<xsl:template match="jis:clause[@type = 'contributors']//jis:table//jis:span[@class = 'surname']/text()[string-length() < 3]" priority="2">
|
1300
|
+
<xsl:choose>
|
1301
|
+
<xsl:when test="string-length() = 1">
|
1302
|
+
<xsl:value-of select="concat(.,' ')"/>
|
1303
|
+
</xsl:when>
|
1304
|
+
<xsl:when test="string-length() = 2">
|
1305
|
+
<xsl:value-of select="concat(substring(.,1,1), ' ', substring(., 2))"/>
|
1306
|
+
</xsl:when>
|
1307
|
+
</xsl:choose>
|
1308
|
+
<xsl:if test="../following-sibling::node()[1][self::jis:span and @class = 'surname']"> <!-- if no space between surname and given name -->
|
1309
|
+
<xsl:text> </xsl:text>
|
1310
|
+
</xsl:if>
|
1311
|
+
</xsl:template>
|
1312
|
+
|
1313
|
+
<xsl:template match="jis:clause[@type = 'contributors']//jis:table//jis:span[@class = 'givenname']/text()[string-length() < 3]" priority="2">
|
1314
|
+
<xsl:choose>
|
1315
|
+
<xsl:when test="string-length() = 1">
|
1316
|
+
<xsl:value-of select="concat(' ', .)"/>
|
1317
|
+
</xsl:when>
|
1318
|
+
<xsl:when test="string-length() = 2">
|
1319
|
+
<xsl:value-of select="concat(substring(.,1,1), ' ', substring(., 2))"/>
|
1320
|
+
</xsl:when>
|
1321
|
+
<xsl:otherwise>
|
1322
|
+
<xsl:value-of select="."/>
|
1323
|
+
</xsl:otherwise>
|
1324
|
+
</xsl:choose>
|
1325
|
+
</xsl:template>
|
1326
|
+
|
1327
|
+
<!-- space between surname and givenname replace by 'ideographic space' -->
|
1328
|
+
<!-- and following-sibling::node()[1][self::jis:span and @class = 'givenname'] -->
|
1329
|
+
<xsl:template match="jis:clause[@type = 'contributors']//jis:table//node()[preceding-sibling::node()[1][self::jis:span and @class = 'surname']][. = ' ']" priority="2">
|
1330
|
+
<xsl:text> </xsl:text>
|
1331
|
+
</xsl:template>
|
1332
|
+
|
1170
1333
|
<xsl:template name="makePagedXML">
|
1171
1334
|
<xsl:param name="structured_xml"/>
|
1172
1335
|
<xsl:choose>
|
@@ -1330,7 +1493,10 @@
|
|
1330
1493
|
|
1331
1494
|
<xsl:template match="*[local-name() = 'font_en'][normalize-space() != '']">
|
1332
1495
|
<xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
1333
|
-
<fo:inline
|
1496
|
+
<fo:inline>
|
1497
|
+
<xsl:if test="not(ancestor::jis:p[@class = 'zzSTDTitle2']) and not(ancestor::jis:span[@class = 'JIS'])">
|
1498
|
+
<xsl:attribute name="font-family">Times New Roman</xsl:attribute>
|
1499
|
+
</xsl:if>
|
1334
1500
|
<xsl:if test="ancestor::*[local-name() = 'preferred']">
|
1335
1501
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
1336
1502
|
</xsl:if>
|
@@ -1571,19 +1737,32 @@
|
|
1571
1737
|
<xsl:variable name="titles_">
|
1572
1738
|
|
1573
1739
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
1574
|
-
<title-toc lang="en">
|
1575
|
-
|
1576
|
-
|
1577
|
-
|
1740
|
+
<!-- <title-toc lang="en">
|
1741
|
+
<xsl:if test="$namespace = 'csd' or $namespace = 'ieee' or $namespace = 'iho' or $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'unece-rec'">
|
1742
|
+
<xsl:text>Contents</xsl:text>
|
1743
|
+
</xsl:if>
|
1744
|
+
<xsl:if test="$namespace = 'csa' or $namespace = 'm3d' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper'">
|
1745
|
+
<xsl:text>Table of Contents</xsl:text>
|
1746
|
+
</xsl:if>
|
1747
|
+
<xsl:if test="$namespace = 'gb'">
|
1748
|
+
<xsl:text>Table of contents</xsl:text>
|
1749
|
+
</xsl:if>
|
1750
|
+
</title-toc> -->
|
1751
|
+
<title-toc lang="en">Table of contents</title-toc>
|
1752
|
+
<!-- <title-toc lang="fr">
|
1578
1753
|
<xsl:text>Sommaire</xsl:text>
|
1579
|
-
</title-toc>
|
1580
|
-
<title-toc lang="zh">
|
1581
|
-
|
1754
|
+
</title-toc> -->
|
1755
|
+
<!-- <title-toc lang="zh">
|
1756
|
+
<xsl:choose>
|
1757
|
+
<xsl:when test="$namespace = 'gb'">
|
1758
|
+
<xsl:text>目次</xsl:text>
|
1759
|
+
</xsl:when>
|
1760
|
+
<xsl:otherwise>
|
1582
1761
|
<xsl:text>Contents</xsl:text>
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
<title-
|
1762
|
+
</xsl:otherwise>
|
1763
|
+
</xsl:choose>
|
1764
|
+
</title-toc> -->
|
1765
|
+
<title-toc lang="zh">目次</title-toc>
|
1587
1766
|
|
1588
1767
|
<title-part lang="en">
|
1589
1768
|
|
@@ -1599,20 +1778,6 @@
|
|
1599
1778
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
1600
1779
|
<title-subpart lang="fr">Partie de sub #</title-subpart>
|
1601
1780
|
|
1602
|
-
<title-list-tables lang="en">List of Tables</title-list-tables>
|
1603
|
-
|
1604
|
-
<title-list-figures lang="en">List of Figures</title-list-figures>
|
1605
|
-
|
1606
|
-
<title-table-figures lang="en">Table of Figures</title-table-figures>
|
1607
|
-
|
1608
|
-
<title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
|
1609
|
-
|
1610
|
-
<title-summary lang="en">Summary</title-summary>
|
1611
|
-
|
1612
|
-
<title-continued lang="ru">(продолжение)</title-continued>
|
1613
|
-
<title-continued lang="en">(continued)</title-continued>
|
1614
|
-
<title-continued lang="fr">(continué)</title-continued>
|
1615
|
-
|
1616
1781
|
</xsl:variable>
|
1617
1782
|
<xsl:variable name="titles" select="xalan:nodeset($titles_)"/>
|
1618
1783
|
|
@@ -1620,8 +1785,8 @@
|
|
1620
1785
|
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
1621
1786
|
<xsl:value-of select="$toc_table_title"/>
|
1622
1787
|
<xsl:if test="normalize-space($toc_table_title) = ''">
|
1623
|
-
<xsl:call-template name="
|
1624
|
-
<xsl:with-param name="
|
1788
|
+
<xsl:call-template name="getLocalizedString">
|
1789
|
+
<xsl:with-param name="key">toc_tables</xsl:with-param>
|
1625
1790
|
</xsl:call-template>
|
1626
1791
|
</xsl:if>
|
1627
1792
|
</xsl:variable>
|
@@ -1630,8 +1795,8 @@
|
|
1630
1795
|
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
1631
1796
|
<xsl:value-of select="$toc_figure_title"/>
|
1632
1797
|
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
1633
|
-
<xsl:call-template name="
|
1634
|
-
<xsl:with-param name="
|
1798
|
+
<xsl:call-template name="getLocalizedString">
|
1799
|
+
<xsl:with-param name="key">toc_figures</xsl:with-param>
|
1635
1800
|
</xsl:call-template>
|
1636
1801
|
</xsl:if>
|
1637
1802
|
</xsl:variable>
|
@@ -1640,8 +1805,8 @@
|
|
1640
1805
|
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
1641
1806
|
<xsl:value-of select="$toc_requirement_title"/>
|
1642
1807
|
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
1643
|
-
<xsl:call-template name="
|
1644
|
-
<xsl:with-param name="
|
1808
|
+
<xsl:call-template name="getLocalizedString">
|
1809
|
+
<xsl:with-param name="key">toc_recommendations</xsl:with-param>
|
1645
1810
|
</xsl:call-template>
|
1646
1811
|
</xsl:if>
|
1647
1812
|
</xsl:variable>
|
@@ -5324,6 +5489,9 @@
|
|
5324
5489
|
<!-- END Definition List -->
|
5325
5490
|
<!-- ===================== -->
|
5326
5491
|
|
5492
|
+
<!-- default: ignore title in sections/p -->
|
5493
|
+
<xsl:template match="*[local-name() = 'sections']/*[local-name() = 'p'][starts-with(@class, 'zzSTDTitle')]" priority="3"/>
|
5494
|
+
|
5327
5495
|
<!-- ========================= -->
|
5328
5496
|
<!-- Rich text formatting -->
|
5329
5497
|
<!-- ========================= -->
|
@@ -5401,7 +5569,7 @@
|
|
5401
5569
|
<xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
|
5402
5570
|
<xsl:template match="*[local-name()='tt']/text()" priority="2">
|
5403
5571
|
<xsl:choose>
|
5404
|
-
<xsl:when test="java:replaceAll(java:java.lang.String.new(.),
|
5572
|
+
<xsl:when test="java:replaceAll(java:java.lang.String.new(.), $regex_url_start, '$2') != ''">
|
5405
5573
|
<!-- url -->
|
5406
5574
|
<xsl:call-template name="add-zero-spaces-link-java"/>
|
5407
5575
|
</xsl:when>
|
@@ -5867,10 +6035,13 @@
|
|
5867
6035
|
</xsl:choose>
|
5868
6036
|
</xsl:variable>
|
5869
6037
|
|
6038
|
+
<!-- replace sequence #x200B to one ​ -->
|
6039
|
+
<xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b{2,}', '')"/>
|
6040
|
+
|
5870
6041
|
<!-- replace sequence #x200B and space TO space -->
|
5871
|
-
<xsl:variable name="
|
6042
|
+
<xsl:variable name="text11" select="java:replaceAll(java:java.lang.String.new($text10), '\u200b ', ' ')"/>
|
5872
6043
|
|
5873
|
-
<xsl:value-of select="$
|
6044
|
+
<xsl:value-of select="$text11"/>
|
5874
6045
|
</xsl:template>
|
5875
6046
|
|
5876
6047
|
<xsl:template name="add-zero-spaces-link-java">
|
@@ -5880,8 +6051,12 @@
|
|
5880
6051
|
<xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
|
5881
6052
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space, comma, slash, @ -->
|
5882
6053
|
<xsl:variable name="url" select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/|@)','$1')"/>
|
6054
|
+
|
6055
|
+
<!-- replace sequence #x200B to one ​ -->
|
6056
|
+
<xsl:variable name="url2" select="java:replaceAll(java:java.lang.String.new($url), '\u200b{2,}', '')"/>
|
6057
|
+
|
5883
6058
|
<!-- remove zero-width space at the end -->
|
5884
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($
|
6059
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($url2), '$', '')"/>
|
5885
6060
|
</xsl:template>
|
5886
6061
|
|
5887
6062
|
<!-- add zero space after dash character (for table's entries) -->
|
@@ -7176,12 +7351,12 @@
|
|
7176
7351
|
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
7177
7352
|
<xsl:choose>
|
7178
7353
|
<xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
|
7179
|
-
<fo:inline xsl:use-attribute-sets="note-p-style">
|
7354
|
+
<fo:inline xsl:use-attribute-sets="note-p-style" role="SKIP">
|
7180
7355
|
<xsl:apply-templates/>
|
7181
7356
|
</fo:inline>
|
7182
7357
|
</xsl:when>
|
7183
7358
|
<xsl:otherwise>
|
7184
|
-
<fo:block xsl:use-attribute-sets="note-p-style">
|
7359
|
+
<fo:block xsl:use-attribute-sets="note-p-style" role="SKIP">
|
7185
7360
|
<xsl:apply-templates/>
|
7186
7361
|
</fo:block>
|
7187
7362
|
</xsl:otherwise>
|
@@ -7396,25 +7571,45 @@
|
|
7396
7571
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
7397
7572
|
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
7398
7573
|
|
7399
|
-
<xsl:
|
7400
|
-
<xsl:
|
7401
|
-
<xsl:
|
7402
|
-
|
7403
|
-
|
7404
|
-
</xsl:variable>
|
7574
|
+
<xsl:if test="@width != '' and @width != 'auto'">
|
7575
|
+
<xsl:attribute name="width">
|
7576
|
+
<xsl:value-of select="@width"/>
|
7577
|
+
</xsl:attribute>
|
7578
|
+
</xsl:if>
|
7405
7579
|
|
7406
|
-
<xsl:
|
7580
|
+
<xsl:if test="@height != '' and @height != 'auto'">
|
7581
|
+
<xsl:attribute name="height">
|
7582
|
+
<xsl:value-of select="@height"/>
|
7583
|
+
</xsl:attribute>
|
7584
|
+
</xsl:if>
|
7407
7585
|
|
7408
|
-
|
7586
|
+
<xsl:choose>
|
7587
|
+
<xsl:when test="@width != '' and @width != 'auto' and @height != '' and @height != 'auto'">
|
7588
|
+
<xsl:attribute name="scaling">non-uniform</xsl:attribute>
|
7589
|
+
</xsl:when>
|
7590
|
+
<xsl:otherwise>
|
7409
7591
|
|
7410
|
-
|
7592
|
+
<xsl:variable name="img_src">
|
7593
|
+
<xsl:choose>
|
7594
|
+
<xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
|
7595
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
7596
|
+
</xsl:choose>
|
7597
|
+
</xsl:variable>
|
7411
7598
|
|
7412
|
-
|
7413
|
-
<xsl:if test="number($scale) < 100">
|
7599
|
+
<xsl:variable name="image_width_effective">
|
7414
7600
|
|
7415
|
-
|
7601
|
+
<xsl:value-of select="$width_effective"/>
|
7416
7602
|
|
7417
|
-
|
7603
|
+
</xsl:variable>
|
7604
|
+
|
7605
|
+
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
7606
|
+
<xsl:if test="number($scale) < 100">
|
7607
|
+
|
7608
|
+
<xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
|
7609
|
+
|
7610
|
+
</xsl:if>
|
7611
|
+
</xsl:otherwise>
|
7612
|
+
</xsl:choose>
|
7418
7613
|
|
7419
7614
|
</xsl:if>
|
7420
7615
|
|
@@ -11076,7 +11271,7 @@
|
|
11076
11271
|
<xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
|
11077
11272
|
<xsl:apply-templates mode="update_xml_step1"/>
|
11078
11273
|
</xsl:template>
|
11079
|
-
<xsl:template match="*[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
|
11274
|
+
<xsl:template match="*[local-name() = 'sections']/*[local-name() = 'p'][starts-with(@class, 'zzSTDTitle')]/*[local-name() = 'span'][@class] | *[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
|
11080
11275
|
<xsl:copy>
|
11081
11276
|
<xsl:copy-of select="@*"/>
|
11082
11277
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -135,7 +135,7 @@ module IsoDoc
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def annex1(elem)
|
138
|
-
elem["commentary"] == "true" and return
|
138
|
+
elem["commentary"] == "true" and return commentary(elem)
|
139
139
|
lbl = @xrefs.anchor(elem["id"], :label)
|
140
140
|
if t = elem.at(ns("./title"))
|
141
141
|
t.children = "<strong>#{to_xml(t.children)}</strong>"
|
@@ -157,6 +157,21 @@ module IsoDoc
|
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
160
|
+
def commentary(elem)
|
161
|
+
t = elem.elements.first
|
162
|
+
commentary_title_hdr(t)
|
163
|
+
middle_title_main(t, "CommentaryStandardName")
|
164
|
+
end
|
165
|
+
|
166
|
+
def commentary_title_hdr(elem)
|
167
|
+
ret = <<~COMMENTARY
|
168
|
+
<p class="CommentaryStandardNumber">JIS #{@meta.get[:docnumber_undated]}
|
169
|
+
COMMENTARY
|
170
|
+
yr = @meta.get[:docyear] and
|
171
|
+
ret += ": <span class='CommentaryEffectiveYear'>#{yr}</span>"
|
172
|
+
elem.previous = ret
|
173
|
+
end
|
174
|
+
|
160
175
|
def display_order(docxml)
|
161
176
|
i = 0
|
162
177
|
i = display_order_xpath(docxml, "//preface/*", i)
|
@@ -202,6 +217,60 @@ module IsoDoc
|
|
202
217
|
dest.children.first.next = source
|
203
218
|
end
|
204
219
|
|
220
|
+
def middle_title(docxml)
|
221
|
+
s = docxml.at(ns("//sections")) or return
|
222
|
+
elem = s.children.first
|
223
|
+
middle_title_hdr(elem)
|
224
|
+
middle_title_main(elem, "zzSTDTitle1")
|
225
|
+
middle_subtitle_main(elem)
|
226
|
+
# middle_title_amd(s.children.first)
|
227
|
+
end
|
228
|
+
|
229
|
+
def middle_title_hdr(out)
|
230
|
+
ret = "<p class='JapaneseIndustrialStandard'>#{@i18n.jis}"
|
231
|
+
@meta.get[:unpublished] and ret += @i18n.l10n("(#{@i18n.draft_label})")
|
232
|
+
ret += ("<tab/>" * 7)
|
233
|
+
ret += "<span class='JIS'>JIS</span></p>"
|
234
|
+
ret += "<p class='StandardNumber'><tab/>#{@meta.get[:docnumber_undated]}"
|
235
|
+
if yr = @meta.get[:docyear]
|
236
|
+
ret += ": <span class='EffectiveYear'>#{yr}</span>"
|
237
|
+
end
|
238
|
+
ret += "</p><p class='IDT'/>"
|
239
|
+
out.previous = ret
|
240
|
+
end
|
241
|
+
|
242
|
+
def middle_title_main(out, style)
|
243
|
+
t = @meta.get[:doctitlemain]
|
244
|
+
(t && !t.empty?) or return
|
245
|
+
ret = "<p class='#{style}'>#{@meta.get[:doctitleintro]}"
|
246
|
+
ret += " — " if @meta.get[:doctitleintro] && t
|
247
|
+
ret += t
|
248
|
+
ret += " — " if t && @meta.get[:doctitlepart]
|
249
|
+
ret += "</p>"
|
250
|
+
if a = @meta.get[:doctitlepart]
|
251
|
+
ret += "<p class='zzSTDTitle1'>"
|
252
|
+
b = @meta.get[:doctitlepartlabel] and ret += "#{b}: "
|
253
|
+
ret += "<br/><strong>#{a}</strong></p>"
|
254
|
+
end
|
255
|
+
out.previous = ret
|
256
|
+
end
|
257
|
+
|
258
|
+
def middle_subtitle_main(out)
|
259
|
+
t = @meta.get[:docsubtitlemain]
|
260
|
+
(t && !t.empty?) or return
|
261
|
+
ret = "<p class='zzSTDTitle2'>#{@meta.get[:docsubtitleintro]}"
|
262
|
+
ret += " — " if @meta.get[:docsubtitleintro] && t
|
263
|
+
ret += @meta.get[:docsubtitlemain]
|
264
|
+
ret += " — " if t && @meta.get[:docsubtitlepart]
|
265
|
+
ret += "</p>"
|
266
|
+
if a = @meta.get[:docsubtitlepart]
|
267
|
+
ret += "<p class='zzSTDTitle2'>"
|
268
|
+
b = @meta.get[:docsubtitlepartlabel] and ret += "#{b}: "
|
269
|
+
ret += "<br/><strong>#{a}</strong></p>"
|
270
|
+
end
|
271
|
+
out.previous = ret
|
272
|
+
end
|
273
|
+
|
205
274
|
include Init
|
206
275
|
end
|
207
276
|
end
|