metanorma-un 0.9.10 → 0.9.12
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/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>
|