metanorma-csa 2.5.6 → 2.5.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 36b52f4b3444d0cbcd89254b5a8610a9af1f8fb63cc9ba20b07a211a93eec13c
4
- data.tar.gz: 21a1c124c59be971f99aba0872b3297b41d21cb5bae424be07670eac8863ee11
3
+ metadata.gz: 18ba78a1f90fd32f7d54048ebd573e8157c6247380f56bd96451747de53acc1a
4
+ data.tar.gz: 456b9bc251cbfb34fbe2a1e01593a2649e6a955c517dc43f2c7a2e71bb69d7a7
5
5
  SHA512:
6
- metadata.gz: e1767135930059c7ad65765dc32a45916e70d7114febee345cc48a3915c3878af842f15cceb308f8abfe0a48a7295f440457693dd99d7417592f4b5edf74bebb
7
- data.tar.gz: 7d037aa690673ddec0eb1ded7b0c831e2c643f6892c953f4569eda91acb46640a4cb14accb6bcbd3eb4a7a05eb584b4c594291aef75d1799ae8c28663a0f8a1f
6
+ metadata.gz: 813f01ee203a58a9789255a753e93ebd52af51c0b1fe8db4a3587c811a867218a1e059ced4030ae11af87d72b8cb059c422fcf99119d67de9f0e122483b03a34
7
+ data.tar.gz: 42135f7bd9553964fe5525a8f76e74b1ed829bcf7201be9c24299f7c461e19bd6a40dcc0080e36d72e334e6598865ae254f37796744a1c40c9c245f37c00db13
@@ -117,11 +117,11 @@
117
117
  <xsl:call-template name="insertHeaderFooter"/>
118
118
  <fo:flow flow-name="xsl-region-body">
119
119
 
120
- <!-- <xsl:if test="$debug = 'true'">
121
- <redirect:write file="contents_{java:getTime(java:java.util.Date.new())}.xml">
120
+ <xsl:if test="$debug = 'true'">
121
+ <redirect:write file="contents_.xml"> <!-- {java:getTime(java:java.util.Date.new())} -->
122
122
  <xsl:copy-of select="$contents"/>
123
123
  </redirect:write>
124
- </xsl:if> -->
124
+ </xsl:if>
125
125
 
126
126
  <fo:block>
127
127
  <fo:block>The permanent and official location for Cloud Security Alliance DevSecOps is</fo:block>
@@ -389,10 +389,10 @@
389
389
  <!-- ============================= -->
390
390
 
391
391
  <!-- element with title -->
392
- <xsl:template match="*[csa:title]" mode="contents">
392
+ <xsl:template match="*[csa:title or csa:fmt-title]" mode="contents">
393
393
  <xsl:variable name="level">
394
394
  <xsl:call-template name="getLevel">
395
- <xsl:with-param name="depth" select="csa:title/@depth"/>
395
+ <xsl:with-param name="depth" select="csa:fmt-title/@depth | csa:title/@depth"/>
396
396
  </xsl:call-template>
397
397
  </xsl:variable>
398
398
 
@@ -669,7 +669,7 @@
669
669
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAASEAAAEhCAYAAAAwHRYbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWRhN2RlNC04YzAyLTQ1N2UtYjUwNy0zNGYzY2RjNWE2ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDUyNzBENDc3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDUyNzBENDY3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTQuMCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmZiZjFiODZmLTIzMjMtM2U0OS1hMDMzLTVlOGQxYThlNmI1YiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOjFlMzVjZTE3LWU5NzAtNDQ1OS05ZjI0LTM1NzcwZWYzMjNjMiIvPiA8L3Jk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</xsl:text>
670
670
  </xsl:variable>
671
671
 
672
- <xsl:strip-space elements="csa:xref"/>
672
+ <!-- <xsl:strip-space elements="csa:xref"/> -->
673
673
 
674
674
  <xsl:variable name="namespace_full" select="namespace-uri(/*)"/> <!-- example: https://www.metanorma.org/ns/iso -->
675
675
  <xsl:variable name="root_element" select="local-name(/*)"/> <!-- example: iso-standard -->
@@ -1618,6 +1618,10 @@
1618
1618
 
1619
1619
  <xsl:template name="refine_termnote-name-style">
1620
1620
 
1621
+ <!-- <xsl:if test="$namespace = 'ieee'">
1622
+ <xsl:attribute name="padding-right">0mm</xsl:attribute>
1623
+ </xsl:if> -->
1624
+
1621
1625
  </xsl:template>
1622
1626
 
1623
1627
  <xsl:attribute-set name="termnote-p-style">
@@ -2308,9 +2312,21 @@
2308
2312
  <xsl:template name="processTables_Contents">
2309
2313
  <tables>
2310
2314
  <xsl:for-each select="//*[local-name() = 'table'][not(ancestor::*[local-name() = 'metanorma-extension'])][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
2311
- <table id="{@id}" alt-text="{*[local-name() = 'name']}">
2312
- <xsl:copy-of select="*[local-name() = 'name']"/>
2313
- </table>
2315
+ <xsl:choose>
2316
+ <xsl:when test="*[local-name() = 'fmt-name']">
2317
+ <xsl:variable name="fmt_name">
2318
+ <xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
2319
+ </xsl:variable>
2320
+ <table id="{@id}" alt-text="{normalize-space($fmt_name)}">
2321
+ <xsl:copy-of select="$fmt_name"/>
2322
+ </table>
2323
+ </xsl:when>
2324
+ <xsl:otherwise>
2325
+ <table id="{@id}" alt-text="{*[local-name() = 'name']}">
2326
+ <xsl:copy-of select="*[local-name() = 'name']"/>
2327
+ </table>
2328
+ </xsl:otherwise>
2329
+ </xsl:choose>
2314
2330
  </xsl:for-each>
2315
2331
  </tables>
2316
2332
  </xsl:template>
@@ -2318,9 +2334,21 @@
2318
2334
  <xsl:template name="processFigures_Contents">
2319
2335
  <figures>
2320
2336
  <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(*[local-name() = 'name'], 'Figure ') and normalize-space(@id) != '']">
2321
- <figure id="{@id}" alt-text="{*[local-name() = 'name']}">
2322
- <xsl:copy-of select="*[local-name() = 'name']"/>
2323
- </figure>
2337
+ <xsl:choose>
2338
+ <xsl:when test="*[local-name() = 'fmt-name']">
2339
+ <xsl:variable name="fmt_name">
2340
+ <xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
2341
+ </xsl:variable>
2342
+ <figure id="{@id}" alt-text="{normalize-space($fmt_name)}">
2343
+ <xsl:copy-of select="$fmt_name"/>
2344
+ </figure>
2345
+ </xsl:when>
2346
+ <xsl:otherwise>
2347
+ <figure id="{@id}" alt-text="{*[local-name() = 'name']}">
2348
+ <xsl:copy-of select="*[local-name() = 'name']"/>
2349
+ </figure>
2350
+ </xsl:otherwise>
2351
+ </xsl:choose>
2324
2352
  </xsl:for-each>
2325
2353
  </figures>
2326
2354
  </xsl:template>
@@ -7068,6 +7096,8 @@
7068
7096
 
7069
7097
  <fo:inline xsl:use-attribute-sets="note-name-style" role="SKIP">
7070
7098
 
7099
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab"/>
7100
+
7071
7101
  <xsl:call-template name="refine_note-name-style"/>
7072
7102
 
7073
7103
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
@@ -7124,10 +7154,6 @@
7124
7154
 
7125
7155
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
7126
7156
 
7127
- <xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
7128
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
7129
- </xsl:if>
7130
-
7131
7157
  <xsl:call-template name="refine_termnote-name-style"/>
7132
7158
 
7133
7159
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
@@ -7274,17 +7300,29 @@
7274
7300
  <!-- Example: Dimensions in millimeters -->
7275
7301
  <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
7276
7302
 
7303
+ <xsl:variable name="show_figure_key_in_block_container">
7304
+ true
7305
+ </xsl:variable>
7306
+
7277
7307
  <fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
7278
7308
  <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
7279
7309
  </fo:block>
7280
- <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
7281
- <xsl:call-template name="note"/>
7282
- </xsl:for-each>
7283
- <xsl:call-template name="fn_display_figure"/>
7310
+
7311
+ <xsl:if test="normalize-space($show_figure_key_in_block_container) = 'true'">
7312
+ <xsl:call-template name="showFigureKey"/>
7313
+ </xsl:if>
7284
7314
 
7285
7315
  <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
7286
7316
 
7287
7317
  </fo:block-container>
7318
+
7319
+ </xsl:template>
7320
+
7321
+ <xsl:template name="showFigureKey">
7322
+ <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
7323
+ <xsl:call-template name="note"/>
7324
+ </xsl:for-each>
7325
+ <xsl:call-template name="fn_display_figure"/>
7288
7326
  </xsl:template>
7289
7327
 
7290
7328
  <xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
@@ -7480,6 +7518,22 @@
7480
7518
  </xsl:if>
7481
7519
  </xsl:template>
7482
7520
 
7521
+ <xsl:template name="getImageSrc">
7522
+ <xsl:choose>
7523
+ <xsl:when test="not(starts-with(@src, 'data:'))">
7524
+ <xsl:choose>
7525
+ <xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
7526
+ <xsl:value-of select="@src"/>
7527
+ </xsl:when>
7528
+ <xsl:otherwise>
7529
+ <xsl:value-of select="concat($basepath, @src)"/>
7530
+ </xsl:otherwise>
7531
+ </xsl:choose>
7532
+ </xsl:when>
7533
+ <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
7534
+ </xsl:choose>
7535
+ </xsl:template>
7536
+
7483
7537
  <xsl:template name="getImageScale">
7484
7538
  <xsl:param name="indent"/>
7485
7539
  <xsl:variable name="indent_left">
@@ -7489,19 +7543,7 @@
7489
7543
  </xsl:choose>
7490
7544
  </xsl:variable>
7491
7545
  <xsl:variable name="img_src">
7492
- <xsl:choose>
7493
- <xsl:when test="not(starts-with(@src, 'data:'))">
7494
- <xsl:choose>
7495
- <xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
7496
- <xsl:value-of select="@src"/>
7497
- </xsl:when>
7498
- <xsl:otherwise>
7499
- <xsl:value-of select="concat($basepath, @src)"/>
7500
- </xsl:otherwise>
7501
- </xsl:choose>
7502
- </xsl:when>
7503
- <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
7504
- </xsl:choose>
7546
+ <xsl:call-template name="getImageSrc"/>
7505
7547
  </xsl:variable>
7506
7548
 
7507
7549
  <xsl:variable name="image_width_effective">
@@ -7509,10 +7551,15 @@
7509
7551
  <xsl:value-of select="$width_effective - number($indent_left)"/>
7510
7552
 
7511
7553
  </xsl:variable>
7554
+ <xsl:variable name="image_height_effective" select="$height_effective - number($indent_left)"/>
7512
7555
  <!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
7513
7556
  <xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
7514
7557
  <xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
7515
- <xsl:variable name="scale" select="java:org.metanorma.fop.utils.ImageUtils.getImageScale($img_src, $image_width_effective, $height_effective)"/>
7558
+ <xsl:variable name="scale">
7559
+
7560
+ <xsl:value-of select="java:org.metanorma.fop.utils.ImageUtils.getImageScale($img_src, $image_width_effective, $height_effective)"/>
7561
+
7562
+ </xsl:variable>
7516
7563
  <xsl:value-of select="$scale"/>
7517
7564
  </xsl:template>
7518
7565
 
@@ -8065,20 +8112,48 @@
8065
8112
  <xsl:template match="*[local-name() = 'emf']"/>
8066
8113
 
8067
8114
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
8115
+ <xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
8116
+ <xsl:apply-templates mode="contents"/>
8117
+ <xsl:text> </xsl:text>
8118
+ </xsl:if>
8119
+ </xsl:template>
8120
+
8121
+ <xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="contents"/>
8122
+
8123
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fmt-name'] | *[local-name() = 'table']/*[local-name() = 'fmt-name'] | *[local-name() = 'permission']/*[local-name() = 'fmt-name'] | *[local-name() = 'recommendation']/*[local-name() = 'fmt-name'] | *[local-name() = 'requirement']/*[local-name() = 'fmt-name']" mode="contents">
8068
8124
  <xsl:apply-templates mode="contents"/>
8069
8125
  <xsl:text> </xsl:text>
8070
8126
  </xsl:template>
8071
8127
 
8072
8128
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
8129
+ <xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
8130
+ <xsl:apply-templates mode="bookmarks"/>
8131
+ <xsl:text> </xsl:text>
8132
+ </xsl:if>
8133
+ </xsl:template>
8134
+
8135
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fmt-name'] | *[local-name() = 'table']/*[local-name() = 'fmt-name'] | *[local-name() = 'permission']/*[local-name() = 'fmt-name'] | *[local-name() = 'recommendation']/*[local-name() = 'fmt-name'] | *[local-name() = 'requirement']/*[local-name() = 'fmt-name'] | *[local-name() = 'sourcecode']/*[local-name() = 'fmt-name']" mode="bookmarks">
8073
8136
  <xsl:apply-templates mode="bookmarks"/>
8074
8137
  <xsl:text> </xsl:text>
8075
8138
  </xsl:template>
8076
8139
 
8077
8140
  <xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
8141
+ <xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
8142
+ <xsl:value-of select="."/>
8143
+ </xsl:if>
8144
+ </xsl:template>
8145
+
8146
+ <xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'fmt-name']/text()" mode="contents" priority="2">
8078
8147
  <xsl:value-of select="."/>
8079
8148
  </xsl:template>
8080
8149
 
8081
8150
  <xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement' or local-name() = 'sourcecode']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
8151
+ <xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
8152
+ <xsl:value-of select="."/>
8153
+ </xsl:if>
8154
+ </xsl:template>
8155
+
8156
+ <xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement' or local-name() = 'sourcecode']/*[local-name() = 'fmt-name']//text()" mode="bookmarks" priority="2">
8082
8157
  <xsl:value-of select="."/>
8083
8158
  </xsl:template>
8084
8159
 
@@ -8099,7 +8174,7 @@
8099
8174
  </xsl:template>
8100
8175
 
8101
8176
  <!-- special case: ignore section-title if @depth different than @depth of parent clause, or @depth of parent clause = 1 -->
8102
- <xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title']/@depth or ../*[local-name() = 'title']/@depth = 1)]" priority="3" mode="contents"/>
8177
+ <xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title' or local-name() = 'fmt-title']/@depth or ../*[local-name() = 'title' or local-name() = 'fmt-title']/@depth = 1)]" priority="3" mode="contents"/>
8103
8178
 
8104
8179
  <xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
8105
8180
  <xsl:variable name="level">
@@ -8111,6 +8186,9 @@
8111
8186
  <xsl:variable name="section">
8112
8187
  <xsl:choose>
8113
8188
  <xsl:when test="@type = 'section-title'"/>
8189
+ <xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
8190
+ <xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
8191
+ </xsl:when>
8114
8192
  <xsl:otherwise>
8115
8193
  <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
8116
8194
  </xsl:otherwise>
@@ -8133,6 +8211,19 @@
8133
8211
 
8134
8212
  <xsl:variable name="title">
8135
8213
  <xsl:choose>
8214
+ <!-- https://github.com/metanorma/mn-native-pdf/issues/770 -->
8215
+ <xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
8216
+ <xsl:choose>
8217
+ <xsl:when test="@type = 'section-title'">
8218
+ <xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
8219
+ <xsl:text>: </xsl:text>
8220
+ <xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
8221
+ </xsl:when>
8222
+ <xsl:otherwise>
8223
+ <xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
8224
+ </xsl:otherwise>
8225
+ </xsl:choose>
8226
+ </xsl:when>
8136
8227
  <xsl:when test="*[local-name() = 'tab']">
8137
8228
  <xsl:choose>
8138
8229
  <xsl:when test="@type = 'section-title'">
@@ -8168,7 +8259,7 @@
8168
8259
  <xsl:apply-templates mode="bookmarks"/>
8169
8260
  </xsl:template>
8170
8261
 
8171
- <xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
8262
+ <xsl:template match="*[local-name() = 'title' or local-name() = 'name' or local-name() = 'fmt-title' or local-name() = 'fmt-name']//*[local-name() = 'stem']" mode="contents">
8172
8263
  <xsl:apply-templates select="."/>
8173
8264
  </xsl:template>
8174
8265
 
@@ -8181,6 +8272,10 @@
8181
8272
  <xsl:apply-templates mode="contents"/>
8182
8273
  </xsl:template>
8183
8274
 
8275
+ <xsl:template match="*[local-name() = 'semx']" mode="contents">
8276
+ <xsl:apply-templates mode="contents"/>
8277
+ </xsl:template>
8278
+
8184
8279
  <xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
8185
8280
  <xsl:apply-templates mode="bookmarks"/>
8186
8281
  </xsl:template>
@@ -8190,9 +8285,14 @@
8190
8285
  <xsl:apply-templates mode="bookmarks"/>
8191
8286
  </xsl:template>
8192
8287
 
8288
+ <xsl:template match="*[local-name() = 'semx']" mode="bookmarks">
8289
+ <xsl:apply-templates mode="bookmarks"/>
8290
+ </xsl:template>
8291
+
8193
8292
  <!-- Bookmarks -->
8194
8293
  <xsl:template name="addBookmarks">
8195
8294
  <xsl:param name="contents"/>
8295
+ <xsl:param name="contents_addon"/>
8196
8296
  <xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
8197
8297
  <xsl:if test="$contents_nodes//item">
8198
8298
  <fo:bookmark-tree>
@@ -8290,6 +8390,9 @@
8290
8390
  </xsl:otherwise>
8291
8391
  </xsl:choose>
8292
8392
 
8393
+ <!-- for $namespace = 'nist-sp' $namespace = 'ogc' $namespace = 'ogc-white-paper' -->
8394
+ <xsl:copy-of select="$contents_addon"/>
8395
+
8293
8396
  </fo:bookmark-tree>
8294
8397
  </xsl:if>
8295
8398
  </xsl:template>
@@ -8443,6 +8546,16 @@
8443
8546
  <!-- ====== -->
8444
8547
  <!-- ====== -->
8445
8548
  <xsl:template match="*[local-name() = 'title']" mode="contents_item">
8549
+ <xsl:param name="mode">bookmarks</xsl:param>
8550
+ <xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-title'])">
8551
+ <xsl:apply-templates mode="contents_item">
8552
+ <xsl:with-param name="mode" select="$mode"/>
8553
+ </xsl:apply-templates>
8554
+ <!-- <xsl:text> </xsl:text> -->
8555
+ </xsl:if>
8556
+ </xsl:template>
8557
+
8558
+ <xsl:template match="*[local-name() = 'fmt-title']" mode="contents_item">
8446
8559
  <xsl:param name="mode">bookmarks</xsl:param>
8447
8560
  <xsl:apply-templates mode="contents_item">
8448
8561
  <xsl:with-param name="mode" select="$mode"/>
@@ -8450,12 +8563,38 @@
8450
8563
  <!-- <xsl:text> </xsl:text> -->
8451
8564
  </xsl:template>
8452
8565
 
8566
+ <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim']" mode="contents_item" priority="3">
8567
+ <xsl:apply-templates mode="contents_item"/>
8568
+ </xsl:template>
8569
+
8570
+ <xsl:template match="*[local-name() = 'semx']" mode="contents_item">
8571
+ <xsl:apply-templates mode="contents_item"/>
8572
+ </xsl:template>
8573
+
8574
+ <xsl:template match="*[local-name() = 'fmt-xref-label']" mode="contents_item"/>
8575
+
8453
8576
  <xsl:template name="getSection">
8454
- <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
8577
+ <xsl:choose>
8578
+ <xsl:when test="*[local-name() = 'fmt-title']">
8579
+ <xsl:variable name="fmt_title_section">
8580
+ <xsl:copy-of select="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']][1]/preceding-sibling::node()[not(local-name() = 'review')]"/>
8581
+ </xsl:variable>
8582
+ <xsl:value-of select="normalize-space($fmt_title_section)"/>
8583
+ </xsl:when>
8584
+ <xsl:otherwise>
8585
+ <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
8586
+ </xsl:otherwise>
8587
+ </xsl:choose>
8455
8588
  </xsl:template>
8456
8589
 
8457
8590
  <xsl:template name="getName">
8458
8591
  <xsl:choose>
8592
+ <xsl:when test="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']]">
8593
+ <xsl:copy-of select="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']][1]/following-sibling::node()"/>
8594
+ </xsl:when>
8595
+ <xsl:when test="*[local-name() = 'fmt-title']">
8596
+ <xsl:copy-of select="*[local-name() = 'fmt-title']/node()"/>
8597
+ </xsl:when>
8459
8598
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
8460
8599
  <xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
8461
8600
  </xsl:when>
@@ -8562,6 +8701,15 @@
8562
8701
  </xsl:template>
8563
8702
 
8564
8703
  <xsl:template match="*[local-name() = 'name']" mode="contents_item">
8704
+ <xsl:param name="mode">bookmarks</xsl:param>
8705
+ <xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
8706
+ <xsl:apply-templates mode="contents_item">
8707
+ <xsl:with-param name="mode" select="$mode"/>
8708
+ </xsl:apply-templates>
8709
+ </xsl:if>
8710
+ </xsl:template>
8711
+
8712
+ <xsl:template match="*[local-name() = 'fmt-name']" mode="contents_item">
8565
8713
  <xsl:param name="mode">bookmarks</xsl:param>
8566
8714
  <xsl:apply-templates mode="contents_item">
8567
8715
  <xsl:with-param name="mode" select="$mode"/>
@@ -9400,107 +9548,108 @@
9400
9548
  -->
9401
9549
  <xsl:template match="*[local-name() = 'example']">
9402
9550
 
9403
- <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
9551
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
9404
9552
 
9405
- <xsl:call-template name="setBlockSpanAll"/>
9406
-
9407
- <xsl:call-template name="refine_example-style"/>
9553
+ <xsl:call-template name="setBlockSpanAll"/>
9408
9554
 
9409
- <xsl:variable name="fo_element">
9410
- <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
9411
- block
9412
- </xsl:variable>
9555
+ <xsl:call-template name="refine_example-style"/>
9413
9556
 
9414
- <fo:block-container margin-left="0mm" role="SKIP">
9557
+ <xsl:variable name="fo_element">
9558
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
9559
+ block
9560
+ </xsl:variable>
9415
9561
 
9416
- <xsl:choose>
9562
+ <fo:block-container margin-left="0mm" role="SKIP">
9417
9563
 
9418
- <xsl:when test="contains(normalize-space($fo_element), 'block')">
9564
+ <xsl:choose>
9419
9565
 
9420
- <!-- display name 'EXAMPLE' in a separate block -->
9421
- <fo:block>
9422
- <xsl:apply-templates select="*[local-name()='name']">
9423
- <xsl:with-param name="fo_element" select="$fo_element"/>
9424
- </xsl:apply-templates>
9425
- </fo:block>
9566
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
9426
9567
 
9427
- <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9428
- <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9429
- <xsl:variable name="example_body">
9430
- <xsl:apply-templates select="node()[not(local-name() = 'name')]">
9568
+ <!-- display name 'EXAMPLE' in a separate block -->
9569
+ <fo:block>
9570
+ <xsl:apply-templates select="*[local-name()='name']">
9431
9571
  <xsl:with-param name="fo_element" select="$fo_element"/>
9432
9572
  </xsl:apply-templates>
9573
+ </fo:block>
9574
+
9575
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9576
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9577
+ <xsl:variable name="example_body">
9578
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
9579
+ <xsl:with-param name="fo_element" select="$fo_element"/>
9580
+ </xsl:apply-templates>
9581
+ </xsl:variable>
9582
+ <xsl:choose>
9583
+ <xsl:when test="xalan:nodeset($example_body)/*">
9584
+ <xsl:copy-of select="$example_body"/>
9585
+ </xsl:when>
9586
+ <xsl:otherwise><fo:block/><!-- prevent empty block-container --></xsl:otherwise>
9587
+ </xsl:choose>
9588
+ </fo:block-container>
9589
+ </fo:block-container>
9590
+ </xsl:when> <!-- end block -->
9591
+
9592
+ <xsl:when test="contains(normalize-space($fo_element), 'list')">
9593
+
9594
+ <xsl:variable name="provisional_distance_between_starts_">
9595
+ 7
9433
9596
  </xsl:variable>
9434
- <xsl:choose>
9435
- <xsl:when test="xalan:nodeset($example_body)/*">
9436
- <xsl:copy-of select="$example_body"/>
9437
- </xsl:when>
9438
- <xsl:otherwise><fo:block/><!-- prevent empty block-container --></xsl:otherwise>
9439
- </xsl:choose>
9440
- </fo:block-container>
9441
- </fo:block-container>
9442
- </xsl:when> <!-- end block -->
9597
+ <xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
9598
+ <xsl:variable name="indent_">
9599
+ 0
9600
+ </xsl:variable>
9601
+ <xsl:variable name="indent" select="normalize-space($indent_)"/>
9443
9602
 
9444
- <xsl:when test="contains(normalize-space($fo_element), 'list')">
9603
+ <fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
9604
+ <fo:list-item>
9605
+ <fo:list-item-label start-indent="{$indent}mm" end-indent="label-end()">
9606
+ <fo:block>
9607
+ <xsl:apply-templates select="*[local-name()='name']">
9608
+ <xsl:with-param name="fo_element">block</xsl:with-param>
9609
+ </xsl:apply-templates>
9610
+ </fo:block>
9611
+ </fo:list-item-label>
9612
+ <fo:list-item-body start-indent="body-start()">
9613
+ <fo:block>
9614
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
9615
+ <xsl:with-param name="fo_element" select="$fo_element"/>
9616
+ </xsl:apply-templates>
9617
+ </fo:block>
9618
+ </fo:list-item-body>
9619
+ </fo:list-item>
9620
+ </fo:list-block>
9621
+ </xsl:when> <!-- end list -->
9445
9622
 
9446
- <xsl:variable name="provisional_distance_between_starts_">
9447
- 7
9448
- </xsl:variable>
9449
- <xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
9450
- <xsl:variable name="indent_">
9451
- 0
9452
- </xsl:variable>
9453
- <xsl:variable name="indent" select="normalize-space($indent_)"/>
9623
+ <xsl:otherwise> <!-- inline -->
9454
9624
 
9455
- <fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
9456
- <fo:list-item>
9457
- <fo:list-item-label start-indent="{$indent}mm" end-indent="label-end()">
9458
- <fo:block>
9459
- <xsl:apply-templates select="*[local-name()='name']">
9460
- <xsl:with-param name="fo_element">block</xsl:with-param>
9461
- </xsl:apply-templates>
9462
- </fo:block>
9463
- </fo:list-item-label>
9464
- <fo:list-item-body start-indent="body-start()">
9465
- <fo:block>
9466
- <xsl:apply-templates select="node()[not(local-name() = 'name')]">
9625
+ <!-- display 'EXAMPLE' and first element in the same line -->
9626
+ <fo:block>
9627
+ <xsl:apply-templates select="*[local-name()='name']">
9628
+ <xsl:with-param name="fo_element" select="$fo_element"/>
9629
+ </xsl:apply-templates>
9630
+ <fo:inline>
9631
+ <xsl:apply-templates select="*[not(local-name() = 'name')][1]">
9467
9632
  <xsl:with-param name="fo_element" select="$fo_element"/>
9468
9633
  </xsl:apply-templates>
9469
- </fo:block>
9470
- </fo:list-item-body>
9471
- </fo:list-item>
9472
- </fo:list-block>
9473
- </xsl:when> <!-- end list -->
9474
-
9475
- <xsl:otherwise> <!-- inline -->
9634
+ </fo:inline>
9635
+ </fo:block>
9476
9636
 
9477
- <!-- display 'EXAMPLE' and first element in the same line -->
9478
- <fo:block>
9479
- <xsl:apply-templates select="*[local-name()='name']">
9480
- <xsl:with-param name="fo_element" select="$fo_element"/>
9481
- </xsl:apply-templates>
9482
- <fo:inline>
9483
- <xsl:apply-templates select="*[not(local-name() = 'name')][1]">
9484
- <xsl:with-param name="fo_element" select="$fo_element"/>
9485
- </xsl:apply-templates>
9486
- </fo:inline>
9487
- </fo:block>
9637
+ <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
9638
+ <!-- display further elements in blocks -->
9639
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9640
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9641
+ <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
9642
+ <xsl:with-param name="fo_element" select="'block'"/>
9643
+ </xsl:apply-templates>
9644
+ </fo:block-container>
9645
+ </fo:block-container>
9646
+ </xsl:if>
9647
+ </xsl:otherwise> <!-- end inline -->
9488
9648
 
9489
- <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
9490
- <!-- display further elements in blocks -->
9491
- <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9492
- <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9493
- <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
9494
- <xsl:with-param name="fo_element" select="'block'"/>
9495
- </xsl:apply-templates>
9496
- </fo:block-container>
9497
- </fo:block-container>
9498
- </xsl:if>
9499
- </xsl:otherwise> <!-- end inline -->
9649
+ </xsl:choose>
9650
+ </fo:block-container>
9651
+ </fo:block-container>
9500
9652
 
9501
- </xsl:choose>
9502
- </fo:block-container>
9503
- </fo:block-container>
9504
9653
  </xsl:template>
9505
9654
 
9506
9655
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
@@ -9877,6 +10026,15 @@
9877
10026
 
9878
10027
  </xsl:template> <!-- tab -->
9879
10028
 
10029
+ <xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
10030
+ <xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
10031
+
10032
+ <xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab">
10033
+
10034
+ <xsl:attribute name="padding-right">4mm</xsl:attribute>
10035
+
10036
+ </xsl:template>
10037
+
9880
10038
  <xsl:template name="insertNonBreakSpaces">
9881
10039
  <xsl:param name="count"/>
9882
10040
  <xsl:if test="$count &gt; 0">
@@ -11399,6 +11557,10 @@
11399
11557
  <!-- - Remove semantic xml part -->
11400
11558
  <!-- - Remove image/emf (EMF vector image for Word) -->
11401
11559
  <!-- - add @id, redundant for table auto-layout algorithm -->
11560
+ <!-- - process 'passthrough' element -->
11561
+ <!-- - split math by element with @linebreak into maths -->
11562
+ <!-- - rename fmt-title to title, fmt-name to name and another changes to convert new presentation XML to -->
11563
+ <!-- - old XML without significant changes in XSLT -->
11402
11564
  <!-- =========================================================================== -->
11403
11565
  <xsl:template match="@*|node()" mode="update_xml_step1">
11404
11566
  <xsl:copy>
@@ -11406,6 +11568,12 @@
11406
11568
  </xsl:copy>
11407
11569
  </xsl:template>
11408
11570
 
11571
+ <xsl:template match="@*|node()" mode="update_xml_pres">
11572
+ <xsl:copy>
11573
+ <xsl:apply-templates select="@*|node()" mode="update_xml_pres"/>
11574
+ </xsl:copy>
11575
+ </xsl:template>
11576
+
11409
11577
  <!-- change section's order based on @displayorder value -->
11410
11578
  <xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
11411
11579
  <xsl:copy>
@@ -11482,7 +11650,7 @@
11482
11650
  </xsl:template>
11483
11651
 
11484
11652
  <!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
11485
- <xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
11653
+ <xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear' or @class = 'horizontal' or @class = 'norotate' or @class = 'halffontsize']" mode="update_xml_step1" priority="2">
11486
11654
  <xsl:copy>
11487
11655
  <xsl:copy-of select="@*"/>
11488
11656
  <xsl:apply-templates mode="update_xml_step1"/>
@@ -11501,14 +11669,17 @@
11501
11669
 
11502
11670
  <!-- remove semantic xml -->
11503
11671
  <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_step1"/>
11672
+ <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_pres"/>
11504
11673
 
11505
11674
  <!-- remove image/emf -->
11506
11675
  <xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_step1"/>
11676
+ <xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_pres"/>
11507
11677
 
11508
11678
  <!-- remove preprocess-xslt -->
11509
11679
  <xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
11680
+ <xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_pres"/>
11510
11681
 
11511
- <xsl:template match="*[local-name() = 'stem'][not(.//*[local-name() = 'passthrough']) and not(.//*[@linebreak])] | *[local-name() = 'image'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'sourcecode'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'bibdata'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
11682
+ <xsl:template match="*[local-name() = 'stem'][not(.//*[local-name() = 'passthrough']) and not(.//*[@linebreak])] | *[local-name() = 'image'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'sourcecode'][not(.//*[local-name() = 'passthrough']) and not(.//*[local-name() = 'fmt-name'])] | *[local-name() = 'bibdata'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
11512
11683
  <xsl:copy-of select="."/>
11513
11684
  </xsl:template>
11514
11685
 
@@ -11590,6 +11761,77 @@
11590
11761
  <xsl:copy-of select="$maths"/>
11591
11762
  </xsl:template>
11592
11763
 
11764
+ <!-- update new Presentation XML -->
11765
+ <xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_step1"/>
11766
+ <xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_pres"/>
11767
+ <xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_step1"/>
11768
+ <xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_pres"/>
11769
+ <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
11770
+ <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_pres"/>
11771
+
11772
+ <xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_step1">
11773
+ <xsl:copy>
11774
+ <xsl:apply-templates select="@*" mode="update_xml_step1"/>
11775
+ <xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
11776
+ <xsl:apply-templates select="node()" mode="update_xml_step1"/>
11777
+ </xsl:copy>
11778
+ </xsl:template>
11779
+ <xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_pres">
11780
+ <xsl:copy>
11781
+ <xsl:apply-templates select="@*" mode="update_xml_pres"/>
11782
+ <xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
11783
+ <xsl:apply-templates select="node()" mode="update_xml_pres"/>
11784
+ </xsl:copy>
11785
+ </xsl:template>
11786
+
11787
+ <xsl:template match="*[local-name() = 'fmt-title']"/>
11788
+ <xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_step1">
11789
+ <xsl:element name="title" namespace="{$namespace_full}">
11790
+ <xsl:copy-of select="@*"/>
11791
+ <xsl:apply-templates mode="update_xml_step1"/>
11792
+ </xsl:element>
11793
+ </xsl:template>
11794
+ <xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_pres">
11795
+ <xsl:element name="title" namespace="{$namespace_full}">
11796
+ <xsl:copy-of select="@*"/>
11797
+ <xsl:apply-templates mode="update_xml_pres"/>
11798
+ </xsl:element>
11799
+ </xsl:template>
11800
+
11801
+ <xsl:template match="*[local-name() = 'fmt-name']"/>
11802
+ <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_step1">
11803
+ <xsl:element name="name" namespace="{$namespace_full}">
11804
+ <xsl:copy-of select="@*"/>
11805
+ <xsl:apply-templates mode="update_xml_step1"/>
11806
+ </xsl:element>
11807
+ </xsl:template>
11808
+ <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
11809
+ <xsl:element name="name" namespace="{$namespace_full}">
11810
+ <xsl:copy-of select="@*"/>
11811
+ <xsl:apply-templates mode="update_xml_pres"/>
11812
+ </xsl:element>
11813
+ </xsl:template>
11814
+
11815
+ <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
11816
+ <xsl:apply-templates mode="update_xml_step1"/>
11817
+ </xsl:template>
11818
+ <xsl:template match="*[local-name() = 'span'][ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_pres" priority="3">
11819
+ <xsl:apply-templates mode="update_xml_pres"/>
11820
+ </xsl:template>
11821
+
11822
+ <xsl:template match="*[local-name() = 'semx']" mode="update_xml_step1">
11823
+ <xsl:apply-templates mode="update_xml_step1"/>
11824
+ </xsl:template>
11825
+ <xsl:template match="*[local-name() = 'semx']" mode="update_xml_pres">
11826
+ <xsl:apply-templates mode="update_xml_pres"/>
11827
+ </xsl:template>
11828
+
11829
+ <xsl:template match="*[local-name() = 'fmt-xref-label']"/>
11830
+ <xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_step1"/>
11831
+ <xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_pres"/>
11832
+
11833
+ <!-- END: update new Presentation XML -->
11834
+
11593
11835
  <!-- =========================================================================== -->
11594
11836
  <!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
11595
11837
  <!-- =========================================================================== -->
@@ -11782,7 +12024,7 @@
11782
12024
  <xsl:variable name="non_white_space">[^\s\u3000-\u9FFF]</xsl:variable>
11783
12025
  <xsl:variable name="regex_dots_units">((\b((<xsl:value-of select="$non_white_space"/>{1,3}\.<xsl:value-of select="$non_white_space"/>+)|(<xsl:value-of select="$non_white_space"/>+\.<xsl:value-of select="$non_white_space"/>{1,3}))\b)|(\.<xsl:value-of select="$non_white_space"/>{1,3})\b)</xsl:variable>
11784
12026
 
11785
- <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 ancestor::*[local-name() = 'svg'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
12027
+ <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 ancestor::*[local-name() = 'svg'] or ancestor::*[local-name() = 'name'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
11786
12028
 
11787
12029
  <xsl:variable name="parent" select="local-name(..)"/>
11788
12030
 
@@ -12361,6 +12603,7 @@
12361
12603
  </pdf:catalog>
12362
12604
  <x:xmpmeta xmlns:x="adobe:ns:meta/">
12363
12605
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
12606
+ <!-- Commented after upgrade to Apache FOP 2.10
12364
12607
  <rdf:Description xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" rdf:about="">
12365
12608
  <pdfaExtension:schemas>
12366
12609
  <rdf:Bag>
@@ -12393,7 +12636,7 @@
12393
12636
  </rdf:li>
12394
12637
  </rdf:Bag>
12395
12638
  </pdfaExtension:schemas>
12396
- </rdf:Description>
12639
+ </rdf:Description> -->
12397
12640
  <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
12398
12641
  <!-- Dublin Core properties go here -->
12399
12642
  <dc:title>
@@ -12440,7 +12683,7 @@
12440
12683
  <xsl:variable name="dc_description">
12441
12684
  <xsl:variable name="abstract">
12442
12685
 
12443
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
12686
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'fmt-title']) and not(ancestor::*[local-name() = 'title']) and not(ancestor::*[local-name() = 'fmt-xref-label'])]"/>
12444
12687
 
12445
12688
  </xsl:variable>
12446
12689
  <rdf:Alt>
@@ -12985,31 +13228,123 @@
12985
13228
 
12986
13229
  <!-- END: insert cover page image -->
12987
13230
 
12988
- <xsl:variable name="regex_ja_spec">[\uFF08\uFF09]</xsl:variable>
13231
+ <!-- https://github.com/metanorma/docs/blob/main/109.adoc -->
13232
+ <xsl:variable name="regex_ja_spec_">[
13233
+ <!-- Rotate 90° clockwise -->
13234
+ \u0028 <!-- U+0028 LEFT PARENTHESIS (() -->
13235
+ \uFF08 <!-- U+FF08 FULLWIDTH LEFT PARENTHESIS (() -->
13236
+ \u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
13237
+ \uFF09 <!-- U+FF09 FULLWIDTH RIGHT PARENTHESIS ()) -->
13238
+ \u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
13239
+ \uFF5B <!-- U+FF5B FULLWIDTH LEFT CURLY BRACKET ({) -->
13240
+ \u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
13241
+ \uFF5D <!-- U+FF5D FULLWIDTH RIGHT CURLY BRACKET (}) -->
13242
+ \u3014 <!-- U+3014 LEFT TORTOISE SHELL BRACKET (〔) -->
13243
+ \u3015 <!-- U+3015 RIGHT TORTOISE SHELL BRACKET (〕) -->
13244
+ \u3010 <!-- U+3010 LEFT BLACK LENTICULAR BRACKET (【) -->
13245
+ \u3011 <!-- U+3011 RIGHT BLACK LENTICULAR BRACKET (】) -->
13246
+ \u300A <!-- U+300A LEFT DOUBLE ANGLE BRACKET (《) -->
13247
+ \u300B <!-- U+300B RIGHT DOUBLE ANGLE BRACKET (》) -->
13248
+ \uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
13249
+ \u300C <!-- U+300C LEFT CORNER BRACKET (「) -->
13250
+ \uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
13251
+ \u300D <!-- U+300D RIGHT CORNER BRACKET (」) -->
13252
+ \u300E <!-- U+300E LEFT WHITE CORNER BRACKET (『) -->
13253
+ \u300F <!-- U+300F RIGHT WHITE CORNER BRACKET (』) -->
13254
+ \u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
13255
+ \uFF3B <!-- U+FF3B FULLWIDTH LEFT SQUARE BRACKET ([) -->
13256
+ \u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
13257
+ \uFF3D <!-- U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (]) -->
13258
+ \u3008 <!-- U+3008 LEFT ANGLE BRACKET (〈) -->
13259
+ \u3009 <!-- U+3009 RIGHT ANGLE BRACKET (〉) -->
13260
+ \u3016 <!-- U+3016 LEFT WHITE LENTICULAR BRACKET (〖) -->
13261
+ \u3017 <!-- U+3017 RIGHT WHITE LENTICULAR BRACKET (〗) -->
13262
+
13263
+ \u301A <!-- U+301A LEFT WHITE SQUARE BRACKET (〚) -->
13264
+ \u301B <!-- U+301B RIGHT WHITE SQUARE BRACKET (〛) -->
13265
+ \u301C <!-- U+301C WAVE DASH (〜) -->
13266
+ \u3030 <!-- U+3030 WAVY DASH (〰 )-->
13267
+ \u30FC <!-- U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (ー) -->
13268
+ \u2329 <!-- U+2329 LEFT-POINTING ANGLE BRACKET (〈) -->
13269
+ \u232A <!-- U+232A RIGHT-POINTING ANGLE BRACKET (〉) -->
13270
+ \u3018 <!-- U+3018 LEFT WHITE TORTOISE SHELL BRACKET (〘) -->
13271
+ \u3019 <!-- U+3019 RIGHT WHITE TORTOISE SHELL BRACKET (〙) -->
13272
+ \u30A0 <!-- U+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (゠) -->
13273
+ \uFE59 <!-- U+FE59 SMALL LEFT PARENTHESIS (﹙) -->
13274
+ \uFE5A <!-- U+FE5A SMALL RIGHT PARENTHESIS (﹚) -->
13275
+ \uFE5B <!-- U+FE5B SMALL LEFT CURLY BRACKET (﹛) -->
13276
+ \uFE5C <!-- U+FE5C SMALL RIGHT CURLY BRACKET (﹜) -->
13277
+ \uFE5D <!-- U+FE5D SMALL LEFT TORTOISE SHELL BRACKET (﹝) -->
13278
+ \uFE5E <!-- U+FE5E SMALL RIGHT TORTOISE SHELL BRACKET (﹞) -->
13279
+ \uFF5C <!-- U+FF5C FULLWIDTH VERTICAL LINE (|) -->
13280
+ \uFF5F <!-- U+FF5F FULLWIDTH LEFT WHITE PARENTHESIS (⦅) -->
13281
+ \uFF60 <!-- U+FF60 FULLWIDTH RIGHT WHITE PARENTHESIS (⦆) -->
13282
+ \uFFE3 <!-- U+FFE3 FULLWIDTH MACRON ( ̄) -->
13283
+ \uFF3F <!-- U+FF3F FULLWIDTH LOW LINE (_) -->
13284
+ \uFF5E <!-- U+FF5E FULLWIDTH TILDE (~) -->
13285
+ <!-- Rotate 180° -->
13286
+ \u309C <!-- U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜) -->
13287
+ \u3002 <!-- U+3002 IDEOGRAPHIC FULL STOP (。) -->
13288
+ \uFE52 <!-- U+FE52 SMALL FULL STOP (﹒) -->
13289
+ \uFF0E <!-- U+FF0E FULLWIDTH FULL STOP (.) -->
13290
+ ]</xsl:variable>
13291
+ <xsl:variable name="regex_ja_spec"><xsl:value-of select="translate(normalize-space($regex_ja_spec_), ' ', '')"/></xsl:variable>
12989
13292
  <xsl:template name="insertVerticalChar">
12990
13293
  <xsl:param name="str"/>
12991
13294
  <xsl:param name="writing-mode">lr-tb</xsl:param>
12992
13295
  <xsl:param name="reference-orientation">90</xsl:param>
12993
- <xsl:if test="string-length($str) &gt; 0">
12994
- <fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
12995
- <xsl:if test="normalize-space($writing-mode) != ''">
12996
- <xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
12997
- <xsl:attribute name="reference-orientation">90</xsl:attribute>
12998
- </xsl:if>
12999
- <xsl:variable name="char" select="substring($str,1,1)"/>
13000
- <xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
13001
- <xsl:attribute name="reference-orientation">0</xsl:attribute>
13296
+ <xsl:param name="add_zero_width_space">false</xsl:param>
13297
+ <xsl:choose>
13298
+ <xsl:when test="ancestor::*[local-name() = 'span'][@class = 'norotate']">
13299
+ <xsl:value-of select="$str"/>
13300
+ </xsl:when>
13301
+ <xsl:otherwise>
13302
+ <xsl:if test="string-length($str) &gt; 0">
13303
+ <xsl:variable name="horizontal_mode" select="normalize-space(ancestor::*[local-name() = 'span'][@class = 'horizontal'] and 1 = 1)"/>
13304
+ <xsl:variable name="char" select="substring($str,1,1)"/>
13305
+ <fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
13306
+ <xsl:if test="normalize-space($writing-mode) != ''">
13307
+ <xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
13308
+ <xsl:attribute name="reference-orientation">90</xsl:attribute>
13309
+ </xsl:if>
13310
+ <xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
13311
+ <xsl:attribute name="reference-orientation">0</xsl:attribute>
13312
+ </xsl:if>
13313
+ <xsl:if test="$char = '゜' or $char = '。' or $char = '﹒' or $char = '.'">
13314
+ <!-- Rotate 180°:
13315
+ U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜)
13316
+ U+3002 IDEOGRAPHIC FULL STOP (。)
13317
+ U+FE52 SMALL FULL STOP (﹒)
13318
+ U+FF0E FULLWIDTH FULL STOP (.)
13319
+ -->
13320
+ <xsl:attribute name="reference-orientation">-90</xsl:attribute>
13321
+ </xsl:if>
13322
+ <fo:block-container width="1em">
13323
+ <fo:block line-height="1em">
13324
+ <xsl:choose>
13325
+ <xsl:when test="$horizontal_mode = 'true'">
13326
+ <xsl:value-of select="$str"/>
13327
+ </xsl:when>
13328
+ <xsl:otherwise>
13329
+ <xsl:value-of select="$char"/>
13330
+ </xsl:otherwise>
13331
+ </xsl:choose>
13332
+ </fo:block>
13333
+ </fo:block-container>
13334
+ </fo:inline-container>
13335
+ <xsl:if test="$add_zero_width_space = 'true' and ($char = ',' or $char = '.' or $char = ' ' or $char = '·' or $char = ')' or $char = ']' or $char = '}')"><xsl:value-of select="$zero_width_space"/></xsl:if>
13336
+
13337
+ <xsl:if test="$horizontal_mode = 'false'">
13338
+ <xsl:call-template name="insertVerticalChar">
13339
+ <xsl:with-param name="str" select="substring($str, 2)"/>
13340
+ <xsl:with-param name="writing-mode" select="$writing-mode"/>
13341
+ <xsl:with-param name="reference-orientation" select="$reference-orientation"/>
13342
+ <xsl:with-param name="add_zero_width_space" select="$add_zero_width_space"/>
13343
+ </xsl:call-template>
13344
+ </xsl:if>
13002
13345
  </xsl:if>
13003
- <fo:block-container width="1em">
13004
- <fo:block line-height="1em"><xsl:value-of select="$char"/></fo:block>
13005
- </fo:block-container>
13006
- </fo:inline-container>
13007
- <xsl:call-template name="insertVerticalChar">
13008
- <xsl:with-param name="str" select="substring($str, 2)"/>
13009
- <xsl:with-param name="writing-mode" select="$writing-mode"/>
13010
- <xsl:with-param name="reference-orientation" select="$reference-orientation"/>
13011
- </xsl:call-template>
13012
- </xsl:if>
13346
+ </xsl:otherwise>
13347
+ </xsl:choose>
13013
13348
  </xsl:template>
13014
13349
 
13015
13350
  <xsl:template name="number-to-words">
@@ -5,12 +5,8 @@ require "isodoc"
5
5
  module IsoDoc
6
6
  module Csa
7
7
  class PresentationXMLConvert < IsoDoc::Generic::PresentationXMLConvert
8
- def annex1(elem)
9
- lbl = @xrefs.anchor(elem["id"], :label)
10
- if t = elem.at(ns("./title"))
11
- t.children = "<strong>#{to_xml(t.children)}</strong>"
12
- end
13
- prefix_name(elem, "<br/>", lbl, "title")
8
+ def annex_delim(_elem)
9
+ "<br/>"
14
10
  end
15
11
 
16
12
  def middle_title(docxml); end
@@ -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.4.0 -->
20
+ <!-- VERSION v1.4.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">
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Csa
3
- VERSION = "2.5.6".freeze
3
+ VERSION = "2.5.7".freeze
4
4
  end
5
5
  end
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ["lib"]
30
30
  spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
31
31
 
32
- spec.add_dependency "metanorma-generic", "~> 2.7.2"
32
+ spec.add_dependency "metanorma-generic", "~> 2.7.3"
33
33
 
34
34
  spec.add_development_dependency "debug"
35
35
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-csa
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.6
4
+ version: 2.5.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-11-11 00:00:00.000000000 Z
11
+ date: 2024-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.7.2
19
+ version: 2.7.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.7.2
26
+ version: 2.7.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement