metanorma-un 0.9.10 → 0.9.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/un/html/htmlstyle.css +1 -1
- data/lib/isodoc/un/un.plenary-attachment.xsl +119 -24
- data/lib/isodoc/un/un.plenary.xsl +119 -24
- data/lib/isodoc/un/un.recommendation.xsl +136 -18
- data/lib/metanorma/un/basicdoc.rng +0 -27
- data/lib/metanorma/un/biblio-standoc.rng +164 -0
- data/lib/metanorma/un/biblio.rng +50 -18
- data/lib/metanorma/un/isodoc.rng +68 -206
- data/lib/metanorma/un/relaton-un.rng +149 -0
- data/lib/metanorma/un/un.rng +2 -141
- data/lib/metanorma/un/version.rb +1 -1
- data/metanorma-un.gemspec +3 -2
- metadata +6 -10
- data/.github/workflows/rake.yml +0 -15
- data/.github/workflows/release.yml +0 -24
- data/Rakefile +0 -8
- data/bin/console +0 -14
- data/bin/rspec +0 -17
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a6c281824f078936a2b881891ea6eb6986bbc13e5f6dfcdf0c491afe4809ad9
|
4
|
+
data.tar.gz: bd04e7c40788f7740898a032785f053b2f0fdc4923244329c2c220826567f1d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50777f8af8469db384484c93ed2aed4a9f257993235773dfd57e4ac83240da12ea422b7d5f035b9cf7a32e20b12db1ac5f7020b37014f96429711b1f4c4ed176
|
7
|
+
data.tar.gz: 53ca280f48bc9f9ac05478088b41ad1382144e68114286ef6978a9e38f8b677979ca6363c4238d36afa5fa63d7621f9c92665cd8aee2c1a8177c07f6945ef6c9
|
@@ -212,7 +212,7 @@
|
|
212
212
|
<xsl:variable name="charsToRemove" select="concat($upper, $lower, '.()~!@#$%^*-+:')"/>
|
213
213
|
<xsl:variable name="code" select="translate(/un:un-standard/un:bibdata/un:docidentifier, $charsToRemove,'')"/>
|
214
214
|
|
215
|
-
<fo:block-container absolute-position="fixed" left="20mm" top="258mm" width="30mm" text-align="center">
|
215
|
+
<fo:block-container absolute-position="fixed" left="20mm" top="258mm" width="30mm" text-align="center" id="__internal_layout__barcode_{generate-id()}">
|
216
216
|
<fo:block font-size="10pt" text-align="left">
|
217
217
|
<xsl:value-of select="/un:un-standard/un:bibdata/un:docidentifier"/>
|
218
218
|
</fo:block>
|
@@ -284,7 +284,7 @@
|
|
284
284
|
</xsl:if>
|
285
285
|
|
286
286
|
<!-- Preface Pages (except Abstract, that showed in Summary on cover page`) -->
|
287
|
-
<xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract' or local-name()
|
287
|
+
<xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract' or local-name() = 'note' or local-name() = 'admonition')]">
|
288
288
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
289
289
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
|
290
290
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements' and local-name() != 'note' and local-name() != 'admonition']"/>
|
@@ -375,17 +375,11 @@
|
|
375
375
|
<fo:table-column column-width="17mm"/>
|
376
376
|
<fo:table-body>
|
377
377
|
<fo:table-row>
|
378
|
-
<fo:table-cell padding-left="6mm" padding-top="2.5mm">
|
378
|
+
<fo:table-cell padding-left="6mm" padding-top="2.5mm" number-columns-spanned="3">
|
379
379
|
<fo:block font-size="12pt" font-style="italic" margin-bottom="6pt" role="H2">
|
380
380
|
<xsl:apply-templates select="un:title/node()"/>
|
381
381
|
</fo:block>
|
382
382
|
</fo:table-cell>
|
383
|
-
<fo:table-cell>
|
384
|
-
<fo:block> </fo:block>
|
385
|
-
</fo:table-cell>
|
386
|
-
<fo:table-cell>
|
387
|
-
<fo:block> </fo:block>
|
388
|
-
</fo:table-cell>
|
389
383
|
</fo:table-row>
|
390
384
|
<fo:table-row>
|
391
385
|
<fo:table-cell>
|
@@ -1251,6 +1245,11 @@
|
|
1251
1245
|
</xsl:variable>
|
1252
1246
|
<xsl:variable name="table-border" select="normalize-space($table-border_)"/>
|
1253
1247
|
|
1248
|
+
<xsl:variable name="table-cell-border_">
|
1249
|
+
|
1250
|
+
</xsl:variable>
|
1251
|
+
<xsl:variable name="table-cell-border" select="normalize-space($table-cell-border_)"/>
|
1252
|
+
|
1254
1253
|
<xsl:attribute-set name="table-container-style">
|
1255
1254
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1256
1255
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
@@ -1263,8 +1262,6 @@
|
|
1263
1262
|
<xsl:attribute-set name="table-style">
|
1264
1263
|
<xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
|
1265
1264
|
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
1266
|
-
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1267
|
-
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
1268
1265
|
|
1269
1266
|
<xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
|
1270
1267
|
|
@@ -2374,10 +2371,18 @@
|
|
2374
2371
|
<xsl:variable name="table_attributes">
|
2375
2372
|
|
2376
2373
|
<xsl:element name="table_attributes" use-attribute-sets="table-style">
|
2374
|
+
|
2375
|
+
<xsl:if test="$margin-side != 0">
|
2376
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2377
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2378
|
+
</xsl:if>
|
2379
|
+
|
2377
2380
|
<xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
|
2378
2381
|
|
2379
|
-
<xsl:
|
2380
|
-
|
2382
|
+
<xsl:if test="$margin-side != 0">
|
2383
|
+
<xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
|
2384
|
+
<xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
|
2385
|
+
</xsl:if>
|
2381
2386
|
|
2382
2387
|
</xsl:element>
|
2383
2388
|
</xsl:variable>
|
@@ -3130,6 +3135,10 @@
|
|
3130
3135
|
<xsl:template match="*[local-name()='tr']">
|
3131
3136
|
<fo:table-row xsl:use-attribute-sets="table-body-row-style">
|
3132
3137
|
|
3138
|
+
<xsl:if test="*[local-name() = 'th']">
|
3139
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
3140
|
+
</xsl:if>
|
3141
|
+
|
3133
3142
|
<xsl:call-template name="setTableRowAttributes"/>
|
3134
3143
|
<xsl:apply-templates/>
|
3135
3144
|
</fo:table-row>
|
@@ -4173,8 +4182,17 @@
|
|
4173
4182
|
</fo:inline>
|
4174
4183
|
</xsl:template> <!-- tt -->
|
4175
4184
|
|
4185
|
+
<xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
|
4176
4186
|
<xsl:template match="*[local-name()='tt']/text()" priority="2">
|
4177
|
-
<xsl:
|
4187
|
+
<xsl:choose>
|
4188
|
+
<xsl:when test="java:replaceAll(java:java.lang.String.new(.), '$2', '') != ''">
|
4189
|
+
<!-- url -->
|
4190
|
+
<xsl:call-template name="add-zero-spaces-link-java"/>
|
4191
|
+
</xsl:when>
|
4192
|
+
<xsl:otherwise>
|
4193
|
+
<xsl:call-template name="add_spaces_to_sourcecode"/>
|
4194
|
+
</xsl:otherwise>
|
4195
|
+
</xsl:choose>
|
4178
4196
|
</xsl:template>
|
4179
4197
|
|
4180
4198
|
<xsl:template match="*[local-name()='underline']">
|
@@ -4530,8 +4548,11 @@
|
|
4530
4548
|
|
4531
4549
|
<xsl:template name="add-zero-spaces-link-java">
|
4532
4550
|
<xsl:param name="text" select="."/>
|
4551
|
+
|
4552
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
|
4553
|
+
<xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
|
4533
4554
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
4534
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($
|
4555
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1')"/>
|
4535
4556
|
</xsl:template>
|
4536
4557
|
|
4537
4558
|
<!-- add zero space after dash character (for table's entries) -->
|
@@ -5088,6 +5109,9 @@
|
|
5088
5109
|
<xsl:value-of select="substring($str, 2)"/>
|
5089
5110
|
</xsl:template>
|
5090
5111
|
|
5112
|
+
<!-- ======================================= -->
|
5113
|
+
<!-- math -->
|
5114
|
+
<!-- ======================================= -->
|
5091
5115
|
<xsl:template match="mathml:math">
|
5092
5116
|
<xsl:variable name="isAdded" select="@added"/>
|
5093
5117
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -5138,14 +5162,57 @@
|
|
5138
5162
|
<xsl:value-of select="$comment_text"/>
|
5139
5163
|
</xsl:template>
|
5140
5164
|
|
5165
|
+
<xsl:template match="*[local-name() = 'asciimath']">
|
5166
|
+
<xsl:param name="process" select="'false'"/>
|
5167
|
+
<xsl:if test="$process = 'true'">
|
5168
|
+
<xsl:apply-templates/>
|
5169
|
+
</xsl:if>
|
5170
|
+
</xsl:template>
|
5171
|
+
|
5172
|
+
<xsl:template match="*[local-name() = 'latexmath']"/>
|
5173
|
+
|
5174
|
+
<xsl:template name="getMathml_asciimath_text">
|
5175
|
+
<xsl:variable name="asciimath" select="../*[local-name() = 'asciimath']"/>
|
5176
|
+
<xsl:variable name="latexmath">
|
5177
|
+
|
5178
|
+
</xsl:variable>
|
5179
|
+
<xsl:variable name="asciimath_text_following">
|
5180
|
+
<xsl:choose>
|
5181
|
+
<xsl:when test="normalize-space($latexmath) != ''">
|
5182
|
+
<xsl:value-of select="$latexmath"/>
|
5183
|
+
</xsl:when>
|
5184
|
+
<xsl:when test="normalize-space($asciimath) != ''">
|
5185
|
+
<xsl:value-of select="$asciimath"/>
|
5186
|
+
</xsl:when>
|
5187
|
+
<xsl:otherwise>
|
5188
|
+
<xsl:value-of select="following-sibling::node()[1][self::comment()]"/>
|
5189
|
+
</xsl:otherwise>
|
5190
|
+
</xsl:choose>
|
5191
|
+
</xsl:variable>
|
5192
|
+
<xsl:variable name="asciimath_text_">
|
5193
|
+
<xsl:choose>
|
5194
|
+
<xsl:when test="normalize-space($asciimath_text_following) != ''">
|
5195
|
+
<xsl:value-of select="$asciimath_text_following"/>
|
5196
|
+
</xsl:when>
|
5197
|
+
<xsl:otherwise>
|
5198
|
+
<xsl:value-of select="normalize-space(translate(.,' ',' '))"/>
|
5199
|
+
</xsl:otherwise>
|
5200
|
+
</xsl:choose>
|
5201
|
+
</xsl:variable>
|
5202
|
+
<xsl:variable name="asciimath_text_2" select="java:org.metanorma.fop.Util.unescape($asciimath_text_)"/>
|
5203
|
+
<xsl:variable name="asciimath_text" select="java:trim(java:java.lang.String.new($asciimath_text_2))"/>
|
5204
|
+
<xsl:value-of select="$asciimath_text"/>
|
5205
|
+
</xsl:template>
|
5206
|
+
|
5141
5207
|
<xsl:template name="mathml_instream_object">
|
5142
|
-
<xsl:param name="
|
5208
|
+
<xsl:param name="asciimath_text"/>
|
5143
5209
|
<xsl:param name="mathml_content"/>
|
5144
5210
|
|
5145
|
-
<xsl:variable name="
|
5211
|
+
<xsl:variable name="asciimath_text_">
|
5146
5212
|
<xsl:choose>
|
5147
|
-
<xsl:when test="normalize-space($
|
5148
|
-
<xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise>
|
5213
|
+
<xsl:when test="normalize-space($asciimath_text) != ''"><xsl:value-of select="$asciimath_text"/></xsl:when>
|
5214
|
+
<!-- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise> -->
|
5215
|
+
<xsl:otherwise><xsl:call-template name="getMathml_asciimath_text"/></xsl:otherwise>
|
5149
5216
|
</xsl:choose>
|
5150
5217
|
</xsl:variable>
|
5151
5218
|
|
@@ -5162,10 +5229,10 @@
|
|
5162
5229
|
</xsl:attribute>
|
5163
5230
|
|
5164
5231
|
<!-- <xsl:if test="$add_math_as_text = 'true'"> -->
|
5165
|
-
<xsl:if test="normalize-space($
|
5232
|
+
<xsl:if test="normalize-space($asciimath_text_) != ''">
|
5166
5233
|
<!-- put Mathin Alternate Text -->
|
5167
5234
|
<xsl:attribute name="fox:alt-text">
|
5168
|
-
<xsl:value-of select="$
|
5235
|
+
<xsl:value-of select="$asciimath_text_"/>
|
5169
5236
|
</xsl:attribute>
|
5170
5237
|
</xsl:if>
|
5171
5238
|
<!-- </xsl:if> -->
|
@@ -5238,6 +5305,29 @@
|
|
5238
5305
|
<xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
|
5239
5306
|
</xsl:template>
|
5240
5307
|
|
5308
|
+
<!-- Examples:
|
5309
|
+
<stem type="AsciiMath">x = 1</stem>
|
5310
|
+
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
5311
|
+
<stem type="AsciiMath"><asciimath>x = 1</asciimath><latexmath>x = 1</latexmath></stem>
|
5312
|
+
-->
|
5313
|
+
<xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
|
5314
|
+
<fo:inline xsl:use-attribute-sets="mathml-style">
|
5315
|
+
|
5316
|
+
<xsl:choose>
|
5317
|
+
<xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
|
5318
|
+
<xsl:otherwise>
|
5319
|
+
<xsl:apply-templates>
|
5320
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
5321
|
+
</xsl:apply-templates>
|
5322
|
+
</xsl:otherwise>
|
5323
|
+
</xsl:choose>
|
5324
|
+
|
5325
|
+
</fo:inline>
|
5326
|
+
</xsl:template>
|
5327
|
+
<!-- ======================================= -->
|
5328
|
+
<!-- END: math -->
|
5329
|
+
<!-- ======================================= -->
|
5330
|
+
|
5241
5331
|
<xsl:template match="*[local-name()='localityStack']"/>
|
5242
5332
|
|
5243
5333
|
<xsl:template match="*[local-name()='link']" name="link">
|
@@ -7936,6 +8026,10 @@
|
|
7936
8026
|
|
7937
8027
|
<fo:list-block xsl:use-attribute-sets="list-style">
|
7938
8028
|
|
8029
|
+
<xsl:if test="local-name() = 'ol'">
|
8030
|
+
<xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
|
8031
|
+
</xsl:if>
|
8032
|
+
|
7939
8033
|
<xsl:if test="*[local-name() = 'name']">
|
7940
8034
|
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
7941
8035
|
</xsl:if>
|
@@ -8933,7 +9027,7 @@
|
|
8933
9027
|
|
8934
9028
|
<xsl:variable name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable>
|
8935
9029
|
|
8936
|
-
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'sourcecode'] or
|
9030
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
|
8937
9031
|
|
8938
9032
|
<!-- enclose standard's number into tag 'keep-together_within-line' -->
|
8939
9033
|
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
@@ -9409,13 +9503,14 @@
|
|
9409
9503
|
</xsl:template>
|
9410
9504
|
|
9411
9505
|
<xsl:template name="setId">
|
9506
|
+
<xsl:param name="prefix"/>
|
9412
9507
|
<xsl:attribute name="id">
|
9413
9508
|
<xsl:choose>
|
9414
9509
|
<xsl:when test="@id">
|
9415
|
-
<xsl:value-of select="@id"/>
|
9510
|
+
<xsl:value-of select="concat($prefix, @id)"/>
|
9416
9511
|
</xsl:when>
|
9417
9512
|
<xsl:otherwise>
|
9418
|
-
<xsl:value-of select="generate-id()"/>
|
9513
|
+
<xsl:value-of select="concat($prefix, generate-id())"/>
|
9419
9514
|
</xsl:otherwise>
|
9420
9515
|
</xsl:choose>
|
9421
9516
|
</xsl:attribute>
|
@@ -212,7 +212,7 @@
|
|
212
212
|
<xsl:variable name="charsToRemove" select="concat($upper, $lower, '.()~!@#$%^*-+:')"/>
|
213
213
|
<xsl:variable name="code" select="translate(/un:un-standard/un:bibdata/un:docidentifier, $charsToRemove,'')"/>
|
214
214
|
|
215
|
-
<fo:block-container absolute-position="fixed" left="20mm" top="258mm" width="30mm" text-align="center">
|
215
|
+
<fo:block-container absolute-position="fixed" left="20mm" top="258mm" width="30mm" text-align="center" id="__internal_layout__barcode_{generate-id()}">
|
216
216
|
<fo:block font-size="10pt" text-align="left">
|
217
217
|
<xsl:value-of select="/un:un-standard/un:bibdata/un:docidentifier"/>
|
218
218
|
</fo:block>
|
@@ -284,7 +284,7 @@
|
|
284
284
|
</xsl:if>
|
285
285
|
|
286
286
|
<!-- Preface Pages (except Abstract, that showed in Summary on cover page`) -->
|
287
|
-
<xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract' or local-name()
|
287
|
+
<xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract' or local-name() = 'note' or local-name() = 'admonition')]">
|
288
288
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
289
289
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
|
290
290
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements' and local-name() != 'note' and local-name() != 'admonition']"/>
|
@@ -375,17 +375,11 @@
|
|
375
375
|
<fo:table-column column-width="17mm"/>
|
376
376
|
<fo:table-body>
|
377
377
|
<fo:table-row>
|
378
|
-
<fo:table-cell padding-left="6mm" padding-top="2.5mm">
|
378
|
+
<fo:table-cell padding-left="6mm" padding-top="2.5mm" number-columns-spanned="3">
|
379
379
|
<fo:block font-size="12pt" font-style="italic" margin-bottom="6pt" role="H2">
|
380
380
|
<xsl:apply-templates select="un:title/node()"/>
|
381
381
|
</fo:block>
|
382
382
|
</fo:table-cell>
|
383
|
-
<fo:table-cell>
|
384
|
-
<fo:block> </fo:block>
|
385
|
-
</fo:table-cell>
|
386
|
-
<fo:table-cell>
|
387
|
-
<fo:block> </fo:block>
|
388
|
-
</fo:table-cell>
|
389
383
|
</fo:table-row>
|
390
384
|
<fo:table-row>
|
391
385
|
<fo:table-cell>
|
@@ -1251,6 +1245,11 @@
|
|
1251
1245
|
</xsl:variable>
|
1252
1246
|
<xsl:variable name="table-border" select="normalize-space($table-border_)"/>
|
1253
1247
|
|
1248
|
+
<xsl:variable name="table-cell-border_">
|
1249
|
+
|
1250
|
+
</xsl:variable>
|
1251
|
+
<xsl:variable name="table-cell-border" select="normalize-space($table-cell-border_)"/>
|
1252
|
+
|
1254
1253
|
<xsl:attribute-set name="table-container-style">
|
1255
1254
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1256
1255
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
@@ -1263,8 +1262,6 @@
|
|
1263
1262
|
<xsl:attribute-set name="table-style">
|
1264
1263
|
<xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
|
1265
1264
|
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
1266
|
-
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1267
|
-
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
1268
1265
|
|
1269
1266
|
<xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
|
1270
1267
|
|
@@ -2374,10 +2371,18 @@
|
|
2374
2371
|
<xsl:variable name="table_attributes">
|
2375
2372
|
|
2376
2373
|
<xsl:element name="table_attributes" use-attribute-sets="table-style">
|
2374
|
+
|
2375
|
+
<xsl:if test="$margin-side != 0">
|
2376
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2377
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2378
|
+
</xsl:if>
|
2379
|
+
|
2377
2380
|
<xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
|
2378
2381
|
|
2379
|
-
<xsl:
|
2380
|
-
|
2382
|
+
<xsl:if test="$margin-side != 0">
|
2383
|
+
<xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
|
2384
|
+
<xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
|
2385
|
+
</xsl:if>
|
2381
2386
|
|
2382
2387
|
</xsl:element>
|
2383
2388
|
</xsl:variable>
|
@@ -3130,6 +3135,10 @@
|
|
3130
3135
|
<xsl:template match="*[local-name()='tr']">
|
3131
3136
|
<fo:table-row xsl:use-attribute-sets="table-body-row-style">
|
3132
3137
|
|
3138
|
+
<xsl:if test="*[local-name() = 'th']">
|
3139
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
3140
|
+
</xsl:if>
|
3141
|
+
|
3133
3142
|
<xsl:call-template name="setTableRowAttributes"/>
|
3134
3143
|
<xsl:apply-templates/>
|
3135
3144
|
</fo:table-row>
|
@@ -4173,8 +4182,17 @@
|
|
4173
4182
|
</fo:inline>
|
4174
4183
|
</xsl:template> <!-- tt -->
|
4175
4184
|
|
4185
|
+
<xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
|
4176
4186
|
<xsl:template match="*[local-name()='tt']/text()" priority="2">
|
4177
|
-
<xsl:
|
4187
|
+
<xsl:choose>
|
4188
|
+
<xsl:when test="java:replaceAll(java:java.lang.String.new(.), '$2', '') != ''">
|
4189
|
+
<!-- url -->
|
4190
|
+
<xsl:call-template name="add-zero-spaces-link-java"/>
|
4191
|
+
</xsl:when>
|
4192
|
+
<xsl:otherwise>
|
4193
|
+
<xsl:call-template name="add_spaces_to_sourcecode"/>
|
4194
|
+
</xsl:otherwise>
|
4195
|
+
</xsl:choose>
|
4178
4196
|
</xsl:template>
|
4179
4197
|
|
4180
4198
|
<xsl:template match="*[local-name()='underline']">
|
@@ -4530,8 +4548,11 @@
|
|
4530
4548
|
|
4531
4549
|
<xsl:template name="add-zero-spaces-link-java">
|
4532
4550
|
<xsl:param name="text" select="."/>
|
4551
|
+
|
4552
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
|
4553
|
+
<xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
|
4533
4554
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
4534
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($
|
4555
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1')"/>
|
4535
4556
|
</xsl:template>
|
4536
4557
|
|
4537
4558
|
<!-- add zero space after dash character (for table's entries) -->
|
@@ -5088,6 +5109,9 @@
|
|
5088
5109
|
<xsl:value-of select="substring($str, 2)"/>
|
5089
5110
|
</xsl:template>
|
5090
5111
|
|
5112
|
+
<!-- ======================================= -->
|
5113
|
+
<!-- math -->
|
5114
|
+
<!-- ======================================= -->
|
5091
5115
|
<xsl:template match="mathml:math">
|
5092
5116
|
<xsl:variable name="isAdded" select="@added"/>
|
5093
5117
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -5138,14 +5162,57 @@
|
|
5138
5162
|
<xsl:value-of select="$comment_text"/>
|
5139
5163
|
</xsl:template>
|
5140
5164
|
|
5165
|
+
<xsl:template match="*[local-name() = 'asciimath']">
|
5166
|
+
<xsl:param name="process" select="'false'"/>
|
5167
|
+
<xsl:if test="$process = 'true'">
|
5168
|
+
<xsl:apply-templates/>
|
5169
|
+
</xsl:if>
|
5170
|
+
</xsl:template>
|
5171
|
+
|
5172
|
+
<xsl:template match="*[local-name() = 'latexmath']"/>
|
5173
|
+
|
5174
|
+
<xsl:template name="getMathml_asciimath_text">
|
5175
|
+
<xsl:variable name="asciimath" select="../*[local-name() = 'asciimath']"/>
|
5176
|
+
<xsl:variable name="latexmath">
|
5177
|
+
|
5178
|
+
</xsl:variable>
|
5179
|
+
<xsl:variable name="asciimath_text_following">
|
5180
|
+
<xsl:choose>
|
5181
|
+
<xsl:when test="normalize-space($latexmath) != ''">
|
5182
|
+
<xsl:value-of select="$latexmath"/>
|
5183
|
+
</xsl:when>
|
5184
|
+
<xsl:when test="normalize-space($asciimath) != ''">
|
5185
|
+
<xsl:value-of select="$asciimath"/>
|
5186
|
+
</xsl:when>
|
5187
|
+
<xsl:otherwise>
|
5188
|
+
<xsl:value-of select="following-sibling::node()[1][self::comment()]"/>
|
5189
|
+
</xsl:otherwise>
|
5190
|
+
</xsl:choose>
|
5191
|
+
</xsl:variable>
|
5192
|
+
<xsl:variable name="asciimath_text_">
|
5193
|
+
<xsl:choose>
|
5194
|
+
<xsl:when test="normalize-space($asciimath_text_following) != ''">
|
5195
|
+
<xsl:value-of select="$asciimath_text_following"/>
|
5196
|
+
</xsl:when>
|
5197
|
+
<xsl:otherwise>
|
5198
|
+
<xsl:value-of select="normalize-space(translate(.,' ',' '))"/>
|
5199
|
+
</xsl:otherwise>
|
5200
|
+
</xsl:choose>
|
5201
|
+
</xsl:variable>
|
5202
|
+
<xsl:variable name="asciimath_text_2" select="java:org.metanorma.fop.Util.unescape($asciimath_text_)"/>
|
5203
|
+
<xsl:variable name="asciimath_text" select="java:trim(java:java.lang.String.new($asciimath_text_2))"/>
|
5204
|
+
<xsl:value-of select="$asciimath_text"/>
|
5205
|
+
</xsl:template>
|
5206
|
+
|
5141
5207
|
<xsl:template name="mathml_instream_object">
|
5142
|
-
<xsl:param name="
|
5208
|
+
<xsl:param name="asciimath_text"/>
|
5143
5209
|
<xsl:param name="mathml_content"/>
|
5144
5210
|
|
5145
|
-
<xsl:variable name="
|
5211
|
+
<xsl:variable name="asciimath_text_">
|
5146
5212
|
<xsl:choose>
|
5147
|
-
<xsl:when test="normalize-space($
|
5148
|
-
<xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise>
|
5213
|
+
<xsl:when test="normalize-space($asciimath_text) != ''"><xsl:value-of select="$asciimath_text"/></xsl:when>
|
5214
|
+
<!-- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise> -->
|
5215
|
+
<xsl:otherwise><xsl:call-template name="getMathml_asciimath_text"/></xsl:otherwise>
|
5149
5216
|
</xsl:choose>
|
5150
5217
|
</xsl:variable>
|
5151
5218
|
|
@@ -5162,10 +5229,10 @@
|
|
5162
5229
|
</xsl:attribute>
|
5163
5230
|
|
5164
5231
|
<!-- <xsl:if test="$add_math_as_text = 'true'"> -->
|
5165
|
-
<xsl:if test="normalize-space($
|
5232
|
+
<xsl:if test="normalize-space($asciimath_text_) != ''">
|
5166
5233
|
<!-- put Mathin Alternate Text -->
|
5167
5234
|
<xsl:attribute name="fox:alt-text">
|
5168
|
-
<xsl:value-of select="$
|
5235
|
+
<xsl:value-of select="$asciimath_text_"/>
|
5169
5236
|
</xsl:attribute>
|
5170
5237
|
</xsl:if>
|
5171
5238
|
<!-- </xsl:if> -->
|
@@ -5238,6 +5305,29 @@
|
|
5238
5305
|
<xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
|
5239
5306
|
</xsl:template>
|
5240
5307
|
|
5308
|
+
<!-- Examples:
|
5309
|
+
<stem type="AsciiMath">x = 1</stem>
|
5310
|
+
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
5311
|
+
<stem type="AsciiMath"><asciimath>x = 1</asciimath><latexmath>x = 1</latexmath></stem>
|
5312
|
+
-->
|
5313
|
+
<xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
|
5314
|
+
<fo:inline xsl:use-attribute-sets="mathml-style">
|
5315
|
+
|
5316
|
+
<xsl:choose>
|
5317
|
+
<xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
|
5318
|
+
<xsl:otherwise>
|
5319
|
+
<xsl:apply-templates>
|
5320
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
5321
|
+
</xsl:apply-templates>
|
5322
|
+
</xsl:otherwise>
|
5323
|
+
</xsl:choose>
|
5324
|
+
|
5325
|
+
</fo:inline>
|
5326
|
+
</xsl:template>
|
5327
|
+
<!-- ======================================= -->
|
5328
|
+
<!-- END: math -->
|
5329
|
+
<!-- ======================================= -->
|
5330
|
+
|
5241
5331
|
<xsl:template match="*[local-name()='localityStack']"/>
|
5242
5332
|
|
5243
5333
|
<xsl:template match="*[local-name()='link']" name="link">
|
@@ -7936,6 +8026,10 @@
|
|
7936
8026
|
|
7937
8027
|
<fo:list-block xsl:use-attribute-sets="list-style">
|
7938
8028
|
|
8029
|
+
<xsl:if test="local-name() = 'ol'">
|
8030
|
+
<xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
|
8031
|
+
</xsl:if>
|
8032
|
+
|
7939
8033
|
<xsl:if test="*[local-name() = 'name']">
|
7940
8034
|
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
7941
8035
|
</xsl:if>
|
@@ -8933,7 +9027,7 @@
|
|
8933
9027
|
|
8934
9028
|
<xsl:variable name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable>
|
8935
9029
|
|
8936
|
-
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'sourcecode'] or
|
9030
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
|
8937
9031
|
|
8938
9032
|
<!-- enclose standard's number into tag 'keep-together_within-line' -->
|
8939
9033
|
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
@@ -9409,13 +9503,14 @@
|
|
9409
9503
|
</xsl:template>
|
9410
9504
|
|
9411
9505
|
<xsl:template name="setId">
|
9506
|
+
<xsl:param name="prefix"/>
|
9412
9507
|
<xsl:attribute name="id">
|
9413
9508
|
<xsl:choose>
|
9414
9509
|
<xsl:when test="@id">
|
9415
|
-
<xsl:value-of select="@id"/>
|
9510
|
+
<xsl:value-of select="concat($prefix, @id)"/>
|
9416
9511
|
</xsl:when>
|
9417
9512
|
<xsl:otherwise>
|
9418
|
-
<xsl:value-of select="generate-id()"/>
|
9513
|
+
<xsl:value-of select="concat($prefix, generate-id())"/>
|
9419
9514
|
</xsl:otherwise>
|
9420
9515
|
</xsl:choose>
|
9421
9516
|
</xsl:attribute>
|