metanorma-iho 1.0.12 → 1.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/iho/iho.specification.xsl +189 -89
- data/lib/isodoc/iho/iho.standard.xsl +189 -89
- data/lib/metanorma/iho/biblio.rng +12 -6
- data/lib/metanorma/iho/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cdfebb993b782a2c17eaf34610fd07f8351425743814f3e57167d7991af5edf
|
4
|
+
data.tar.gz: cde48a080e752f287ce934c1fd8f9786b2cf03dc18e8083fcb310c9e5ca77945
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9018d84334f416d6e26d10ee6b447c37758e401803f76499c1d337bf1e6b26b76a824aeab8854bc3708be49f7778df72ca37375a31e3305f08eb6d594a2df2f
|
7
|
+
data.tar.gz: 5be59f0634e3fbcd8abf2b31c114f47554e6a7a4889a7308510c4852ef903b5b833019f617f3209e3fa0ffaec765a40e45db604f5ae3ee9f135cd3bd7f13b045
|
@@ -227,7 +227,7 @@
|
|
227
227
|
|
228
228
|
<xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to preface/sections -->
|
229
229
|
|
230
|
-
<xsl:for-each select=".//*[local-name() = 'page_sequence'][parent::*[local-name() = 'preface']][normalize-space() != '' or
|
230
|
+
<xsl:for-each select=".//*[local-name() = 'page_sequence'][parent::*[local-name() = 'preface']][normalize-space() != '' or .//*[local-name() = 'image'] or .//*[local-name() = 'svg']]">
|
231
231
|
|
232
232
|
<!-- Preface Pages -->
|
233
233
|
<fo:page-sequence master-reference="preface" format="i">
|
@@ -273,7 +273,7 @@
|
|
273
273
|
<!-- =========================== -->
|
274
274
|
</xsl:for-each>
|
275
275
|
|
276
|
-
<xsl:for-each select=".//*[local-name() = 'page_sequence'][not(parent::*[local-name() = 'preface'])][normalize-space() != '' or
|
276
|
+
<xsl:for-each select=".//*[local-name() = 'page_sequence'][not(parent::*[local-name() = 'preface'])][normalize-space() != '' or .//*[local-name() = 'image'] or .//*[local-name() = 'svg']]">
|
277
277
|
|
278
278
|
<fo:page-sequence master-reference="document" format="1" force-page-count="no-force">
|
279
279
|
|
@@ -883,8 +883,21 @@
|
|
883
883
|
|
884
884
|
<!-- <xsl:strip-space elements="iho:xref"/> -->
|
885
885
|
|
886
|
-
<xsl:variable name="
|
887
|
-
|
886
|
+
<xsl:variable name="namespace_full_">
|
887
|
+
<xsl:choose>
|
888
|
+
<xsl:when test="local-name(/*) = 'metanorma-collection'"><xsl:value-of select="namespace-uri(//*[contains(local-name(), '-standard')][1])"/></xsl:when>
|
889
|
+
<xsl:otherwise><xsl:value-of select="namespace-uri(/*)"/></xsl:otherwise><!-- example: https://www.metanorma.org/ns/iso -->
|
890
|
+
</xsl:choose>
|
891
|
+
</xsl:variable>
|
892
|
+
<xsl:variable name="namespace_full" select="normalize-space($namespace_full_)"/>
|
893
|
+
|
894
|
+
<xsl:variable name="root_element_">
|
895
|
+
<xsl:choose>
|
896
|
+
<xsl:when test="local-name(/*) = 'metanorma-collection'"><xsl:value-of select="local-name(//*[contains(local-name(), '-standard')][1])"/></xsl:when>
|
897
|
+
<xsl:otherwise><xsl:value-of select="local-name(/*)"/></xsl:otherwise><!-- example: iso-standard -->
|
898
|
+
</xsl:choose>
|
899
|
+
</xsl:variable>
|
900
|
+
<xsl:variable name="root_element" select="normalize-space($root_element_)"/>
|
888
901
|
|
889
902
|
<xsl:variable name="document_scheme" select="normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'document-scheme']/*[local-name() = 'value'])"/>
|
890
903
|
|
@@ -4167,7 +4180,9 @@
|
|
4167
4180
|
<fo:block role="SKIP">
|
4168
4181
|
|
4169
4182
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
4170
|
-
|
4183
|
+
|
4184
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
4185
|
+
|
4171
4186
|
</xsl:if>
|
4172
4187
|
|
4173
4188
|
<xsl:apply-templates/>
|
@@ -5192,7 +5207,17 @@
|
|
5192
5207
|
<xsl:call-template name="refine_dt-cell-style"/>
|
5193
5208
|
|
5194
5209
|
<fo:block xsl:use-attribute-sets="dt-block-style" role="SKIP">
|
5195
|
-
|
5210
|
+
|
5211
|
+
<xsl:choose>
|
5212
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
5213
|
+
|
5214
|
+
<xsl:copy-of select="@id"/>
|
5215
|
+
|
5216
|
+
</xsl:when>
|
5217
|
+
<xsl:otherwise>
|
5218
|
+
<xsl:copy-of select="@id"/>
|
5219
|
+
</xsl:otherwise>
|
5220
|
+
</xsl:choose>
|
5196
5221
|
|
5197
5222
|
<xsl:if test="normalize-space($key_iso) = 'true'">
|
5198
5223
|
<xsl:attribute name="margin-top">0</xsl:attribute>
|
@@ -5224,7 +5249,9 @@
|
|
5224
5249
|
<fo:block role="SKIP">
|
5225
5250
|
|
5226
5251
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
5227
|
-
|
5252
|
+
|
5253
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
5254
|
+
|
5228
5255
|
</xsl:if>
|
5229
5256
|
|
5230
5257
|
<xsl:choose>
|
@@ -5701,6 +5728,12 @@
|
|
5701
5728
|
</xsl:if>
|
5702
5729
|
</xsl:template>
|
5703
5730
|
|
5731
|
+
<xsl:template match="*[local-name()='strike']">
|
5732
|
+
<fo:inline text-decoration="line-through">
|
5733
|
+
<xsl:apply-templates/>
|
5734
|
+
</fo:inline>
|
5735
|
+
</xsl:template>
|
5736
|
+
|
5704
5737
|
<xsl:template match="*[local-name() = 'pagebreak']">
|
5705
5738
|
<fo:block break-after="page"/>
|
5706
5739
|
<fo:block> </fo:block>
|
@@ -6534,6 +6567,14 @@
|
|
6534
6567
|
</xsl:for-each>
|
6535
6568
|
</xsl:variable>
|
6536
6569
|
|
6570
|
+
<!-- <xsl:if test="$debug = 'true'">
|
6571
|
+
<redirect:write file="{generate-id()}_words_with_width_sorted.xml">
|
6572
|
+
<td_text><xsl:copy-of select="$td_text"/></td_text>
|
6573
|
+
<words_with_width><xsl:copy-of select="$words_with_width"/></words_with_width>
|
6574
|
+
<xsl:copy-of select="$words_with_width_sorted"/>
|
6575
|
+
</redirect:write>
|
6576
|
+
</xsl:if> -->
|
6577
|
+
|
6537
6578
|
<xsl:variable name="words">
|
6538
6579
|
<xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
|
6539
6580
|
<word>
|
@@ -6659,6 +6700,7 @@
|
|
6659
6700
|
<xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
|
6660
6701
|
<xsl:if test="ancestor::*[local-name() = 'sourcecode']"><tag>sourcecode</tag></xsl:if>
|
6661
6702
|
<xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
|
6703
|
+
<xsl:if test="ancestor::*[local-name() = 'font_en_vertical']"><tag>font_en_vertical</tag></xsl:if>
|
6662
6704
|
</tags>
|
6663
6705
|
</xsl:template>
|
6664
6706
|
<!-- =============================== -->
|
@@ -7199,7 +7241,16 @@
|
|
7199
7241
|
</xsl:when>
|
7200
7242
|
<xsl:otherwise>
|
7201
7243
|
<!-- output text from <link>text</link> -->
|
7202
|
-
<xsl:
|
7244
|
+
<xsl:choose>
|
7245
|
+
<xsl:when test="starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.')">
|
7246
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
7247
|
+
<xsl:with-param name="text" select="."/>
|
7248
|
+
</xsl:call-template>
|
7249
|
+
</xsl:when>
|
7250
|
+
<xsl:otherwise>
|
7251
|
+
<xsl:apply-templates/>
|
7252
|
+
</xsl:otherwise>
|
7253
|
+
</xsl:choose>
|
7203
7254
|
</xsl:otherwise>
|
7204
7255
|
</xsl:choose>
|
7205
7256
|
</fo:basic-link>
|
@@ -7838,16 +7889,29 @@
|
|
7838
7889
|
<xsl:template name="getImageSrc">
|
7839
7890
|
<xsl:choose>
|
7840
7891
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7892
|
+
<xsl:call-template name="getImageSrcExternal"/>
|
7893
|
+
</xsl:when>
|
7894
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
7895
|
+
</xsl:choose>
|
7896
|
+
</xsl:template>
|
7897
|
+
|
7898
|
+
<xsl:template name="getImageSrcExternal">
|
7899
|
+
<xsl:choose>
|
7900
|
+
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
7901
|
+
<xsl:value-of select="@src"/>
|
7902
|
+
</xsl:when>
|
7903
|
+
<xsl:otherwise>
|
7904
|
+
<xsl:variable name="src_with_basepath" select="concat($basepath, @src)"/>
|
7905
|
+
<xsl:variable name="file_exists" select="normalize-space(java:exists(java:java.io.File.new($src_with_basepath)))"/>
|
7841
7906
|
<xsl:choose>
|
7842
|
-
<xsl:when test="
|
7843
|
-
<xsl:value-of select="
|
7907
|
+
<xsl:when test="$file_exists = 'true'">
|
7908
|
+
<xsl:value-of select="$src_with_basepath"/>
|
7844
7909
|
</xsl:when>
|
7845
7910
|
<xsl:otherwise>
|
7846
|
-
<xsl:value-of select="
|
7911
|
+
<xsl:value-of select="@src"/>
|
7847
7912
|
</xsl:otherwise>
|
7848
7913
|
</xsl:choose>
|
7849
|
-
</xsl:
|
7850
|
-
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
7914
|
+
</xsl:otherwise>
|
7851
7915
|
</xsl:choose>
|
7852
7916
|
</xsl:template>
|
7853
7917
|
|
@@ -7895,14 +7959,8 @@
|
|
7895
7959
|
<xsl:value-of select="concat('url(file:///',$basepath, $src_png, ')')"/>
|
7896
7960
|
</xsl:when>
|
7897
7961
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7898
|
-
<xsl:
|
7899
|
-
|
7900
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
7901
|
-
</xsl:when>
|
7902
|
-
<xsl:otherwise>
|
7903
|
-
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7904
|
-
</xsl:otherwise>
|
7905
|
-
</xsl:choose>
|
7962
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
7963
|
+
<xsl:value-of select="concat('url(file:///', $src_external, ')')"/>
|
7906
7964
|
</xsl:when>
|
7907
7965
|
<xsl:otherwise>
|
7908
7966
|
<xsl:value-of select="@src"/>
|
@@ -7923,16 +7981,8 @@
|
|
7923
7981
|
</svg>
|
7924
7982
|
</xsl:when>
|
7925
7983
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7926
|
-
<xsl:variable name="
|
7927
|
-
|
7928
|
-
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
7929
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
7930
|
-
</xsl:when>
|
7931
|
-
<xsl:otherwise>
|
7932
|
-
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7933
|
-
</xsl:otherwise>
|
7934
|
-
</xsl:choose>
|
7935
|
-
</xsl:variable>
|
7984
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
7985
|
+
<xsl:variable name="src" select="concat('url(file:///', $src_external, ')')"/>
|
7936
7986
|
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
7937
7987
|
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
7938
7988
|
<xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
|
@@ -12049,7 +12099,9 @@
|
|
12049
12099
|
<xsl:template name="add_id">
|
12050
12100
|
<xsl:if test="not(@id)">
|
12051
12101
|
<!-- add @id - first element with @id plus '_element_name' -->
|
12052
|
-
<xsl:
|
12102
|
+
<xsl:variable name="prefix_id_" select="(.//*[@id])[1]/@id"/>
|
12103
|
+
<xsl:variable name="prefix_id"><xsl:value-of select="$prefix_id_"/><xsl:if test="normalize-space($prefix_id_) = ''"><xsl:value-of select="generate-id()"/></xsl:if></xsl:variable>
|
12104
|
+
<xsl:attribute name="id"><xsl:value-of select="$prefix_id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
|
12053
12105
|
</xsl:if>
|
12054
12106
|
</xsl:template>
|
12055
12107
|
|
@@ -13354,6 +13406,7 @@
|
|
13354
13406
|
<xsl:param name="formatted">false</xsl:param>
|
13355
13407
|
<xsl:param name="lang"/>
|
13356
13408
|
<xsl:param name="returnEmptyIfNotFound">false</xsl:param>
|
13409
|
+
<xsl:param name="bibdata_updated"/>
|
13357
13410
|
|
13358
13411
|
<xsl:variable name="curr_lang">
|
13359
13412
|
<xsl:choose>
|
@@ -13367,6 +13420,9 @@
|
|
13367
13420
|
|
13368
13421
|
<xsl:variable name="data_value">
|
13369
13422
|
<xsl:choose>
|
13423
|
+
<xsl:when test="$formatted = 'true' and string-length($bibdata_updated) != ''">
|
13424
|
+
<xsl:apply-templates select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
13425
|
+
</xsl:when>
|
13370
13426
|
<xsl:when test="$formatted = 'true'">
|
13371
13427
|
<xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
13372
13428
|
</xsl:when>
|
@@ -13538,14 +13594,8 @@
|
|
13538
13594
|
<xsl:value-of select="$src"/>
|
13539
13595
|
</xsl:when>
|
13540
13596
|
<xsl:otherwise>
|
13541
|
-
<xsl:
|
13542
|
-
|
13543
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
13544
|
-
</xsl:when>
|
13545
|
-
<xsl:otherwise>
|
13546
|
-
<xsl:value-of select="concat('url(file:///',$basepath, $src, ')')"/>
|
13547
|
-
</xsl:otherwise>
|
13548
|
-
</xsl:choose>
|
13597
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
13598
|
+
<xsl:value-of select="concat('url(file:///', $src_external, ')')"/>
|
13549
13599
|
</xsl:otherwise>
|
13550
13600
|
</xsl:choose>
|
13551
13601
|
</xsl:template>
|
@@ -13567,15 +13617,23 @@
|
|
13567
13617
|
<!-- END: insert cover page image -->
|
13568
13618
|
|
13569
13619
|
<!-- https://github.com/metanorma/docs/blob/main/109.adoc -->
|
13620
|
+
<xsl:variable name="regex_ja_spec_half_width_">
|
13621
|
+
\u0028 <!-- U+0028 LEFT PARENTHESIS (() -->
|
13622
|
+
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
13623
|
+
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
13624
|
+
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
13625
|
+
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
13626
|
+
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
13627
|
+
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
13628
|
+
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
13629
|
+
</xsl:variable>
|
13630
|
+
<xsl:variable name="regex_ja_spec_half_width" select="translate(normalize-space($regex_ja_spec_half_width_), ' ', '')"/>
|
13570
13631
|
<xsl:variable name="regex_ja_spec_">[
|
13571
13632
|
<!-- Rotate 90° clockwise -->
|
13572
|
-
|
13633
|
+
<xsl:value-of select="$regex_ja_spec_half_width"/>
|
13573
13634
|
\uFF08 <!-- U+FF08 FULLWIDTH LEFT PARENTHESIS (() -->
|
13574
|
-
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
13575
13635
|
\uFF09 <!-- U+FF09 FULLWIDTH RIGHT PARENTHESIS ()) -->
|
13576
|
-
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
13577
13636
|
\uFF5B <!-- U+FF5B FULLWIDTH LEFT CURLY BRACKET ({) -->
|
13578
|
-
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
13579
13637
|
\uFF5D <!-- U+FF5D FULLWIDTH RIGHT CURLY BRACKET (}) -->
|
13580
13638
|
\u3014 <!-- U+3014 LEFT TORTOISE SHELL BRACKET (〔) -->
|
13581
13639
|
\u3015 <!-- U+3015 RIGHT TORTOISE SHELL BRACKET (〕) -->
|
@@ -13583,21 +13641,16 @@
|
|
13583
13641
|
\u3011 <!-- U+3011 RIGHT BLACK LENTICULAR BRACKET (】) -->
|
13584
13642
|
\u300A <!-- U+300A LEFT DOUBLE ANGLE BRACKET (《) -->
|
13585
13643
|
\u300B <!-- U+300B RIGHT DOUBLE ANGLE BRACKET (》) -->
|
13586
|
-
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
13587
13644
|
\u300C <!-- U+300C LEFT CORNER BRACKET (「) -->
|
13588
|
-
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
13589
13645
|
\u300D <!-- U+300D RIGHT CORNER BRACKET (」) -->
|
13590
13646
|
\u300E <!-- U+300E LEFT WHITE CORNER BRACKET (『) -->
|
13591
13647
|
\u300F <!-- U+300F RIGHT WHITE CORNER BRACKET (』) -->
|
13592
|
-
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
13593
13648
|
\uFF3B <!-- U+FF3B FULLWIDTH LEFT SQUARE BRACKET ([) -->
|
13594
|
-
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
13595
13649
|
\uFF3D <!-- U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (]) -->
|
13596
13650
|
\u3008 <!-- U+3008 LEFT ANGLE BRACKET (〈) -->
|
13597
13651
|
\u3009 <!-- U+3009 RIGHT ANGLE BRACKET (〉) -->
|
13598
13652
|
\u3016 <!-- U+3016 LEFT WHITE LENTICULAR BRACKET (〖) -->
|
13599
13653
|
\u3017 <!-- U+3017 RIGHT WHITE LENTICULAR BRACKET (〗) -->
|
13600
|
-
|
13601
13654
|
\u301A <!-- U+301A LEFT WHITE SQUARE BRACKET (〚) -->
|
13602
13655
|
\u301B <!-- U+301B RIGHT WHITE SQUARE BRACKET (〛) -->
|
13603
13656
|
\u301C <!-- U+301C WAVE DASH (〜) -->
|
@@ -13629,6 +13682,7 @@
|
|
13629
13682
|
<xsl:variable name="regex_ja_spec"><xsl:value-of select="translate(normalize-space($regex_ja_spec_), ' ', '')"/></xsl:variable>
|
13630
13683
|
<xsl:template name="insertVerticalChar">
|
13631
13684
|
<xsl:param name="str"/>
|
13685
|
+
<xsl:param name="char_prev"/>
|
13632
13686
|
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
13633
13687
|
<xsl:param name="reference-orientation">90</xsl:param>
|
13634
13688
|
<xsl:param name="add_zero_width_space">false</xsl:param>
|
@@ -13638,53 +13692,99 @@
|
|
13638
13692
|
</xsl:when>
|
13639
13693
|
<xsl:otherwise>
|
13640
13694
|
<xsl:if test="string-length($str) > 0">
|
13641
|
-
|
13695
|
+
|
13696
|
+
<!-- <xsl:variable name="horizontal_mode" select="normalize-space(ancestor::*[local-name() = 'span'][@class = 'horizontal'] and 1 = 1)"/> -->
|
13642
13697
|
<xsl:variable name="char" select="substring($str,1,1)"/>
|
13643
|
-
<
|
13644
|
-
|
13645
|
-
|
13646
|
-
|
13647
|
-
|
13648
|
-
<xsl:
|
13649
|
-
<
|
13650
|
-
|
13651
|
-
|
13652
|
-
|
13653
|
-
|
13654
|
-
|
13655
|
-
|
13656
|
-
|
13657
|
-
|
13658
|
-
|
13659
|
-
|
13660
|
-
|
13661
|
-
|
13662
|
-
|
13663
|
-
|
13664
|
-
|
13665
|
-
</xsl:
|
13666
|
-
|
13698
|
+
<xsl:variable name="char_next" select="substring($str,2,1)"/>
|
13699
|
+
|
13700
|
+
<xsl:variable name="char_half_width" select="normalize-space(java:matches(java:java.lang.String.new($char), concat('([', $regex_ja_spec_half_width, ']{1,})')))"/>
|
13701
|
+
|
13702
|
+
<xsl:choose>
|
13703
|
+
<xsl:when test="$char_half_width = 'true'">
|
13704
|
+
<fo:inline>
|
13705
|
+
<xsl:attribute name="baseline-shift">7%</xsl:attribute>
|
13706
|
+
<xsl:value-of select="$char"/>
|
13707
|
+
</fo:inline>
|
13708
|
+
</xsl:when>
|
13709
|
+
<xsl:otherwise>
|
13710
|
+
<!-- namespace-uri(ancestor::*[local-name() = 'title']) != '' to skip title from $contents -->
|
13711
|
+
<xsl:if test="namespace-uri(ancestor::*[local-name() = 'title']) != '' and ($char_prev = '' and ../preceding-sibling::node())">
|
13712
|
+
<fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
|
13713
|
+
</xsl:if>
|
13714
|
+
<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm" role="SKIP" text-align-last="center">
|
13715
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
13716
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
13717
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
13718
|
+
</xsl:if>
|
13719
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
|
13720
|
+
<xsl:attribute name="reference-orientation">0</xsl:attribute>
|
13721
|
+
</xsl:if>
|
13722
|
+
<xsl:if test="$char = '゜' or $char = '。' or $char = '﹒' or $char = '.'">
|
13723
|
+
<!-- Rotate 180°:
|
13724
|
+
U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜)
|
13725
|
+
U+3002 IDEOGRAPHIC FULL STOP (。)
|
13726
|
+
U+FE52 SMALL FULL STOP (﹒)
|
13727
|
+
U+FF0E FULLWIDTH FULL STOP (.)
|
13728
|
+
-->
|
13729
|
+
<xsl:attribute name="reference-orientation">-90</xsl:attribute>
|
13730
|
+
</xsl:if>
|
13731
|
+
<fo:block-container width="1em" role="SKIP"><!-- border="0.5pt solid blue" -->
|
13732
|
+
<fo:block line-height="1em" role="SKIP">
|
13733
|
+
<!-- <xsl:choose>
|
13734
|
+
<xsl:when test="$horizontal_mode = 'true'">
|
13735
|
+
<xsl:value-of select="$str"/>
|
13736
|
+
</xsl:when>
|
13737
|
+
<xsl:otherwise>
|
13738
|
+
<xsl:value-of select="$char"/>
|
13739
|
+
</xsl:otherwise>
|
13740
|
+
</xsl:choose> -->
|
13667
13741
|
<xsl:value-of select="$char"/>
|
13668
|
-
</
|
13669
|
-
</
|
13670
|
-
</fo:
|
13671
|
-
|
13672
|
-
|
13673
|
-
|
13674
|
-
|
13675
|
-
|
13676
|
-
|
13677
|
-
|
13678
|
-
|
13679
|
-
<xsl:
|
13680
|
-
|
13681
|
-
|
13682
|
-
|
13742
|
+
</fo:block>
|
13743
|
+
</fo:block-container>
|
13744
|
+
</fo:inline-container>
|
13745
|
+
<xsl:if test="namespace-uri(ancestor::*[local-name() = 'title']) != '' and ($char_next != '' or ../following-sibling::node())">
|
13746
|
+
<fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
|
13747
|
+
</xsl:if>
|
13748
|
+
</xsl:otherwise>
|
13749
|
+
</xsl:choose>
|
13750
|
+
|
13751
|
+
<xsl:if test="$add_zero_width_space = 'true' and ($char = ',' or $char = '.' or $char = ' ' or $char = '·' or $char = ')' or $char = ']' or $char = '}' or $char = '/')"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
13752
|
+
<!-- <xsl:if test="$horizontal_mode = 'false'"> -->
|
13753
|
+
<xsl:call-template name="insertVerticalChar">
|
13754
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
13755
|
+
<xsl:with-param name="char_prev" select="$char"/>
|
13756
|
+
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
13757
|
+
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
13758
|
+
<xsl:with-param name="add_zero_width_space" select="$add_zero_width_space"/>
|
13759
|
+
</xsl:call-template>
|
13760
|
+
<!-- </xsl:if> -->
|
13683
13761
|
</xsl:if>
|
13684
13762
|
</xsl:otherwise>
|
13685
13763
|
</xsl:choose>
|
13686
13764
|
</xsl:template>
|
13687
13765
|
|
13766
|
+
<xsl:template name="insertHorizontalChars">
|
13767
|
+
<xsl:param name="str"/>
|
13768
|
+
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
13769
|
+
<xsl:param name="reference-orientation">90</xsl:param>
|
13770
|
+
<xsl:param name="add_zero_width_space">false</xsl:param>
|
13771
|
+
<xsl:choose>
|
13772
|
+
<xsl:otherwise>
|
13773
|
+
<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm" role="SKIP">
|
13774
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
13775
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
13776
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
13777
|
+
</xsl:if>
|
13778
|
+
<fo:block-container width="1em" role="SKIP"> <!-- border="0.5pt solid green" -->
|
13779
|
+
<fo:block line-height="1em" role="SKIP">
|
13780
|
+
<xsl:value-of select="$str"/>
|
13781
|
+
</fo:block>
|
13782
|
+
</fo:block-container>
|
13783
|
+
</fo:inline-container>
|
13784
|
+
</xsl:otherwise>
|
13785
|
+
</xsl:choose>
|
13786
|
+
</xsl:template>
|
13787
|
+
|
13688
13788
|
<xsl:template name="number-to-words">
|
13689
13789
|
<xsl:param name="number"/>
|
13690
13790
|
<xsl:param name="first"/>
|
@@ -227,7 +227,7 @@
|
|
227
227
|
|
228
228
|
<xsl:for-each select="xalan:nodeset($updated_xml_with_pages)"> <!-- set context to preface/sections -->
|
229
229
|
|
230
|
-
<xsl:for-each select=".//*[local-name() = 'page_sequence'][parent::*[local-name() = 'preface']][normalize-space() != '' or
|
230
|
+
<xsl:for-each select=".//*[local-name() = 'page_sequence'][parent::*[local-name() = 'preface']][normalize-space() != '' or .//*[local-name() = 'image'] or .//*[local-name() = 'svg']]">
|
231
231
|
|
232
232
|
<!-- Preface Pages -->
|
233
233
|
<fo:page-sequence master-reference="preface" format="i">
|
@@ -273,7 +273,7 @@
|
|
273
273
|
<!-- =========================== -->
|
274
274
|
</xsl:for-each>
|
275
275
|
|
276
|
-
<xsl:for-each select=".//*[local-name() = 'page_sequence'][not(parent::*[local-name() = 'preface'])][normalize-space() != '' or
|
276
|
+
<xsl:for-each select=".//*[local-name() = 'page_sequence'][not(parent::*[local-name() = 'preface'])][normalize-space() != '' or .//*[local-name() = 'image'] or .//*[local-name() = 'svg']]">
|
277
277
|
|
278
278
|
<fo:page-sequence master-reference="document" format="1" force-page-count="no-force">
|
279
279
|
|
@@ -883,8 +883,21 @@
|
|
883
883
|
|
884
884
|
<!-- <xsl:strip-space elements="iho:xref"/> -->
|
885
885
|
|
886
|
-
<xsl:variable name="
|
887
|
-
|
886
|
+
<xsl:variable name="namespace_full_">
|
887
|
+
<xsl:choose>
|
888
|
+
<xsl:when test="local-name(/*) = 'metanorma-collection'"><xsl:value-of select="namespace-uri(//*[contains(local-name(), '-standard')][1])"/></xsl:when>
|
889
|
+
<xsl:otherwise><xsl:value-of select="namespace-uri(/*)"/></xsl:otherwise><!-- example: https://www.metanorma.org/ns/iso -->
|
890
|
+
</xsl:choose>
|
891
|
+
</xsl:variable>
|
892
|
+
<xsl:variable name="namespace_full" select="normalize-space($namespace_full_)"/>
|
893
|
+
|
894
|
+
<xsl:variable name="root_element_">
|
895
|
+
<xsl:choose>
|
896
|
+
<xsl:when test="local-name(/*) = 'metanorma-collection'"><xsl:value-of select="local-name(//*[contains(local-name(), '-standard')][1])"/></xsl:when>
|
897
|
+
<xsl:otherwise><xsl:value-of select="local-name(/*)"/></xsl:otherwise><!-- example: iso-standard -->
|
898
|
+
</xsl:choose>
|
899
|
+
</xsl:variable>
|
900
|
+
<xsl:variable name="root_element" select="normalize-space($root_element_)"/>
|
888
901
|
|
889
902
|
<xsl:variable name="document_scheme" select="normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'document-scheme']/*[local-name() = 'value'])"/>
|
890
903
|
|
@@ -4167,7 +4180,9 @@
|
|
4167
4180
|
<fo:block role="SKIP">
|
4168
4181
|
|
4169
4182
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
4170
|
-
|
4183
|
+
|
4184
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
4185
|
+
|
4171
4186
|
</xsl:if>
|
4172
4187
|
|
4173
4188
|
<xsl:apply-templates/>
|
@@ -5192,7 +5207,17 @@
|
|
5192
5207
|
<xsl:call-template name="refine_dt-cell-style"/>
|
5193
5208
|
|
5194
5209
|
<fo:block xsl:use-attribute-sets="dt-block-style" role="SKIP">
|
5195
|
-
|
5210
|
+
|
5211
|
+
<xsl:choose>
|
5212
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
5213
|
+
|
5214
|
+
<xsl:copy-of select="@id"/>
|
5215
|
+
|
5216
|
+
</xsl:when>
|
5217
|
+
<xsl:otherwise>
|
5218
|
+
<xsl:copy-of select="@id"/>
|
5219
|
+
</xsl:otherwise>
|
5220
|
+
</xsl:choose>
|
5196
5221
|
|
5197
5222
|
<xsl:if test="normalize-space($key_iso) = 'true'">
|
5198
5223
|
<xsl:attribute name="margin-top">0</xsl:attribute>
|
@@ -5224,7 +5249,9 @@
|
|
5224
5249
|
<fo:block role="SKIP">
|
5225
5250
|
|
5226
5251
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
5227
|
-
|
5252
|
+
|
5253
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
5254
|
+
|
5228
5255
|
</xsl:if>
|
5229
5256
|
|
5230
5257
|
<xsl:choose>
|
@@ -5701,6 +5728,12 @@
|
|
5701
5728
|
</xsl:if>
|
5702
5729
|
</xsl:template>
|
5703
5730
|
|
5731
|
+
<xsl:template match="*[local-name()='strike']">
|
5732
|
+
<fo:inline text-decoration="line-through">
|
5733
|
+
<xsl:apply-templates/>
|
5734
|
+
</fo:inline>
|
5735
|
+
</xsl:template>
|
5736
|
+
|
5704
5737
|
<xsl:template match="*[local-name() = 'pagebreak']">
|
5705
5738
|
<fo:block break-after="page"/>
|
5706
5739
|
<fo:block> </fo:block>
|
@@ -6534,6 +6567,14 @@
|
|
6534
6567
|
</xsl:for-each>
|
6535
6568
|
</xsl:variable>
|
6536
6569
|
|
6570
|
+
<!-- <xsl:if test="$debug = 'true'">
|
6571
|
+
<redirect:write file="{generate-id()}_words_with_width_sorted.xml">
|
6572
|
+
<td_text><xsl:copy-of select="$td_text"/></td_text>
|
6573
|
+
<words_with_width><xsl:copy-of select="$words_with_width"/></words_with_width>
|
6574
|
+
<xsl:copy-of select="$words_with_width_sorted"/>
|
6575
|
+
</redirect:write>
|
6576
|
+
</xsl:if> -->
|
6577
|
+
|
6537
6578
|
<xsl:variable name="words">
|
6538
6579
|
<xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
|
6539
6580
|
<word>
|
@@ -6659,6 +6700,7 @@
|
|
6659
6700
|
<xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
|
6660
6701
|
<xsl:if test="ancestor::*[local-name() = 'sourcecode']"><tag>sourcecode</tag></xsl:if>
|
6661
6702
|
<xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
|
6703
|
+
<xsl:if test="ancestor::*[local-name() = 'font_en_vertical']"><tag>font_en_vertical</tag></xsl:if>
|
6662
6704
|
</tags>
|
6663
6705
|
</xsl:template>
|
6664
6706
|
<!-- =============================== -->
|
@@ -7199,7 +7241,16 @@
|
|
7199
7241
|
</xsl:when>
|
7200
7242
|
<xsl:otherwise>
|
7201
7243
|
<!-- output text from <link>text</link> -->
|
7202
|
-
<xsl:
|
7244
|
+
<xsl:choose>
|
7245
|
+
<xsl:when test="starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.')">
|
7246
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
7247
|
+
<xsl:with-param name="text" select="."/>
|
7248
|
+
</xsl:call-template>
|
7249
|
+
</xsl:when>
|
7250
|
+
<xsl:otherwise>
|
7251
|
+
<xsl:apply-templates/>
|
7252
|
+
</xsl:otherwise>
|
7253
|
+
</xsl:choose>
|
7203
7254
|
</xsl:otherwise>
|
7204
7255
|
</xsl:choose>
|
7205
7256
|
</fo:basic-link>
|
@@ -7838,16 +7889,29 @@
|
|
7838
7889
|
<xsl:template name="getImageSrc">
|
7839
7890
|
<xsl:choose>
|
7840
7891
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7892
|
+
<xsl:call-template name="getImageSrcExternal"/>
|
7893
|
+
</xsl:when>
|
7894
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
7895
|
+
</xsl:choose>
|
7896
|
+
</xsl:template>
|
7897
|
+
|
7898
|
+
<xsl:template name="getImageSrcExternal">
|
7899
|
+
<xsl:choose>
|
7900
|
+
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
7901
|
+
<xsl:value-of select="@src"/>
|
7902
|
+
</xsl:when>
|
7903
|
+
<xsl:otherwise>
|
7904
|
+
<xsl:variable name="src_with_basepath" select="concat($basepath, @src)"/>
|
7905
|
+
<xsl:variable name="file_exists" select="normalize-space(java:exists(java:java.io.File.new($src_with_basepath)))"/>
|
7841
7906
|
<xsl:choose>
|
7842
|
-
<xsl:when test="
|
7843
|
-
<xsl:value-of select="
|
7907
|
+
<xsl:when test="$file_exists = 'true'">
|
7908
|
+
<xsl:value-of select="$src_with_basepath"/>
|
7844
7909
|
</xsl:when>
|
7845
7910
|
<xsl:otherwise>
|
7846
|
-
<xsl:value-of select="
|
7911
|
+
<xsl:value-of select="@src"/>
|
7847
7912
|
</xsl:otherwise>
|
7848
7913
|
</xsl:choose>
|
7849
|
-
</xsl:
|
7850
|
-
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
7914
|
+
</xsl:otherwise>
|
7851
7915
|
</xsl:choose>
|
7852
7916
|
</xsl:template>
|
7853
7917
|
|
@@ -7895,14 +7959,8 @@
|
|
7895
7959
|
<xsl:value-of select="concat('url(file:///',$basepath, $src_png, ')')"/>
|
7896
7960
|
</xsl:when>
|
7897
7961
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7898
|
-
<xsl:
|
7899
|
-
|
7900
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
7901
|
-
</xsl:when>
|
7902
|
-
<xsl:otherwise>
|
7903
|
-
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7904
|
-
</xsl:otherwise>
|
7905
|
-
</xsl:choose>
|
7962
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
7963
|
+
<xsl:value-of select="concat('url(file:///', $src_external, ')')"/>
|
7906
7964
|
</xsl:when>
|
7907
7965
|
<xsl:otherwise>
|
7908
7966
|
<xsl:value-of select="@src"/>
|
@@ -7923,16 +7981,8 @@
|
|
7923
7981
|
</svg>
|
7924
7982
|
</xsl:when>
|
7925
7983
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7926
|
-
<xsl:variable name="
|
7927
|
-
|
7928
|
-
<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
|
7929
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
7930
|
-
</xsl:when>
|
7931
|
-
<xsl:otherwise>
|
7932
|
-
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7933
|
-
</xsl:otherwise>
|
7934
|
-
</xsl:choose>
|
7935
|
-
</xsl:variable>
|
7984
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
7985
|
+
<xsl:variable name="src" select="concat('url(file:///', $src_external, ')')"/>
|
7936
7986
|
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
7937
7987
|
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
7938
7988
|
<xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
|
@@ -12049,7 +12099,9 @@
|
|
12049
12099
|
<xsl:template name="add_id">
|
12050
12100
|
<xsl:if test="not(@id)">
|
12051
12101
|
<!-- add @id - first element with @id plus '_element_name' -->
|
12052
|
-
<xsl:
|
12102
|
+
<xsl:variable name="prefix_id_" select="(.//*[@id])[1]/@id"/>
|
12103
|
+
<xsl:variable name="prefix_id"><xsl:value-of select="$prefix_id_"/><xsl:if test="normalize-space($prefix_id_) = ''"><xsl:value-of select="generate-id()"/></xsl:if></xsl:variable>
|
12104
|
+
<xsl:attribute name="id"><xsl:value-of select="$prefix_id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
|
12053
12105
|
</xsl:if>
|
12054
12106
|
</xsl:template>
|
12055
12107
|
|
@@ -13354,6 +13406,7 @@
|
|
13354
13406
|
<xsl:param name="formatted">false</xsl:param>
|
13355
13407
|
<xsl:param name="lang"/>
|
13356
13408
|
<xsl:param name="returnEmptyIfNotFound">false</xsl:param>
|
13409
|
+
<xsl:param name="bibdata_updated"/>
|
13357
13410
|
|
13358
13411
|
<xsl:variable name="curr_lang">
|
13359
13412
|
<xsl:choose>
|
@@ -13367,6 +13420,9 @@
|
|
13367
13420
|
|
13368
13421
|
<xsl:variable name="data_value">
|
13369
13422
|
<xsl:choose>
|
13423
|
+
<xsl:when test="$formatted = 'true' and string-length($bibdata_updated) != ''">
|
13424
|
+
<xsl:apply-templates select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
13425
|
+
</xsl:when>
|
13370
13426
|
<xsl:when test="$formatted = 'true'">
|
13371
13427
|
<xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
13372
13428
|
</xsl:when>
|
@@ -13538,14 +13594,8 @@
|
|
13538
13594
|
<xsl:value-of select="$src"/>
|
13539
13595
|
</xsl:when>
|
13540
13596
|
<xsl:otherwise>
|
13541
|
-
<xsl:
|
13542
|
-
|
13543
|
-
<xsl:value-of select="concat('url(file:///', @src, ')')"/>
|
13544
|
-
</xsl:when>
|
13545
|
-
<xsl:otherwise>
|
13546
|
-
<xsl:value-of select="concat('url(file:///',$basepath, $src, ')')"/>
|
13547
|
-
</xsl:otherwise>
|
13548
|
-
</xsl:choose>
|
13597
|
+
<xsl:variable name="src_external"><xsl:call-template name="getImageSrcExternal"/></xsl:variable>
|
13598
|
+
<xsl:value-of select="concat('url(file:///', $src_external, ')')"/>
|
13549
13599
|
</xsl:otherwise>
|
13550
13600
|
</xsl:choose>
|
13551
13601
|
</xsl:template>
|
@@ -13567,15 +13617,23 @@
|
|
13567
13617
|
<!-- END: insert cover page image -->
|
13568
13618
|
|
13569
13619
|
<!-- https://github.com/metanorma/docs/blob/main/109.adoc -->
|
13620
|
+
<xsl:variable name="regex_ja_spec_half_width_">
|
13621
|
+
\u0028 <!-- U+0028 LEFT PARENTHESIS (() -->
|
13622
|
+
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
13623
|
+
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
13624
|
+
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
13625
|
+
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
13626
|
+
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
13627
|
+
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
13628
|
+
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
13629
|
+
</xsl:variable>
|
13630
|
+
<xsl:variable name="regex_ja_spec_half_width" select="translate(normalize-space($regex_ja_spec_half_width_), ' ', '')"/>
|
13570
13631
|
<xsl:variable name="regex_ja_spec_">[
|
13571
13632
|
<!-- Rotate 90° clockwise -->
|
13572
|
-
|
13633
|
+
<xsl:value-of select="$regex_ja_spec_half_width"/>
|
13573
13634
|
\uFF08 <!-- U+FF08 FULLWIDTH LEFT PARENTHESIS (() -->
|
13574
|
-
\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
|
13575
13635
|
\uFF09 <!-- U+FF09 FULLWIDTH RIGHT PARENTHESIS ()) -->
|
13576
|
-
\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
|
13577
13636
|
\uFF5B <!-- U+FF5B FULLWIDTH LEFT CURLY BRACKET ({) -->
|
13578
|
-
\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
|
13579
13637
|
\uFF5D <!-- U+FF5D FULLWIDTH RIGHT CURLY BRACKET (}) -->
|
13580
13638
|
\u3014 <!-- U+3014 LEFT TORTOISE SHELL BRACKET (〔) -->
|
13581
13639
|
\u3015 <!-- U+3015 RIGHT TORTOISE SHELL BRACKET (〕) -->
|
@@ -13583,21 +13641,16 @@
|
|
13583
13641
|
\u3011 <!-- U+3011 RIGHT BLACK LENTICULAR BRACKET (】) -->
|
13584
13642
|
\u300A <!-- U+300A LEFT DOUBLE ANGLE BRACKET (《) -->
|
13585
13643
|
\u300B <!-- U+300B RIGHT DOUBLE ANGLE BRACKET (》) -->
|
13586
|
-
\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
|
13587
13644
|
\u300C <!-- U+300C LEFT CORNER BRACKET (「) -->
|
13588
|
-
\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
|
13589
13645
|
\u300D <!-- U+300D RIGHT CORNER BRACKET (」) -->
|
13590
13646
|
\u300E <!-- U+300E LEFT WHITE CORNER BRACKET (『) -->
|
13591
13647
|
\u300F <!-- U+300F RIGHT WHITE CORNER BRACKET (』) -->
|
13592
|
-
\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
|
13593
13648
|
\uFF3B <!-- U+FF3B FULLWIDTH LEFT SQUARE BRACKET ([) -->
|
13594
|
-
\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
|
13595
13649
|
\uFF3D <!-- U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (]) -->
|
13596
13650
|
\u3008 <!-- U+3008 LEFT ANGLE BRACKET (〈) -->
|
13597
13651
|
\u3009 <!-- U+3009 RIGHT ANGLE BRACKET (〉) -->
|
13598
13652
|
\u3016 <!-- U+3016 LEFT WHITE LENTICULAR BRACKET (〖) -->
|
13599
13653
|
\u3017 <!-- U+3017 RIGHT WHITE LENTICULAR BRACKET (〗) -->
|
13600
|
-
|
13601
13654
|
\u301A <!-- U+301A LEFT WHITE SQUARE BRACKET (〚) -->
|
13602
13655
|
\u301B <!-- U+301B RIGHT WHITE SQUARE BRACKET (〛) -->
|
13603
13656
|
\u301C <!-- U+301C WAVE DASH (〜) -->
|
@@ -13629,6 +13682,7 @@
|
|
13629
13682
|
<xsl:variable name="regex_ja_spec"><xsl:value-of select="translate(normalize-space($regex_ja_spec_), ' ', '')"/></xsl:variable>
|
13630
13683
|
<xsl:template name="insertVerticalChar">
|
13631
13684
|
<xsl:param name="str"/>
|
13685
|
+
<xsl:param name="char_prev"/>
|
13632
13686
|
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
13633
13687
|
<xsl:param name="reference-orientation">90</xsl:param>
|
13634
13688
|
<xsl:param name="add_zero_width_space">false</xsl:param>
|
@@ -13638,53 +13692,99 @@
|
|
13638
13692
|
</xsl:when>
|
13639
13693
|
<xsl:otherwise>
|
13640
13694
|
<xsl:if test="string-length($str) > 0">
|
13641
|
-
|
13695
|
+
|
13696
|
+
<!-- <xsl:variable name="horizontal_mode" select="normalize-space(ancestor::*[local-name() = 'span'][@class = 'horizontal'] and 1 = 1)"/> -->
|
13642
13697
|
<xsl:variable name="char" select="substring($str,1,1)"/>
|
13643
|
-
<
|
13644
|
-
|
13645
|
-
|
13646
|
-
|
13647
|
-
|
13648
|
-
<xsl:
|
13649
|
-
<
|
13650
|
-
|
13651
|
-
|
13652
|
-
|
13653
|
-
|
13654
|
-
|
13655
|
-
|
13656
|
-
|
13657
|
-
|
13658
|
-
|
13659
|
-
|
13660
|
-
|
13661
|
-
|
13662
|
-
|
13663
|
-
|
13664
|
-
|
13665
|
-
</xsl:
|
13666
|
-
|
13698
|
+
<xsl:variable name="char_next" select="substring($str,2,1)"/>
|
13699
|
+
|
13700
|
+
<xsl:variable name="char_half_width" select="normalize-space(java:matches(java:java.lang.String.new($char), concat('([', $regex_ja_spec_half_width, ']{1,})')))"/>
|
13701
|
+
|
13702
|
+
<xsl:choose>
|
13703
|
+
<xsl:when test="$char_half_width = 'true'">
|
13704
|
+
<fo:inline>
|
13705
|
+
<xsl:attribute name="baseline-shift">7%</xsl:attribute>
|
13706
|
+
<xsl:value-of select="$char"/>
|
13707
|
+
</fo:inline>
|
13708
|
+
</xsl:when>
|
13709
|
+
<xsl:otherwise>
|
13710
|
+
<!-- namespace-uri(ancestor::*[local-name() = 'title']) != '' to skip title from $contents -->
|
13711
|
+
<xsl:if test="namespace-uri(ancestor::*[local-name() = 'title']) != '' and ($char_prev = '' and ../preceding-sibling::node())">
|
13712
|
+
<fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
|
13713
|
+
</xsl:if>
|
13714
|
+
<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm" role="SKIP" text-align-last="center">
|
13715
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
13716
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
13717
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
13718
|
+
</xsl:if>
|
13719
|
+
<xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
|
13720
|
+
<xsl:attribute name="reference-orientation">0</xsl:attribute>
|
13721
|
+
</xsl:if>
|
13722
|
+
<xsl:if test="$char = '゜' or $char = '。' or $char = '﹒' or $char = '.'">
|
13723
|
+
<!-- Rotate 180°:
|
13724
|
+
U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜)
|
13725
|
+
U+3002 IDEOGRAPHIC FULL STOP (。)
|
13726
|
+
U+FE52 SMALL FULL STOP (﹒)
|
13727
|
+
U+FF0E FULLWIDTH FULL STOP (.)
|
13728
|
+
-->
|
13729
|
+
<xsl:attribute name="reference-orientation">-90</xsl:attribute>
|
13730
|
+
</xsl:if>
|
13731
|
+
<fo:block-container width="1em" role="SKIP"><!-- border="0.5pt solid blue" -->
|
13732
|
+
<fo:block line-height="1em" role="SKIP">
|
13733
|
+
<!-- <xsl:choose>
|
13734
|
+
<xsl:when test="$horizontal_mode = 'true'">
|
13735
|
+
<xsl:value-of select="$str"/>
|
13736
|
+
</xsl:when>
|
13737
|
+
<xsl:otherwise>
|
13738
|
+
<xsl:value-of select="$char"/>
|
13739
|
+
</xsl:otherwise>
|
13740
|
+
</xsl:choose> -->
|
13667
13741
|
<xsl:value-of select="$char"/>
|
13668
|
-
</
|
13669
|
-
</
|
13670
|
-
</fo:
|
13671
|
-
|
13672
|
-
|
13673
|
-
|
13674
|
-
|
13675
|
-
|
13676
|
-
|
13677
|
-
|
13678
|
-
|
13679
|
-
<xsl:
|
13680
|
-
|
13681
|
-
|
13682
|
-
|
13742
|
+
</fo:block>
|
13743
|
+
</fo:block-container>
|
13744
|
+
</fo:inline-container>
|
13745
|
+
<xsl:if test="namespace-uri(ancestor::*[local-name() = 'title']) != '' and ($char_next != '' or ../following-sibling::node())">
|
13746
|
+
<fo:inline padding-left="1mm"><xsl:value-of select="$zero_width_space"/></fo:inline>
|
13747
|
+
</xsl:if>
|
13748
|
+
</xsl:otherwise>
|
13749
|
+
</xsl:choose>
|
13750
|
+
|
13751
|
+
<xsl:if test="$add_zero_width_space = 'true' and ($char = ',' or $char = '.' or $char = ' ' or $char = '·' or $char = ')' or $char = ']' or $char = '}' or $char = '/')"><xsl:value-of select="$zero_width_space"/></xsl:if>
|
13752
|
+
<!-- <xsl:if test="$horizontal_mode = 'false'"> -->
|
13753
|
+
<xsl:call-template name="insertVerticalChar">
|
13754
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
13755
|
+
<xsl:with-param name="char_prev" select="$char"/>
|
13756
|
+
<xsl:with-param name="writing-mode" select="$writing-mode"/>
|
13757
|
+
<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
|
13758
|
+
<xsl:with-param name="add_zero_width_space" select="$add_zero_width_space"/>
|
13759
|
+
</xsl:call-template>
|
13760
|
+
<!-- </xsl:if> -->
|
13683
13761
|
</xsl:if>
|
13684
13762
|
</xsl:otherwise>
|
13685
13763
|
</xsl:choose>
|
13686
13764
|
</xsl:template>
|
13687
13765
|
|
13766
|
+
<xsl:template name="insertHorizontalChars">
|
13767
|
+
<xsl:param name="str"/>
|
13768
|
+
<xsl:param name="writing-mode">lr-tb</xsl:param>
|
13769
|
+
<xsl:param name="reference-orientation">90</xsl:param>
|
13770
|
+
<xsl:param name="add_zero_width_space">false</xsl:param>
|
13771
|
+
<xsl:choose>
|
13772
|
+
<xsl:otherwise>
|
13773
|
+
<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm" role="SKIP">
|
13774
|
+
<xsl:if test="normalize-space($writing-mode) != ''">
|
13775
|
+
<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
|
13776
|
+
<xsl:attribute name="reference-orientation">90</xsl:attribute>
|
13777
|
+
</xsl:if>
|
13778
|
+
<fo:block-container width="1em" role="SKIP"> <!-- border="0.5pt solid green" -->
|
13779
|
+
<fo:block line-height="1em" role="SKIP">
|
13780
|
+
<xsl:value-of select="$str"/>
|
13781
|
+
</fo:block>
|
13782
|
+
</fo:block-container>
|
13783
|
+
</fo:inline-container>
|
13784
|
+
</xsl:otherwise>
|
13785
|
+
</xsl:choose>
|
13786
|
+
</xsl:template>
|
13787
|
+
|
13688
13788
|
<xsl:template name="number-to-words">
|
13689
13789
|
<xsl:param name="number"/>
|
13690
13790
|
<xsl:param name="first"/>
|
@@ -267,11 +267,11 @@ Detailed in https://www.relaton.org/model/creator/</a:documentation>
|
|
267
267
|
<a:documentation>An identifier of the person according to an international identifier scheme</a:documentation>
|
268
268
|
</ref>
|
269
269
|
</zeroOrMore>
|
270
|
-
<
|
270
|
+
<optional>
|
271
271
|
<ref name="contact">
|
272
272
|
<a:documentation>Contact information for the person, including URI, address, phone number, and email</a:documentation>
|
273
273
|
</ref>
|
274
|
-
</
|
274
|
+
</optional>
|
275
275
|
</element>
|
276
276
|
</define>
|
277
277
|
<define name="fullname">
|
@@ -454,11 +454,11 @@ real names (if the person is named with a pseudonym or user name); previous lega
|
|
454
454
|
<a:documentation>An identifier of the organization according to an international identifier scheme</a:documentation>
|
455
455
|
</ref>
|
456
456
|
</zeroOrMore>
|
457
|
-
<
|
457
|
+
<optional>
|
458
458
|
<ref name="contact">
|
459
459
|
<a:documentation>Contact information for the organization, including address, phone number, and email</a:documentation>
|
460
460
|
</ref>
|
461
|
-
</
|
461
|
+
</optional>
|
462
462
|
<optional>
|
463
463
|
<ref name="logo">
|
464
464
|
<a:documentation>A logo for the organization</a:documentation>
|
@@ -540,12 +540,18 @@ real names (if the person is named with a pseudonym or user name); previous lega
|
|
540
540
|
<!-- TODO may change -->
|
541
541
|
<define name="contact">
|
542
542
|
<a:documentation>Contact information for a person or organization</a:documentation>
|
543
|
-
<
|
543
|
+
<zeroOrMore>
|
544
544
|
<ref name="address"/>
|
545
|
+
</zeroOrMore>
|
546
|
+
<zeroOrMore>
|
545
547
|
<ref name="phone"/>
|
548
|
+
</zeroOrMore>
|
549
|
+
<zeroOrMore>
|
546
550
|
<ref name="email"/>
|
551
|
+
</zeroOrMore>
|
552
|
+
<zeroOrMore>
|
547
553
|
<ref name="uri"/>
|
548
|
-
</
|
554
|
+
</zeroOrMore>
|
549
555
|
</define>
|
550
556
|
<define name="phone">
|
551
557
|
<a:documentation>The phone number associated with a person or organization</a:documentation>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-iho
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-generic
|
@@ -245,7 +245,7 @@ homepage: https://github.com/metanorma/metanorma-iho
|
|
245
245
|
licenses:
|
246
246
|
- BSD-2-Clause
|
247
247
|
metadata: {}
|
248
|
-
post_install_message:
|
248
|
+
post_install_message:
|
249
249
|
rdoc_options: []
|
250
250
|
require_paths:
|
251
251
|
- lib
|
@@ -261,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
261
|
version: '0'
|
262
262
|
requirements: []
|
263
263
|
rubygems_version: 3.3.27
|
264
|
-
signing_key:
|
264
|
+
signing_key:
|
265
265
|
specification_version: 4
|
266
266
|
summary: metanorma-iho lets you write IHO in AsciiDoc.
|
267
267
|
test_files: []
|