metanorma-ogc 2.5.6 → 2.5.7
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/ogc/ogc.abstract-specification-topic.xsl +207 -47
- data/lib/isodoc/ogc/ogc.best-practice.xsl +207 -47
- data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +207 -47
- data/lib/isodoc/ogc/ogc.community-practice.xsl +207 -47
- data/lib/isodoc/ogc/ogc.community-standard.xsl +207 -47
- data/lib/isodoc/ogc/ogc.discussion-paper.xsl +207 -47
- data/lib/isodoc/ogc/ogc.draft-standard.xsl +207 -47
- data/lib/isodoc/ogc/ogc.engineering-report.xsl +207 -47
- data/lib/isodoc/ogc/ogc.other.xsl +207 -47
- data/lib/isodoc/ogc/ogc.policy.xsl +207 -47
- data/lib/isodoc/ogc/ogc.reference-model.xsl +207 -47
- data/lib/isodoc/ogc/ogc.release-notes.xsl +207 -47
- data/lib/isodoc/ogc/ogc.standard.xsl +207 -47
- data/lib/isodoc/ogc/ogc.test-suite.xsl +207 -47
- data/lib/isodoc/ogc/ogc.user-guide.xsl +207 -47
- data/lib/isodoc/ogc/ogc.white-paper.xsl +129 -30
- data/lib/metanorma/ogc/biblio.rng +22 -23
- data/lib/metanorma/ogc/isodoc.rng +37 -116
- data/lib/metanorma/ogc/version.rb +1 -1
- metadata +2 -2
@@ -742,11 +742,15 @@
|
|
742
742
|
|
743
743
|
<!-- Lato font doesn't contain 'thin space' glyph -->
|
744
744
|
<xsl:template match="text()" priority="1">
|
745
|
-
<xsl:
|
745
|
+
<xsl:call-template name="add_fo_character">
|
746
|
+
<xsl:with-param name="text" select="translate(., $thin_space, ' ')"/>
|
747
|
+
</xsl:call-template>
|
746
748
|
</xsl:template>
|
747
749
|
|
748
750
|
<xsl:template match="ogc:title//text() | ogc:name//text()" priority="3" mode="contents">
|
749
|
-
<xsl:
|
751
|
+
<xsl:call-template name="add_fo_character">
|
752
|
+
<xsl:with-param name="text" select="translate(., $thin_space, ' ')"/>
|
753
|
+
</xsl:call-template>
|
750
754
|
</xsl:template>
|
751
755
|
|
752
756
|
<xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text()" priority="2">
|
@@ -762,7 +766,54 @@
|
|
762
766
|
<!-- replace sequence #x200B to one ​ -->
|
763
767
|
<xsl:variable name="content4" select="java:replaceAll(java:java.lang.String.new($content3), '\u200b{2,}', '')"/>
|
764
768
|
|
765
|
-
<xsl:
|
769
|
+
<xsl:call-template name="add_fo_character">
|
770
|
+
<xsl:with-param name="text" select="translate($content4, $thin_space, ' ')"/>
|
771
|
+
</xsl:call-template>
|
772
|
+
</xsl:template>
|
773
|
+
|
774
|
+
<xsl:template name="add_fo_character">
|
775
|
+
<xsl:param name="text"/>
|
776
|
+
<!-- https://github.com/metanorma/mn-native-pdf/issues/672, https://issues.apache.org/jira/browse/FOP-3175 -->
|
777
|
+
<!-- Miscellaneous Symbols https://www.compart.com/en/unicode/block/U+2600 U+2600 - U+26FF -->
|
778
|
+
<!-- Dingbats https://www.compart.com/en/unicode/block/U+2700 U+2700 - U+27BF -->
|
779
|
+
<!-- Miscellaneous Symbols and Arrows https://www.compart.com/en/unicode/block/U+2b55 U+2B00 - U+2BFF-->
|
780
|
+
<!-- enclose chars into <fo:character character="..."/> -->
|
781
|
+
<xsl:variable name="regex_dingbats_chars">([\u2100-\u2BFF])</xsl:variable> <!-- \u1F300;-\u1F5FF; not working in fo:character -->
|
782
|
+
<xsl:variable name="element_name_fo_character">fo:character</xsl:variable>
|
783
|
+
<xsl:variable name="tag_element_name_fo_character_open">###<xsl:value-of select="$element_name_fo_character"/>###</xsl:variable>
|
784
|
+
<xsl:variable name="tag_element_name_fo_character_close">###/<xsl:value-of select="$element_name_fo_character"/>###</xsl:variable>
|
785
|
+
<xsl:variable name="text_" select="java:replaceAll(java:java.lang.String.new($text), $regex_dingbats_chars, concat($tag_element_name_fo_character_open,'$1',$tag_element_name_fo_character_close))"/>
|
786
|
+
<xsl:call-template name="replace_text_tags_fo_character">
|
787
|
+
<xsl:with-param name="tag_open" select="$tag_element_name_fo_character_open"/>
|
788
|
+
<xsl:with-param name="tag_close" select="$tag_element_name_fo_character_close"/>
|
789
|
+
<xsl:with-param name="text" select="$text_"/>
|
790
|
+
</xsl:call-template>
|
791
|
+
</xsl:template>
|
792
|
+
|
793
|
+
<!-- ###fo:character###A###/fo:character### -->
|
794
|
+
<xsl:template name="replace_text_tags_fo_character">
|
795
|
+
<xsl:param name="tag_open"/>
|
796
|
+
<xsl:param name="tag_close"/>
|
797
|
+
<xsl:param name="text"/>
|
798
|
+
<xsl:choose>
|
799
|
+
<xsl:when test="contains($text, $tag_open)">
|
800
|
+
<xsl:value-of select="substring-before($text, $tag_open)"/>
|
801
|
+
<xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
|
802
|
+
|
803
|
+
<xsl:element name="{substring-before(substring-after($tag_open, '###'),'###')}">
|
804
|
+
<xsl:attribute name="character">
|
805
|
+
<xsl:value-of select="substring-before($text_after, $tag_close)"/>
|
806
|
+
</xsl:attribute>
|
807
|
+
</xsl:element>
|
808
|
+
|
809
|
+
<xsl:call-template name="replace_text_tags_fo_character">
|
810
|
+
<xsl:with-param name="tag_open" select="$tag_open"/>
|
811
|
+
<xsl:with-param name="tag_close" select="$tag_close"/>
|
812
|
+
<xsl:with-param name="text" select="substring-after($text_after, $tag_close)"/>
|
813
|
+
</xsl:call-template>
|
814
|
+
</xsl:when>
|
815
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
816
|
+
</xsl:choose>
|
766
817
|
</xsl:template>
|
767
818
|
|
768
819
|
<xsl:template match="node()" mode="sections">
|
@@ -1057,6 +1108,8 @@
|
|
1057
1108
|
<xsl:template match="ogc:p" name="paragraph">
|
1058
1109
|
<xsl:param name="inline" select="'false'"/>
|
1059
1110
|
<xsl:param name="split_keep-within-line"/>
|
1111
|
+
<xsl:param name="indent">0</xsl:param>
|
1112
|
+
<!-- <fo:block>debug p indent=<xsl:value-of select="$indent"/></fo:block> -->
|
1060
1113
|
<xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
|
1061
1114
|
<xsl:variable name="element-name">
|
1062
1115
|
<xsl:choose>
|
@@ -1092,6 +1145,7 @@
|
|
1092
1145
|
|
1093
1146
|
<xsl:apply-templates>
|
1094
1147
|
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
1148
|
+
<xsl:with-param name="indent" select="$indent"/>
|
1095
1149
|
</xsl:apply-templates>
|
1096
1150
|
</xsl:element>
|
1097
1151
|
<xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
|
@@ -1114,17 +1168,18 @@
|
|
1114
1168
|
</xsl:template>
|
1115
1169
|
|
1116
1170
|
<xsl:template match="ogc:ul | ogc:ol" mode="list" priority="2">
|
1117
|
-
<xsl:
|
1118
|
-
<fo:block-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
<xsl:
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1171
|
+
<xsl:param name="indent">0</xsl:param>
|
1172
|
+
<!-- <fo:block>debug ul ol indent=<xsl:value-of select="$indent"/></fo:block> -->
|
1173
|
+
<xsl:variable name="ul_indent">6</xsl:variable>
|
1174
|
+
<xsl:variable name="margin_left">
|
1175
|
+
<xsl:choose>
|
1176
|
+
<xsl:when test="self::ogc:ul and not(ancestor::ogc:ul) and not(ancestor::ogc:ol)">4</xsl:when> <!-- if first level -->
|
1177
|
+
<xsl:when test="self::ogc:ul and ancestor::*[2][self::ogc:ul]"><xsl:value-of select="$ul_indent"/></xsl:when> <!-- ul/li/ul -->
|
1178
|
+
<xsl:when test="ancestor::ogc:table">4</xsl:when>
|
1179
|
+
<xsl:otherwise>13</xsl:otherwise>
|
1180
|
+
</xsl:choose>
|
1181
|
+
</xsl:variable>
|
1182
|
+
<fo:block-container margin-left="{$margin_left}mm">
|
1128
1183
|
<xsl:if test="ancestor::ogc:ul or ancestor::ogc:ol">
|
1129
1184
|
<xsl:attribute name="margin-top">10pt</xsl:attribute>
|
1130
1185
|
<xsl:if test="ancestor::ogc:table">
|
@@ -1134,7 +1189,7 @@
|
|
1134
1189
|
<fo:block-container margin-left="0mm">
|
1135
1190
|
<fo:list-block xsl:use-attribute-sets="list-style">
|
1136
1191
|
<xsl:if test="self::ogc:ul">
|
1137
|
-
<xsl:attribute name="provisional-distance-between-starts"><xsl:value-of select="$ul_indent"
|
1192
|
+
<xsl:attribute name="provisional-distance-between-starts"><xsl:value-of select="$ul_indent"/>mm</xsl:attribute>
|
1138
1193
|
</xsl:if>
|
1139
1194
|
<xsl:if test="ancestor::ogc:table">
|
1140
1195
|
<xsl:attribute name="provisional-distance-between-starts">5mm</xsl:attribute>
|
@@ -1148,7 +1203,9 @@
|
|
1148
1203
|
<xsl:if test="following-sibling::*[1][local-name() = 'ul' or local-name() = 'ol']">
|
1149
1204
|
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
1150
1205
|
</xsl:if>
|
1151
|
-
<xsl:apply-templates
|
1206
|
+
<xsl:apply-templates>
|
1207
|
+
<xsl:with-param name="indent" select="$indent + $ul_indent"/>
|
1208
|
+
</xsl:apply-templates>
|
1152
1209
|
</fo:list-block>
|
1153
1210
|
</fo:block-container>
|
1154
1211
|
</fo:block-container>
|
@@ -1256,9 +1313,13 @@
|
|
1256
1313
|
</xsl:template>
|
1257
1314
|
|
1258
1315
|
<xsl:template match="ogc:figure" priority="2">
|
1316
|
+
<xsl:param name="indent"/>
|
1317
|
+
<!-- <fo:block>debug figure indent=<xsl:value-of select="$indent"/></fo:block> -->
|
1259
1318
|
<fo:block-container id="{@id}" margin-top="12pt" margin-bottom="12pt">
|
1260
1319
|
<fo:block>
|
1261
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name')]"
|
1320
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
1321
|
+
<xsl:with-param name="indent" select="$indent"/>
|
1322
|
+
</xsl:apply-templates>
|
1262
1323
|
</fo:block>
|
1263
1324
|
<xsl:call-template name="fn_display_figure"/>
|
1264
1325
|
<xsl:for-each select="ogc:note">
|
@@ -7935,10 +7996,11 @@
|
|
7935
7996
|
</xsl:template>
|
7936
7997
|
|
7937
7998
|
<xsl:template match="*[local-name() = 'image']">
|
7999
|
+
<xsl:param name="indent">0</xsl:param>
|
7938
8000
|
<xsl:variable name="isAdded" select="../@added"/>
|
7939
8001
|
<xsl:variable name="isDeleted" select="../@deleted"/>
|
7940
8002
|
<xsl:choose>
|
7941
|
-
<xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
|
8003
|
+
<xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']"> <!-- inline image ( 'image:path' in adoc, with one colon after image) -->
|
7942
8004
|
<fo:inline padding-left="1mm" padding-right="1mm">
|
7943
8005
|
<xsl:if test="not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
|
7944
8006
|
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
@@ -7947,7 +8009,43 @@
|
|
7947
8009
|
<xsl:variable name="src">
|
7948
8010
|
<xsl:call-template name="image_src"/>
|
7949
8011
|
</xsl:variable>
|
7950
|
-
|
8012
|
+
|
8013
|
+
<xsl:variable name="scale">
|
8014
|
+
<xsl:call-template name="getImageScale">
|
8015
|
+
<xsl:with-param name="indent" select="$indent"/>
|
8016
|
+
</xsl:call-template>
|
8017
|
+
</xsl:variable>
|
8018
|
+
|
8019
|
+
<!-- debug scale='<xsl:value-of select="$scale"/>', indent='<xsl:value-of select="$indent"/>' -->
|
8020
|
+
|
8021
|
+
<!-- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle"/> -->
|
8022
|
+
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle">
|
8023
|
+
|
8024
|
+
<xsl:variable name="width">
|
8025
|
+
<xsl:call-template name="setImageWidth"/>
|
8026
|
+
</xsl:variable>
|
8027
|
+
<xsl:if test="$width != ''">
|
8028
|
+
<xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute>
|
8029
|
+
</xsl:if>
|
8030
|
+
<xsl:variable name="height">
|
8031
|
+
<xsl:call-template name="setImageHeight"/>
|
8032
|
+
</xsl:variable>
|
8033
|
+
<xsl:if test="$height != ''">
|
8034
|
+
<xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute>
|
8035
|
+
</xsl:if>
|
8036
|
+
|
8037
|
+
<xsl:if test="$width = '' and $height = ''">
|
8038
|
+
<xsl:if test="number($scale) < 100">
|
8039
|
+
<xsl:attribute name="content-width"><xsl:value-of select="number($scale)"/>%</xsl:attribute>
|
8040
|
+
<!-- <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
|
8041
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
8042
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
8043
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute> -->
|
8044
|
+
</xsl:if>
|
8045
|
+
</xsl:if>
|
8046
|
+
|
8047
|
+
</fo:external-graphic>
|
8048
|
+
|
7951
8049
|
</fo:inline>
|
7952
8050
|
</xsl:when>
|
7953
8051
|
<xsl:otherwise>
|
@@ -7968,25 +8066,23 @@
|
|
7968
8066
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
7969
8067
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
7970
8068
|
|
7971
|
-
|
8069
|
+
<xsl:apply-templates select="." mode="cross_image"/>
|
7972
8070
|
|
7973
8071
|
</fo:instream-foreign-object>
|
7974
8072
|
</xsl:when>
|
7975
8073
|
<xsl:otherwise>
|
8074
|
+
<!-- <fo:block>debug block image:
|
8075
|
+
<xsl:variable name="scale">
|
8076
|
+
<xsl:call-template name="getImageScale">
|
8077
|
+
<xsl:with-param name="indent" select="$indent"/>
|
8078
|
+
</xsl:call-template>
|
8079
|
+
</xsl:variable>
|
8080
|
+
<xsl:value-of select="concat('scale=', $scale,', indent=', $indent)"/>
|
8081
|
+
</fo:block> -->
|
7976
8082
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
7977
8083
|
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
7978
8084
|
|
7979
|
-
<xsl:
|
7980
|
-
<xsl:attribute name="width">
|
7981
|
-
<xsl:value-of select="@width"/>
|
7982
|
-
</xsl:attribute>
|
7983
|
-
</xsl:if>
|
7984
|
-
|
7985
|
-
<xsl:if test="@height != '' and @height != 'auto'">
|
7986
|
-
<xsl:attribute name="height">
|
7987
|
-
<xsl:value-of select="@height"/>
|
7988
|
-
</xsl:attribute>
|
7989
|
-
</xsl:if>
|
8085
|
+
<xsl:call-template name="setImageWidthHeight"/>
|
7990
8086
|
|
7991
8087
|
<xsl:choose>
|
7992
8088
|
<xsl:when test="@width != '' and @width != 'auto' and @height != '' and @height != 'auto'">
|
@@ -7994,24 +8090,18 @@
|
|
7994
8090
|
</xsl:when>
|
7995
8091
|
<xsl:otherwise>
|
7996
8092
|
|
7997
|
-
<xsl:variable name="
|
7998
|
-
<xsl:
|
7999
|
-
<xsl:
|
8000
|
-
|
8001
|
-
</xsl:choose>
|
8093
|
+
<xsl:variable name="scale">
|
8094
|
+
<xsl:call-template name="getImageScale">
|
8095
|
+
<xsl:with-param name="indent" select="$indent"/>
|
8096
|
+
</xsl:call-template>
|
8002
8097
|
</xsl:variable>
|
8003
8098
|
|
8004
|
-
<xsl:variable name="
|
8005
|
-
|
8006
|
-
<xsl:value-of select="$width_effective"/>
|
8007
|
-
|
8099
|
+
<xsl:variable name="scaleRatio">
|
8100
|
+
1
|
8008
8101
|
</xsl:variable>
|
8009
8102
|
|
8010
|
-
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
8011
8103
|
<xsl:if test="number($scale) < 100">
|
8012
|
-
|
8013
|
-
<xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
|
8014
|
-
|
8104
|
+
<xsl:attribute name="content-width"><xsl:value-of select="number($scale) * number($scaleRatio)"/>%</xsl:attribute>
|
8015
8105
|
</xsl:if>
|
8016
8106
|
</xsl:otherwise>
|
8017
8107
|
</xsl:choose>
|
@@ -8027,6 +8117,62 @@
|
|
8027
8117
|
</xsl:choose>
|
8028
8118
|
</xsl:template>
|
8029
8119
|
|
8120
|
+
<xsl:template name="setImageWidth">
|
8121
|
+
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
8122
|
+
<xsl:value-of select="@width"/>
|
8123
|
+
</xsl:if>
|
8124
|
+
</xsl:template>
|
8125
|
+
<xsl:template name="setImageHeight">
|
8126
|
+
<xsl:if test="@height != '' and @height != 'auto'">
|
8127
|
+
<xsl:value-of select="@height"/>
|
8128
|
+
</xsl:if>
|
8129
|
+
</xsl:template>
|
8130
|
+
<xsl:template name="setImageWidthHeight">
|
8131
|
+
<xsl:variable name="width">
|
8132
|
+
<xsl:call-template name="setImageWidth"/>
|
8133
|
+
</xsl:variable>
|
8134
|
+
<xsl:if test="$width != ''">
|
8135
|
+
<xsl:attribute name="width">
|
8136
|
+
<xsl:value-of select="$width"/>
|
8137
|
+
</xsl:attribute>
|
8138
|
+
</xsl:if>
|
8139
|
+
<xsl:variable name="height">
|
8140
|
+
<xsl:call-template name="setImageHeight"/>
|
8141
|
+
</xsl:variable>
|
8142
|
+
<xsl:if test="$height != ''">
|
8143
|
+
<xsl:attribute name="height">
|
8144
|
+
<xsl:value-of select="$height"/>
|
8145
|
+
</xsl:attribute>
|
8146
|
+
</xsl:if>
|
8147
|
+
</xsl:template>
|
8148
|
+
|
8149
|
+
<xsl:template name="getImageScale">
|
8150
|
+
<xsl:param name="indent"/>
|
8151
|
+
<xsl:variable name="indent_left">
|
8152
|
+
<xsl:choose>
|
8153
|
+
<xsl:when test="$indent != ''"><xsl:value-of select="$indent"/></xsl:when>
|
8154
|
+
<xsl:otherwise>0</xsl:otherwise>
|
8155
|
+
</xsl:choose>
|
8156
|
+
</xsl:variable>
|
8157
|
+
<xsl:variable name="img_src">
|
8158
|
+
<xsl:choose>
|
8159
|
+
<xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
|
8160
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
8161
|
+
</xsl:choose>
|
8162
|
+
</xsl:variable>
|
8163
|
+
|
8164
|
+
<xsl:variable name="image_width_effective">
|
8165
|
+
|
8166
|
+
<xsl:value-of select="$width_effective - number($indent_left)"/>
|
8167
|
+
|
8168
|
+
</xsl:variable>
|
8169
|
+
<!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
|
8170
|
+
<xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
|
8171
|
+
<xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
|
8172
|
+
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
8173
|
+
<xsl:value-of select="$scale"/>
|
8174
|
+
</xsl:template>
|
8175
|
+
|
8030
8176
|
<xsl:template name="image_src">
|
8031
8177
|
<xsl:choose>
|
8032
8178
|
<xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
|
@@ -10753,6 +10899,7 @@
|
|
10753
10899
|
</xsl:template>
|
10754
10900
|
|
10755
10901
|
<xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
10902
|
+
<xsl:param name="indent">0</xsl:param>
|
10756
10903
|
<xsl:choose>
|
10757
10904
|
<xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
|
10758
10905
|
<fo:block-container role="SKIP">
|
@@ -10767,7 +10914,9 @@
|
|
10767
10914
|
|
10768
10915
|
<fo:block-container margin-left="0mm" role="SKIP">
|
10769
10916
|
<fo:block>
|
10770
|
-
<xsl:apply-templates select="." mode="list"
|
10917
|
+
<xsl:apply-templates select="." mode="list">
|
10918
|
+
<xsl:with-param name="indent" select="$indent"/>
|
10919
|
+
</xsl:apply-templates>
|
10771
10920
|
</fo:block>
|
10772
10921
|
</fo:block-container>
|
10773
10922
|
</fo:block-container>
|
@@ -10775,7 +10924,9 @@
|
|
10775
10924
|
<xsl:otherwise>
|
10776
10925
|
|
10777
10926
|
<fo:block role="SKIP">
|
10778
|
-
<xsl:apply-templates select="." mode="list"
|
10927
|
+
<xsl:apply-templates select="." mode="list">
|
10928
|
+
<xsl:with-param name="indent" select="$indent"/>
|
10929
|
+
</xsl:apply-templates>
|
10779
10930
|
</fo:block>
|
10780
10931
|
|
10781
10932
|
</xsl:otherwise>
|
@@ -10860,6 +11011,13 @@
|
|
10860
11011
|
</xsl:template>
|
10861
11012
|
|
10862
11013
|
<xsl:template match="*[local-name()='li']">
|
11014
|
+
<xsl:param name="indent">0</xsl:param>
|
11015
|
+
<!-- <fo:list-item xsl:use-attribute-sets="list-item-style">
|
11016
|
+
<fo:list-item-label end-indent="label-end()"><fo:block>x</fo:block></fo:list-item-label>
|
11017
|
+
<fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
|
11018
|
+
<fo:block>debug li indent=<xsl:value-of select="$indent"/></fo:block>
|
11019
|
+
</fo:list-item-body>
|
11020
|
+
</fo:list-item> -->
|
10863
11021
|
<fo:list-item xsl:use-attribute-sets="list-item-style">
|
10864
11022
|
<xsl:copy-of select="@id"/>
|
10865
11023
|
|
@@ -10884,7 +11042,9 @@
|
|
10884
11042
|
|
10885
11043
|
<xsl:call-template name="refine_list-item-body-style"/>
|
10886
11044
|
|
10887
|
-
<xsl:apply-templates
|
11045
|
+
<xsl:apply-templates>
|
11046
|
+
<xsl:with-param name="indent" select="$indent"/>
|
11047
|
+
</xsl:apply-templates>
|
10888
11048
|
|
10889
11049
|
<!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
|
10890
11050
|
|
@@ -6966,10 +6966,11 @@
|
|
6966
6966
|
</xsl:template>
|
6967
6967
|
|
6968
6968
|
<xsl:template match="*[local-name() = 'image']">
|
6969
|
+
<xsl:param name="indent">0</xsl:param>
|
6969
6970
|
<xsl:variable name="isAdded" select="../@added"/>
|
6970
6971
|
<xsl:variable name="isDeleted" select="../@deleted"/>
|
6971
6972
|
<xsl:choose>
|
6972
|
-
<xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
|
6973
|
+
<xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']"> <!-- inline image ( 'image:path' in adoc, with one colon after image) -->
|
6973
6974
|
<fo:inline padding-left="1mm" padding-right="1mm">
|
6974
6975
|
<xsl:if test="not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
|
6975
6976
|
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
@@ -6978,7 +6979,43 @@
|
|
6978
6979
|
<xsl:variable name="src">
|
6979
6980
|
<xsl:call-template name="image_src"/>
|
6980
6981
|
</xsl:variable>
|
6981
|
-
|
6982
|
+
|
6983
|
+
<xsl:variable name="scale">
|
6984
|
+
<xsl:call-template name="getImageScale">
|
6985
|
+
<xsl:with-param name="indent" select="$indent"/>
|
6986
|
+
</xsl:call-template>
|
6987
|
+
</xsl:variable>
|
6988
|
+
|
6989
|
+
<!-- debug scale='<xsl:value-of select="$scale"/>', indent='<xsl:value-of select="$indent"/>' -->
|
6990
|
+
|
6991
|
+
<!-- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle"/> -->
|
6992
|
+
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle">
|
6993
|
+
|
6994
|
+
<xsl:variable name="width">
|
6995
|
+
<xsl:call-template name="setImageWidth"/>
|
6996
|
+
</xsl:variable>
|
6997
|
+
<xsl:if test="$width != ''">
|
6998
|
+
<xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute>
|
6999
|
+
</xsl:if>
|
7000
|
+
<xsl:variable name="height">
|
7001
|
+
<xsl:call-template name="setImageHeight"/>
|
7002
|
+
</xsl:variable>
|
7003
|
+
<xsl:if test="$height != ''">
|
7004
|
+
<xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute>
|
7005
|
+
</xsl:if>
|
7006
|
+
|
7007
|
+
<xsl:if test="$width = '' and $height = ''">
|
7008
|
+
<xsl:if test="number($scale) < 100">
|
7009
|
+
<xsl:attribute name="content-width"><xsl:value-of select="number($scale)"/>%</xsl:attribute>
|
7010
|
+
<!-- <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
|
7011
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
7012
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
7013
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute> -->
|
7014
|
+
</xsl:if>
|
7015
|
+
</xsl:if>
|
7016
|
+
|
7017
|
+
</fo:external-graphic>
|
7018
|
+
|
6982
7019
|
</fo:inline>
|
6983
7020
|
</xsl:when>
|
6984
7021
|
<xsl:otherwise>
|
@@ -6999,25 +7036,23 @@
|
|
6999
7036
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
7000
7037
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
7001
7038
|
|
7002
|
-
|
7039
|
+
<xsl:apply-templates select="." mode="cross_image"/>
|
7003
7040
|
|
7004
7041
|
</fo:instream-foreign-object>
|
7005
7042
|
</xsl:when>
|
7006
7043
|
<xsl:otherwise>
|
7044
|
+
<!-- <fo:block>debug block image:
|
7045
|
+
<xsl:variable name="scale">
|
7046
|
+
<xsl:call-template name="getImageScale">
|
7047
|
+
<xsl:with-param name="indent" select="$indent"/>
|
7048
|
+
</xsl:call-template>
|
7049
|
+
</xsl:variable>
|
7050
|
+
<xsl:value-of select="concat('scale=', $scale,', indent=', $indent)"/>
|
7051
|
+
</fo:block> -->
|
7007
7052
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
7008
7053
|
<xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
|
7009
7054
|
|
7010
|
-
<xsl:
|
7011
|
-
<xsl:attribute name="width">
|
7012
|
-
<xsl:value-of select="@width"/>
|
7013
|
-
</xsl:attribute>
|
7014
|
-
</xsl:if>
|
7015
|
-
|
7016
|
-
<xsl:if test="@height != '' and @height != 'auto'">
|
7017
|
-
<xsl:attribute name="height">
|
7018
|
-
<xsl:value-of select="@height"/>
|
7019
|
-
</xsl:attribute>
|
7020
|
-
</xsl:if>
|
7055
|
+
<xsl:call-template name="setImageWidthHeight"/>
|
7021
7056
|
|
7022
7057
|
<xsl:choose>
|
7023
7058
|
<xsl:when test="@width != '' and @width != 'auto' and @height != '' and @height != 'auto'">
|
@@ -7025,24 +7060,18 @@
|
|
7025
7060
|
</xsl:when>
|
7026
7061
|
<xsl:otherwise>
|
7027
7062
|
|
7028
|
-
<xsl:variable name="
|
7029
|
-
<xsl:
|
7030
|
-
<xsl:
|
7031
|
-
|
7032
|
-
</xsl:choose>
|
7063
|
+
<xsl:variable name="scale">
|
7064
|
+
<xsl:call-template name="getImageScale">
|
7065
|
+
<xsl:with-param name="indent" select="$indent"/>
|
7066
|
+
</xsl:call-template>
|
7033
7067
|
</xsl:variable>
|
7034
7068
|
|
7035
|
-
<xsl:variable name="
|
7036
|
-
|
7037
|
-
<xsl:value-of select="$width_effective"/>
|
7038
|
-
|
7069
|
+
<xsl:variable name="scaleRatio">
|
7070
|
+
1
|
7039
7071
|
</xsl:variable>
|
7040
7072
|
|
7041
|
-
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
7042
7073
|
<xsl:if test="number($scale) < 100">
|
7043
|
-
|
7044
|
-
<xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
|
7045
|
-
|
7074
|
+
<xsl:attribute name="content-width"><xsl:value-of select="number($scale) * number($scaleRatio)"/>%</xsl:attribute>
|
7046
7075
|
</xsl:if>
|
7047
7076
|
</xsl:otherwise>
|
7048
7077
|
</xsl:choose>
|
@@ -7058,6 +7087,62 @@
|
|
7058
7087
|
</xsl:choose>
|
7059
7088
|
</xsl:template>
|
7060
7089
|
|
7090
|
+
<xsl:template name="setImageWidth">
|
7091
|
+
<xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
|
7092
|
+
<xsl:value-of select="@width"/>
|
7093
|
+
</xsl:if>
|
7094
|
+
</xsl:template>
|
7095
|
+
<xsl:template name="setImageHeight">
|
7096
|
+
<xsl:if test="@height != '' and @height != 'auto'">
|
7097
|
+
<xsl:value-of select="@height"/>
|
7098
|
+
</xsl:if>
|
7099
|
+
</xsl:template>
|
7100
|
+
<xsl:template name="setImageWidthHeight">
|
7101
|
+
<xsl:variable name="width">
|
7102
|
+
<xsl:call-template name="setImageWidth"/>
|
7103
|
+
</xsl:variable>
|
7104
|
+
<xsl:if test="$width != ''">
|
7105
|
+
<xsl:attribute name="width">
|
7106
|
+
<xsl:value-of select="$width"/>
|
7107
|
+
</xsl:attribute>
|
7108
|
+
</xsl:if>
|
7109
|
+
<xsl:variable name="height">
|
7110
|
+
<xsl:call-template name="setImageHeight"/>
|
7111
|
+
</xsl:variable>
|
7112
|
+
<xsl:if test="$height != ''">
|
7113
|
+
<xsl:attribute name="height">
|
7114
|
+
<xsl:value-of select="$height"/>
|
7115
|
+
</xsl:attribute>
|
7116
|
+
</xsl:if>
|
7117
|
+
</xsl:template>
|
7118
|
+
|
7119
|
+
<xsl:template name="getImageScale">
|
7120
|
+
<xsl:param name="indent"/>
|
7121
|
+
<xsl:variable name="indent_left">
|
7122
|
+
<xsl:choose>
|
7123
|
+
<xsl:when test="$indent != ''"><xsl:value-of select="$indent"/></xsl:when>
|
7124
|
+
<xsl:otherwise>0</xsl:otherwise>
|
7125
|
+
</xsl:choose>
|
7126
|
+
</xsl:variable>
|
7127
|
+
<xsl:variable name="img_src">
|
7128
|
+
<xsl:choose>
|
7129
|
+
<xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
|
7130
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
7131
|
+
</xsl:choose>
|
7132
|
+
</xsl:variable>
|
7133
|
+
|
7134
|
+
<xsl:variable name="image_width_effective">
|
7135
|
+
|
7136
|
+
<xsl:value-of select="$width_effective - number($indent_left)"/>
|
7137
|
+
|
7138
|
+
</xsl:variable>
|
7139
|
+
<!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
|
7140
|
+
<xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
|
7141
|
+
<xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
|
7142
|
+
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
|
7143
|
+
<xsl:value-of select="$scale"/>
|
7144
|
+
</xsl:template>
|
7145
|
+
|
7061
7146
|
<xsl:template name="image_src">
|
7062
7147
|
<xsl:choose>
|
7063
7148
|
<xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
|
@@ -9765,6 +9850,7 @@
|
|
9765
9850
|
</xsl:template>
|
9766
9851
|
|
9767
9852
|
<xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
9853
|
+
<xsl:param name="indent">0</xsl:param>
|
9768
9854
|
<xsl:choose>
|
9769
9855
|
<xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
|
9770
9856
|
<fo:block-container role="SKIP">
|
@@ -9779,7 +9865,9 @@
|
|
9779
9865
|
|
9780
9866
|
<fo:block-container margin-left="0mm" role="SKIP">
|
9781
9867
|
<fo:block>
|
9782
|
-
<xsl:apply-templates select="." mode="list"
|
9868
|
+
<xsl:apply-templates select="." mode="list">
|
9869
|
+
<xsl:with-param name="indent" select="$indent"/>
|
9870
|
+
</xsl:apply-templates>
|
9783
9871
|
</fo:block>
|
9784
9872
|
</fo:block-container>
|
9785
9873
|
</fo:block-container>
|
@@ -9787,7 +9875,9 @@
|
|
9787
9875
|
<xsl:otherwise>
|
9788
9876
|
|
9789
9877
|
<fo:block role="SKIP">
|
9790
|
-
<xsl:apply-templates select="." mode="list"
|
9878
|
+
<xsl:apply-templates select="." mode="list">
|
9879
|
+
<xsl:with-param name="indent" select="$indent"/>
|
9880
|
+
</xsl:apply-templates>
|
9791
9881
|
</fo:block>
|
9792
9882
|
|
9793
9883
|
</xsl:otherwise>
|
@@ -9872,6 +9962,13 @@
|
|
9872
9962
|
</xsl:template>
|
9873
9963
|
|
9874
9964
|
<xsl:template match="*[local-name()='li']">
|
9965
|
+
<xsl:param name="indent">0</xsl:param>
|
9966
|
+
<!-- <fo:list-item xsl:use-attribute-sets="list-item-style">
|
9967
|
+
<fo:list-item-label end-indent="label-end()"><fo:block>x</fo:block></fo:list-item-label>
|
9968
|
+
<fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
|
9969
|
+
<fo:block>debug li indent=<xsl:value-of select="$indent"/></fo:block>
|
9970
|
+
</fo:list-item-body>
|
9971
|
+
</fo:list-item> -->
|
9875
9972
|
<fo:list-item xsl:use-attribute-sets="list-item-style">
|
9876
9973
|
<xsl:copy-of select="@id"/>
|
9877
9974
|
|
@@ -9896,7 +9993,9 @@
|
|
9896
9993
|
|
9897
9994
|
<xsl:call-template name="refine_list-item-body-style"/>
|
9898
9995
|
|
9899
|
-
<xsl:apply-templates
|
9996
|
+
<xsl:apply-templates>
|
9997
|
+
<xsl:with-param name="indent" select="$indent"/>
|
9998
|
+
</xsl:apply-templates>
|
9900
9999
|
|
9901
10000
|
<!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
|
9902
10001
|
|