metanorma-itu 2.4.6 → 2.4.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -9031,10 +9031,11 @@
9031
9031
  </xsl:template>
9032
9032
 
9033
9033
  <xsl:template match="*[local-name() = 'image']">
9034
+ <xsl:param name="indent">0</xsl:param>
9034
9035
  <xsl:variable name="isAdded" select="../@added"/>
9035
9036
  <xsl:variable name="isDeleted" select="../@deleted"/>
9036
9037
  <xsl:choose>
9037
- <xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
9038
+ <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) -->
9038
9039
  <fo:inline padding-left="1mm" padding-right="1mm">
9039
9040
  <xsl:if test="not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
9040
9041
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
@@ -9043,7 +9044,43 @@
9043
9044
  <xsl:variable name="src">
9044
9045
  <xsl:call-template name="image_src"/>
9045
9046
  </xsl:variable>
9046
- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle"/>
9047
+
9048
+ <xsl:variable name="scale">
9049
+ <xsl:call-template name="getImageScale">
9050
+ <xsl:with-param name="indent" select="$indent"/>
9051
+ </xsl:call-template>
9052
+ </xsl:variable>
9053
+
9054
+ <!-- debug scale='<xsl:value-of select="$scale"/>', indent='<xsl:value-of select="$indent"/>' -->
9055
+
9056
+ <!-- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle"/> -->
9057
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle">
9058
+
9059
+ <xsl:variable name="width">
9060
+ <xsl:call-template name="setImageWidth"/>
9061
+ </xsl:variable>
9062
+ <xsl:if test="$width != ''">
9063
+ <xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute>
9064
+ </xsl:if>
9065
+ <xsl:variable name="height">
9066
+ <xsl:call-template name="setImageHeight"/>
9067
+ </xsl:variable>
9068
+ <xsl:if test="$height != ''">
9069
+ <xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute>
9070
+ </xsl:if>
9071
+
9072
+ <xsl:if test="$width = '' and $height = ''">
9073
+ <xsl:if test="number($scale) &lt; 100">
9074
+ <xsl:attribute name="content-width"><xsl:value-of select="number($scale)"/>%</xsl:attribute>
9075
+ <!-- <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
9076
+ <xsl:attribute name="content-height">100%</xsl:attribute>
9077
+ <xsl:attribute name="width">100%</xsl:attribute>
9078
+ <xsl:attribute name="scaling">uniform</xsl:attribute> -->
9079
+ </xsl:if>
9080
+ </xsl:if>
9081
+
9082
+ </fo:external-graphic>
9083
+
9047
9084
  </fo:inline>
9048
9085
  </xsl:when>
9049
9086
  <xsl:otherwise>
@@ -9064,25 +9101,23 @@
9064
9101
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
9065
9102
  <xsl:attribute name="scaling">uniform</xsl:attribute>
9066
9103
 
9067
- <xsl:apply-templates select="." mode="cross_image"/>
9104
+ <xsl:apply-templates select="." mode="cross_image"/>
9068
9105
 
9069
9106
  </fo:instream-foreign-object>
9070
9107
  </xsl:when>
9071
9108
  <xsl:otherwise>
9109
+ <!-- <fo:block>debug block image:
9110
+ <xsl:variable name="scale">
9111
+ <xsl:call-template name="getImageScale">
9112
+ <xsl:with-param name="indent" select="$indent"/>
9113
+ </xsl:call-template>
9114
+ </xsl:variable>
9115
+ <xsl:value-of select="concat('scale=', $scale,', indent=', $indent)"/>
9116
+ </fo:block> -->
9072
9117
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
9073
9118
  <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'])">
9074
9119
 
9075
- <xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
9076
- <xsl:attribute name="width">
9077
- <xsl:value-of select="@width"/>
9078
- </xsl:attribute>
9079
- </xsl:if>
9080
-
9081
- <xsl:if test="@height != '' and @height != 'auto'">
9082
- <xsl:attribute name="height">
9083
- <xsl:value-of select="@height"/>
9084
- </xsl:attribute>
9085
- </xsl:if>
9120
+ <xsl:call-template name="setImageWidthHeight"/>
9086
9121
 
9087
9122
  <xsl:choose>
9088
9123
  <xsl:when test="@width != '' and @width != 'auto' and @height != '' and @height != 'auto'">
@@ -9090,24 +9125,18 @@
9090
9125
  </xsl:when>
9091
9126
  <xsl:otherwise>
9092
9127
 
9093
- <xsl:variable name="img_src">
9094
- <xsl:choose>
9095
- <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
9096
- <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
9097
- </xsl:choose>
9128
+ <xsl:variable name="scale">
9129
+ <xsl:call-template name="getImageScale">
9130
+ <xsl:with-param name="indent" select="$indent"/>
9131
+ </xsl:call-template>
9098
9132
  </xsl:variable>
9099
9133
 
9100
- <xsl:variable name="image_width_effective">
9101
-
9102
- <xsl:value-of select="$width_effective"/>
9103
-
9134
+ <xsl:variable name="scaleRatio">
9135
+ 1
9104
9136
  </xsl:variable>
9105
9137
 
9106
- <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
9107
9138
  <xsl:if test="number($scale) &lt; 100">
9108
-
9109
- <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
9110
-
9139
+ <xsl:attribute name="content-width"><xsl:value-of select="number($scale) * number($scaleRatio)"/>%</xsl:attribute>
9111
9140
  </xsl:if>
9112
9141
  </xsl:otherwise>
9113
9142
  </xsl:choose>
@@ -9123,6 +9152,62 @@
9123
9152
  </xsl:choose>
9124
9153
  </xsl:template>
9125
9154
 
9155
+ <xsl:template name="setImageWidth">
9156
+ <xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
9157
+ <xsl:value-of select="@width"/>
9158
+ </xsl:if>
9159
+ </xsl:template>
9160
+ <xsl:template name="setImageHeight">
9161
+ <xsl:if test="@height != '' and @height != 'auto'">
9162
+ <xsl:value-of select="@height"/>
9163
+ </xsl:if>
9164
+ </xsl:template>
9165
+ <xsl:template name="setImageWidthHeight">
9166
+ <xsl:variable name="width">
9167
+ <xsl:call-template name="setImageWidth"/>
9168
+ </xsl:variable>
9169
+ <xsl:if test="$width != ''">
9170
+ <xsl:attribute name="width">
9171
+ <xsl:value-of select="$width"/>
9172
+ </xsl:attribute>
9173
+ </xsl:if>
9174
+ <xsl:variable name="height">
9175
+ <xsl:call-template name="setImageHeight"/>
9176
+ </xsl:variable>
9177
+ <xsl:if test="$height != ''">
9178
+ <xsl:attribute name="height">
9179
+ <xsl:value-of select="$height"/>
9180
+ </xsl:attribute>
9181
+ </xsl:if>
9182
+ </xsl:template>
9183
+
9184
+ <xsl:template name="getImageScale">
9185
+ <xsl:param name="indent"/>
9186
+ <xsl:variable name="indent_left">
9187
+ <xsl:choose>
9188
+ <xsl:when test="$indent != ''"><xsl:value-of select="$indent"/></xsl:when>
9189
+ <xsl:otherwise>0</xsl:otherwise>
9190
+ </xsl:choose>
9191
+ </xsl:variable>
9192
+ <xsl:variable name="img_src">
9193
+ <xsl:choose>
9194
+ <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
9195
+ <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
9196
+ </xsl:choose>
9197
+ </xsl:variable>
9198
+
9199
+ <xsl:variable name="image_width_effective">
9200
+
9201
+ <xsl:value-of select="$width_effective - number($indent_left)"/>
9202
+
9203
+ </xsl:variable>
9204
+ <!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
9205
+ <xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
9206
+ <xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
9207
+ <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
9208
+ <xsl:value-of select="$scale"/>
9209
+ </xsl:template>
9210
+
9126
9211
  <xsl:template name="image_src">
9127
9212
  <xsl:choose>
9128
9213
  <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
@@ -11808,6 +11893,7 @@
11808
11893
  </xsl:template>
11809
11894
 
11810
11895
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
11896
+ <xsl:param name="indent">0</xsl:param>
11811
11897
  <xsl:choose>
11812
11898
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
11813
11899
  <fo:block-container role="SKIP">
@@ -11822,7 +11908,9 @@
11822
11908
 
11823
11909
  <fo:block-container margin-left="0mm" role="SKIP">
11824
11910
  <fo:block>
11825
- <xsl:apply-templates select="." mode="list"/>
11911
+ <xsl:apply-templates select="." mode="list">
11912
+ <xsl:with-param name="indent" select="$indent"/>
11913
+ </xsl:apply-templates>
11826
11914
  </fo:block>
11827
11915
  </fo:block-container>
11828
11916
  </fo:block-container>
@@ -11830,7 +11918,9 @@
11830
11918
  <xsl:otherwise>
11831
11919
 
11832
11920
  <fo:block role="SKIP">
11833
- <xsl:apply-templates select="." mode="list"/>
11921
+ <xsl:apply-templates select="." mode="list">
11922
+ <xsl:with-param name="indent" select="$indent"/>
11923
+ </xsl:apply-templates>
11834
11924
  </fo:block>
11835
11925
 
11836
11926
  </xsl:otherwise>
@@ -11915,6 +12005,13 @@
11915
12005
  </xsl:template>
11916
12006
 
11917
12007
  <xsl:template match="*[local-name()='li']">
12008
+ <xsl:param name="indent">0</xsl:param>
12009
+ <!-- <fo:list-item xsl:use-attribute-sets="list-item-style">
12010
+ <fo:list-item-label end-indent="label-end()"><fo:block>x</fo:block></fo:list-item-label>
12011
+ <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
12012
+ <fo:block>debug li indent=<xsl:value-of select="$indent"/></fo:block>
12013
+ </fo:list-item-body>
12014
+ </fo:list-item> -->
11918
12015
  <fo:list-item xsl:use-attribute-sets="list-item-style">
11919
12016
  <xsl:copy-of select="@id"/>
11920
12017
 
@@ -11939,7 +12036,9 @@
11939
12036
 
11940
12037
  <xsl:call-template name="refine_list-item-body-style"/>
11941
12038
 
11942
- <xsl:apply-templates/>
12039
+ <xsl:apply-templates>
12040
+ <xsl:with-param name="indent" select="$indent"/>
12041
+ </xsl:apply-templates>
11943
12042
 
11944
12043
  <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
11945
12044
 
@@ -95,7 +95,7 @@
95
95
  <text/>
96
96
  </element>
97
97
  </define>
98
- <define name="LocalizedString1">
98
+ <define name="LocalizedStringAttrs">
99
99
  <optional>
100
100
  <!-- multiple languages and scripts possible: comma delimit them if so -->
101
101
  <attribute name="language"/>
@@ -106,6 +106,10 @@
106
106
  <optional>
107
107
  <attribute name="script"/>
108
108
  </optional>
109
+ </define>
110
+ <define name="LocalizedString1">
111
+ <!-- multiple languages and scripts possible: comma delimit them if so -->
112
+ <ref name="LocalizedStringAttrs"/>
109
113
  <text/>
110
114
  </define>
111
115
  <define name="LocalizedString">
@@ -142,16 +146,8 @@
142
146
  <ref name="LocalizedStringOrXsAny"/>
143
147
  </define>
144
148
  <define name="LocalizedStringOrXsAny1">
145
- <optional>
146
- <!-- multiple languages and scripts possible: comma delimit them if so -->
147
- <attribute name="language"/>
148
- </optional>
149
- <optional>
150
- <attribute name="locale"/>
151
- </optional>
152
- <optional>
153
- <attribute name="script"/>
154
- </optional>
149
+ <!-- multiple languages and scripts possible: comma delimit them if so -->
150
+ <ref name="LocalizedStringAttrs"/>
155
151
  <oneOrMore>
156
152
  <choice>
157
153
  <text/>
@@ -208,6 +204,7 @@
208
204
  </define>
209
205
  <define name="roledescription">
210
206
  <element name="description">
207
+ <ref name="LocalizedStringAttrs"/>
211
208
  <oneOrMore>
212
209
  <ref name="TextElement"/>
213
210
  </oneOrMore>
@@ -335,6 +332,7 @@
335
332
  </define>
336
333
  <define name="affiliationdescription">
337
334
  <element name="description">
335
+ <ref name="LocalizedStringAttrs"/>
338
336
  <oneOrMore>
339
337
  <ref name="TextElement"/>
340
338
  </oneOrMore>
@@ -948,6 +946,7 @@
948
946
  <optional>
949
947
  <attribute name="type"/>
950
948
  </optional>
949
+ <ref name="LocalizedStringAttrs"/>
951
950
  <zeroOrMore>
952
951
  <ref name="TextElement"/>
953
952
  </zeroOrMore>
@@ -1041,15 +1040,7 @@
1041
1040
  <data type="boolean"/>
1042
1041
  </attribute>
1043
1042
  </optional>
1044
- <optional>
1045
- <attribute name="language"/>
1046
- </optional>
1047
- <optional>
1048
- <attribute name="locale"/>
1049
- </optional>
1050
- <optional>
1051
- <attribute name="script"/>
1052
- </optional>
1043
+ <ref name="LocalizedStringAttrs"/>
1053
1044
  <oneOrMore>
1054
1045
  <ref name="TextElement"/>
1055
1046
  </oneOrMore>
@@ -1277,6 +1268,7 @@
1277
1268
  <optional>
1278
1269
  <attribute name="type"/>
1279
1270
  </optional>
1271
+ <ref name="LocalizedStringAttrs"/>
1280
1272
  <oneOrMore>
1281
1273
  <ref name="TextElement"/>
1282
1274
  </oneOrMore>
@@ -1284,9 +1276,15 @@
1284
1276
  </define>
1285
1277
  <define name="bibabstract">
1286
1278
  <element name="abstract">
1287
- <oneOrMore>
1288
- <ref name="TextElement"/>
1289
- </oneOrMore>
1279
+ <ref name="LocalizedStringAttrs"/>
1280
+ <choice>
1281
+ <oneOrMore>
1282
+ <ref name="BasicBlock"/>
1283
+ </oneOrMore>
1284
+ <oneOrMore>
1285
+ <ref name="TextElement"/>
1286
+ </oneOrMore>
1287
+ </choice>
1290
1288
  </element>
1291
1289
  </define>
1292
1290
  <define name="copyright">
@@ -1391,6 +1389,7 @@
1391
1389
  </attribute>
1392
1390
  <optional>
1393
1391
  <element name="description">
1392
+ <ref name="LocalizedStringAttrs"/>
1394
1393
  <oneOrMore>
1395
1394
  <ref name="TextElement"/>
1396
1395
  </oneOrMore>
@@ -17,7 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <!-- VERSION v1.3.0 -->
20
+ <!-- VERSION v1.3.1 -->
21
21
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
22
22
  <include href="reqt.rng"/>
23
23
  <include href="basicdoc.rng">
@@ -1346,38 +1346,41 @@
1346
1346
  </oneOrMore>
1347
1347
  </element>
1348
1348
  </define>
1349
+ <define name="Section-Attributes">
1350
+ <optional>
1351
+ <attribute name="id">
1352
+ <data type="ID"/>
1353
+ </attribute>
1354
+ </optional>
1355
+ <optional>
1356
+ <attribute name="language"/>
1357
+ </optional>
1358
+ <optional>
1359
+ <attribute name="script"/>
1360
+ </optional>
1361
+ <optional>
1362
+ <attribute name="inline-header">
1363
+ <data type="boolean"/>
1364
+ </attribute>
1365
+ </optional>
1366
+ <optional>
1367
+ <attribute name="number"/>
1368
+ </optional>
1369
+ <optional>
1370
+ <attribute name="branch-number"/>
1371
+ </optional>
1372
+ <optional>
1373
+ <attribute name="obligation">
1374
+ <choice>
1375
+ <value>normative</value>
1376
+ <value>informative</value>
1377
+ </choice>
1378
+ </attribute>
1379
+ </optional>
1380
+ </define>
1349
1381
  <define name="reference-clause">
1350
1382
  <element name="clause">
1351
- <optional>
1352
- <attribute name="id">
1353
- <data type="ID"/>
1354
- </attribute>
1355
- </optional>
1356
- <optional>
1357
- <attribute name="language"/>
1358
- </optional>
1359
- <optional>
1360
- <attribute name="script"/>
1361
- </optional>
1362
- <optional>
1363
- <attribute name="inline-header">
1364
- <data type="boolean"/>
1365
- </attribute>
1366
- </optional>
1367
- <optional>
1368
- <attribute name="number"/>
1369
- </optional>
1370
- <optional>
1371
- <attribute name="branch-number"/>
1372
- </optional>
1373
- <optional>
1374
- <attribute name="obligation">
1375
- <choice>
1376
- <value>normative</value>
1377
- <value>informative</value>
1378
- </choice>
1379
- </attribute>
1380
- </optional>
1383
+ <ref name="Section-Attributes"/>
1381
1384
  <optional>
1382
1385
  <ref name="section-title"/>
1383
1386
  </optional>
@@ -1566,36 +1569,7 @@
1566
1569
  </element>
1567
1570
  </define>
1568
1571
  <define name="Content-Section">
1569
- <optional>
1570
- <attribute name="id">
1571
- <data type="ID"/>
1572
- </attribute>
1573
- </optional>
1574
- <optional>
1575
- <attribute name="language"/>
1576
- </optional>
1577
- <optional>
1578
- <attribute name="script"/>
1579
- </optional>
1580
- <optional>
1581
- <attribute name="inline-header">
1582
- <data type="boolean"/>
1583
- </attribute>
1584
- </optional>
1585
- <optional>
1586
- <attribute name="obligation">
1587
- <choice>
1588
- <value>normative</value>
1589
- <value>informative</value>
1590
- </choice>
1591
- </attribute>
1592
- </optional>
1593
- <optional>
1594
- <attribute name="number"/>
1595
- </optional>
1596
- <optional>
1597
- <attribute name="branch-number"/>
1598
- </optional>
1572
+ <ref name="Section-Attributes"/>
1599
1573
  <optional>
1600
1574
  <attribute name="type"/>
1601
1575
  </optional>
@@ -1617,39 +1591,10 @@
1617
1591
  </element>
1618
1592
  </define>
1619
1593
  <define name="Clause-Section">
1620
- <optional>
1621
- <attribute name="id">
1622
- <data type="ID"/>
1623
- </attribute>
1624
- </optional>
1625
- <optional>
1626
- <attribute name="language"/>
1627
- </optional>
1628
- <optional>
1629
- <attribute name="script"/>
1630
- </optional>
1631
- <optional>
1632
- <attribute name="inline-header">
1633
- <data type="boolean"/>
1634
- </attribute>
1635
- </optional>
1636
- <optional>
1637
- <attribute name="obligation">
1638
- <choice>
1639
- <value>normative</value>
1640
- <value>informative</value>
1641
- </choice>
1642
- </attribute>
1643
- </optional>
1594
+ <ref name="Section-Attributes"/>
1644
1595
  <optional>
1645
1596
  <attribute name="type"/>
1646
1597
  </optional>
1647
- <optional>
1648
- <attribute name="number"/>
1649
- </optional>
1650
- <optional>
1651
- <attribute name="branch-number"/>
1652
- </optional>
1653
1598
  <optional>
1654
1599
  <ref name="section-title"/>
1655
1600
  </optional>
@@ -1730,34 +1675,10 @@
1730
1675
  </define>
1731
1676
  <define name="terms">
1732
1677
  <element name="terms">
1733
- <optional>
1734
- <attribute name="id">
1735
- <data type="ID"/>
1736
- </attribute>
1737
- </optional>
1738
- <optional>
1739
- <attribute name="language"/>
1740
- </optional>
1741
- <optional>
1742
- <attribute name="script"/>
1743
- </optional>
1678
+ <ref name="Section-Attributes"/>
1744
1679
  <optional>
1745
1680
  <attribute name="type"/>
1746
1681
  </optional>
1747
- <optional>
1748
- <attribute name="number"/>
1749
- </optional>
1750
- <optional>
1751
- <attribute name="branch-number"/>
1752
- </optional>
1753
- <optional>
1754
- <attribute name="obligation">
1755
- <choice>
1756
- <value>normative</value>
1757
- <value>informative</value>
1758
- </choice>
1759
- </attribute>
1760
- </optional>
1761
1682
  <optional>
1762
1683
  <ref name="section-title"/>
1763
1684
  </optional>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module ITU
3
- VERSION = "2.4.6".freeze
3
+ VERSION = "2.4.7".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-itu
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.6
4
+ version: 2.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-08 00:00:00.000000000 Z
11
+ date: 2024-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-standoc