metanorma-iso 3.0.2 → 3.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01025c19c45f3d1f49e90f45f68793666402c87d9e2dc97c274bf24a1314c793
4
- data.tar.gz: 4bfac720092ecdace7f32af42b9151bc455aa05bd06b551991556d936ecb40c6
3
+ metadata.gz: e6e303c8954c03b483677a25488720d9352c26c2d4d83c89a95b5e7d255e6cd5
4
+ data.tar.gz: 7bebdf7e905466d24f65e3a182f6a8eb59cfe468351d6b4418c4e4188d8c5ae2
5
5
  SHA512:
6
- metadata.gz: 3de2ec5eeb286b9d3e45ef1456d069fb760b44e06f8c09ee298a96d0c9940005eb147b2db45d13bfd02363df64f93a0fe0f85f556000fa54be12abd719a88961
7
- data.tar.gz: ee794ff280b2d1e1769f3c55cb16a870282d062e154801941b87aed24fb4ab2963c3f606fb28c6dc277e86e09e8b5107ed84ec2adbd64c130a780d1cd5102990
6
+ metadata.gz: aa12f20780057b111a15bd057cad65c4c76c42ef26c81994ac86c3708675fdb37258fd606227b213c8b80882be77e474cfcfbf0c39e093ba4b9fa099298ba7de
7
+ data.tar.gz: 58fcb4a8e10dc33fe6e911eb272c2bc1e49f2ca3d52e8fd3bbb75117d26e6e775bad3bdb19ecf7737e2c271fba1b635661512064988ecccf127ca97d328e0596
@@ -318,6 +318,13 @@ h6:hover > a.anchor,
318
318
  padding: 0;
319
319
  }
320
320
 
321
+ svg {
322
+ width: 100%;
323
+ padding-bottom: 92%;
324
+ height: 1px;
325
+ overflow: visible;
326
+ }
327
+
321
328
  #standard-band {
322
329
  background-color: #0AC442;
323
330
  }
@@ -318,6 +318,13 @@ h6:hover > a.anchor,
318
318
  padding: 0;
319
319
  }
320
320
 
321
+ svg {
322
+ width: 100%;
323
+ padding-bottom: 92%;
324
+ height: 1px;
325
+ overflow: visible;
326
+ }
327
+
321
328
  #standard-band {
322
329
  background-color: #0AC442;
323
330
  }
@@ -88,6 +88,61 @@ stage_dict:
88
88
  directive: Directive
89
89
  "90": Review
90
90
  "95": Withdrawal
91
+ stage_draft_variants:
92
+ Draft International Standard:
93
+ coverpage: DRAFT<br/>International Standard
94
+ firstpage: DRAFT International Standard
95
+ Draft Technical Specification:
96
+ coverpage: DRAFT<br/>Technical Specification
97
+ firstpage: DRAFT Technical Specification
98
+ Draft Technical Report:
99
+ coverpage: DRAFT<br/>Technical Report
100
+ firstpage: DRAFT Technical Report
101
+ Draft Publicly Available Specification:
102
+ coverpage: DRAFT<br/>Publicly Available Specification
103
+ firstpage: DRAFT Publicly Available Specification
104
+ Draft International Workshop Agreement:
105
+ coverpage: DRAFT<br/>International Workshop Agreement
106
+ firstpage: DRAFT International Workshop Agreement
107
+ Draft Guide:
108
+ coverpage: DRAFT<br/>Guide
109
+ firstpage: DRAFT Guide
110
+ Draft Amendment:
111
+ coverpage: DRAFT<br/>Amendment
112
+ firstpage: DRAFT Amendment
113
+ Draft Technical Corrigendum:
114
+ coverpage: DRAFT<br/>Technical Corrigendum
115
+ firstpage: DRAFT Technical Corrigendum
116
+ Draft Directive:
117
+ coverpage: DRAFT<br/>Directive
118
+ firstpage: DRAFT Directive
119
+ Final Draft International Standard:
120
+ coverpage: FINAL DRAFT<br/>International Standard
121
+ firstpage: FINAL DRAFT International Standard
122
+ Final Draft Technical Specification:
123
+ coverpage: FINAL DRAFT<br/>Technical Specification
124
+ firstpage: FINAL DRAFT Technical Specification
125
+ Final Draft Technical Report:
126
+ coverpage: FINAL DRAFT<br/>Technical Report
127
+ firstpage: FINAL DRAFT Technical Report
128
+ Final Draft Publicly Available Specification:
129
+ coverpage: FINAL DRAFT<br/>Publicly Available Specification
130
+ firstpage: FINAL DRAFT Publicly Available Specification
131
+ Final Draft International Workshop Agreement:
132
+ coverpage: FINAL DRAFT<br/>International Workshop Agreement
133
+ firstpage: FINAL DRAFT International Workshop Agreement
134
+ Final Draft Guide:
135
+ coverpage: FINAL DRAFT<br/>Guide
136
+ firstpage: FINAL DRAFT Guide
137
+ Final Draft Amendment:
138
+ coverpage: FINAL DRAFT<br/>Amendment
139
+ firstpage: FINAL DRAFT Amendment
140
+ Final Draft Technical Corrigendum:
141
+ coverpage: FINAL DRAFT<br/>Technical Corrigendum
142
+ firstpage: FINAL DRAFT Technical Corrigendum
143
+ Final Draft Directive:
144
+ coverpage: FINAL DRAFT<br/>Directive
145
+ firstpage: FINAL DRAFT Directive
91
146
  locality:
92
147
  appendix: Appendix
93
148
  requirements:
@@ -83,6 +83,31 @@ stage_dict:
83
83
  technical-corrigendum: Rectificatif technique
84
84
  "90": Révision
85
85
  "95": Retrait
86
+ stage_draft_variants:
87
+ Projet Norme internationale:
88
+ coverpage: PROJET<br/>Norme internationale
89
+ firstpage: PROJET de Norme internationale
90
+ Project Spécification technique:
91
+ coverpage: PROJET<br/>Spécification technique
92
+ firstpage: PROJET de Spécification technique
93
+ Projet Rapport technique:
94
+ coverpage: PROJET<br/>Rapport technique
95
+ firstpage: PROJET de Rapport technique
96
+ Projet Spécification disponible publiquement:
97
+ coverpage: PROJET<br/>Spécification disponible publiquement
98
+ firstpage: PROJET de Spécification disponible publiquement
99
+ Projet Accord internationale d’atelier:
100
+ coverpage: PROJET<br/>Accord internationale d’atelier
101
+ firstpage: PROJET de Accord internationale d’atelier
102
+ Projet Guide:
103
+ coverpage: PROJET<br/>Guide
104
+ firstpage: PROJET de Guide
105
+ Projet Amendement:
106
+ coverpage: PROJET<br/>Amendement
107
+ firstpage: PROJET de Amendement
108
+ Projet Rectificatif technique:
109
+ coverpage: PROJET<br/>Rectificatif technique
110
+ firstpage: PROJET de Rectificatif technique
86
111
  locality:
87
112
  appendix: Appendice
88
113
  requirements:
@@ -3229,11 +3229,11 @@
3229
3229
 
3230
3230
  <xsl:if test="count(*) = 1 and *[local-name() = 'title']"> <!-- if there isn't user ToC -->
3231
3231
 
3232
- <!-- <xsl:if test="$debug = 'true'">
3232
+ <xsl:if test="$debug = 'true'">
3233
3233
  <redirect:write file="contents_.xml">
3234
3234
  <xsl:copy-of select="$contents"/>
3235
3235
  </redirect:write>
3236
- </xsl:if> -->
3236
+ </xsl:if>
3237
3237
 
3238
3238
  <xsl:variable name="margin-left">12</xsl:variable>
3239
3239
 
@@ -9226,6 +9226,8 @@
9226
9226
 
9227
9227
  <xsl:template name="setTableRowAttributes">
9228
9228
 
9229
+ <xsl:call-template name="setColors"/>
9230
+
9229
9231
  </xsl:template> <!-- setTableRowAttributes -->
9230
9232
  <!-- ===================== -->
9231
9233
  <!-- END Table's row processing -->
@@ -9277,6 +9279,7 @@
9277
9279
  </xsl:attribute>
9278
9280
  </xsl:if>
9279
9281
  <xsl:call-template name="display-align"/>
9282
+ <xsl:call-template name="setColors"/>
9280
9283
  </xsl:template>
9281
9284
 
9282
9285
  <xsl:template name="display-align">
@@ -9292,6 +9295,29 @@
9292
9295
  </xsl:if>
9293
9296
  </xsl:template>
9294
9297
 
9298
+ <xsl:template name="setColors">
9299
+ <xsl:variable name="styles__">
9300
+ <xsl:call-template name="split">
9301
+ <xsl:with-param name="pText" select="concat(@style,';')"/>
9302
+ <xsl:with-param name="sep" select="';'"/>
9303
+ </xsl:call-template>
9304
+ </xsl:variable>
9305
+ <xsl:variable name="quot">"</xsl:variable>
9306
+ <xsl:variable name="styles_">
9307
+ <xsl:for-each select="xalan:nodeset($styles__)/item">
9308
+ <xsl:variable name="key" select="normalize-space(substring-before(., ':'))"/>
9309
+ <xsl:variable name="value" select="normalize-space(substring-after(translate(.,$quot,''), ':'))"/>
9310
+ <xsl:if test="$key = 'color' or $key = 'background-color'">
9311
+ <style name="{$key}"><xsl:value-of select="$value"/></style>
9312
+ </xsl:if>
9313
+ </xsl:for-each>
9314
+ </xsl:variable>
9315
+ <xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
9316
+ <xsl:for-each select="$styles/style">
9317
+ <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
9318
+ </xsl:for-each>
9319
+ </xsl:template>
9320
+
9295
9321
  <!-- cell in table body, footer -->
9296
9322
  <xsl:template match="*[local-name()='td']" name="td">
9297
9323
  <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
@@ -9303,12 +9329,12 @@
9303
9329
 
9304
9330
  <xsl:call-template name="refine_table-cell-style"/>
9305
9331
 
9332
+ <xsl:call-template name="setTableCellAttributes"/>
9333
+
9306
9334
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
9307
9335
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
9308
9336
  </xsl:if>
9309
9337
 
9310
- <xsl:call-template name="setTableCellAttributes"/>
9311
-
9312
9338
  <xsl:if test="$isGenerateTableIF = 'true'">
9313
9339
  <xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width -->
9314
9340
  <xsl:attribute name="text-align">left</xsl:attribute>
@@ -11206,7 +11232,7 @@
11206
11232
  <xsl:choose>
11207
11233
  <xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
11208
11234
  <xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
11209
- <fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
11235
+ <fo:inline keep-with-next.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
11210
11236
  </xsl:when>
11211
11237
  <xsl:otherwise>
11212
11238
  <xsl:apply-templates/>
@@ -11214,7 +11240,7 @@
11214
11240
  </xsl:choose>
11215
11241
  </xsl:template>
11216
11242
  <xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
11217
- <fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
11243
+ <fo:inline keep-with-next.within-line="always" role="SKIP"><xsl:value-of select="."/></fo:inline>
11218
11244
  </xsl:template>
11219
11245
 
11220
11246
  <xsl:template match="*[local-name() = 'span'][contains(@style, 'text-transform:none')]//text()" priority="5">
@@ -12254,24 +12280,26 @@
12254
12280
  <xsl:apply-templates select="." mode="mathml"/>
12255
12281
  </xsl:variable>
12256
12282
 
12257
- <fo:instream-foreign-object fox:alt-text="Math">
12283
+ <fo:instream-foreign-object fox:alt-text="Math" fox:actual-text="Math">
12258
12284
 
12259
12285
  <xsl:call-template name="refine_mathml_insteam_object_style"/>
12260
12286
 
12261
- <!-- put MathML in Actual Text -->
12262
- <!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
12263
- <xsl:attribute name="fox:actual-text">
12264
- <xsl:value-of select="$mathml_content"/>
12265
- </xsl:attribute>
12266
-
12267
- <!-- <xsl:if test="$add_math_as_text = 'true'"> -->
12268
- <xsl:if test="normalize-space($asciimath_text_) != ''">
12269
- <!-- put Mathin Alternate Text -->
12270
- <xsl:attribute name="fox:alt-text">
12271
- <xsl:value-of select="$asciimath_text_"/>
12287
+ <xsl:if test="$isGenerateTableIF = 'false'">
12288
+ <!-- put MathML in Actual Text -->
12289
+ <!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
12290
+ <xsl:attribute name="fox:actual-text">
12291
+ <xsl:value-of select="$mathml_content"/>
12272
12292
  </xsl:attribute>
12293
+
12294
+ <!-- <xsl:if test="$add_math_as_text = 'true'"> -->
12295
+ <xsl:if test="normalize-space($asciimath_text_) != ''">
12296
+ <!-- put Mathin Alternate Text -->
12297
+ <xsl:attribute name="fox:alt-text">
12298
+ <xsl:value-of select="$asciimath_text_"/>
12299
+ </xsl:attribute>
12300
+ </xsl:if>
12301
+ <!-- </xsl:if> -->
12273
12302
  </xsl:if>
12274
- <!-- </xsl:if> -->
12275
12303
 
12276
12304
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
12277
12305
 
@@ -14065,6 +14093,8 @@
14065
14093
  <xsl:template match="*[local-name() = 'origin']" mode="contents"/>
14066
14094
  <xsl:template match="*[local-name() = 'erefstack ']" mode="contents"/>
14067
14095
 
14096
+ <xsl:template match="*[local-name() = 'requirement'] | *[local-name() = 'recommendation'] | *[local-name() = 'permission']" mode="contents" priority="3"/>
14097
+
14068
14098
  <xsl:template match="*[local-name() = 'stem']" mode="bookmarks"/>
14069
14099
  <xsl:template match="*[local-name() = 'fmt-stem']" mode="bookmarks">
14070
14100
  <xsl:apply-templates mode="bookmarks"/>
@@ -14086,6 +14116,8 @@
14086
14116
  <xsl:template match="*[local-name() = 'origin']" mode="bookmarks"/>
14087
14117
  <xsl:template match="*[local-name() = 'erefstack ']" mode="bookmarks"/>
14088
14118
 
14119
+ <xsl:template match="*[local-name() = 'requirement'] | *[local-name() = 'recommendation'] | *[local-name() = 'permission']" mode="bookmarks" priority="3"/>
14120
+
14089
14121
  <!-- Bookmarks -->
14090
14122
  <xsl:template name="addBookmarks">
14091
14123
  <xsl:param name="contents"/>
@@ -15979,21 +16011,32 @@
15979
16011
  <!-- ========== -->
15980
16012
 
15981
16013
  <xsl:variable name="reviews_">
15982
- <xsl:for-each select="//*[local-name() = 'review'][@from]">
16014
+ <xsl:for-each select="//*[local-name() = 'review'][not(parent::*[local-name() = 'review-container'])][@from]">
15983
16015
  <xsl:copy>
15984
16016
  <xsl:copy-of select="@from"/>
15985
16017
  <xsl:copy-of select="@id"/>
15986
16018
  </xsl:copy>
15987
16019
  </xsl:for-each>
16020
+ <xsl:for-each select="//*[local-name() = 'fmt-review-start'][@source]">
16021
+ <xsl:copy>
16022
+ <xsl:copy-of select="@source"/>
16023
+ <xsl:copy-of select="@id"/>
16024
+ </xsl:copy>
16025
+ </xsl:for-each>
15988
16026
  </xsl:variable>
15989
16027
  <xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
15990
16028
 
15991
16029
  <xsl:template name="addReviewHelper">
15992
- <!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
15993
- <xsl:variable name="curr_id" select="@id"/>
15994
- <xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
15995
- <xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
15996
- <fo:block keep-with-next="always" line-height="0.1" id="{$review_id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$review_id}" fox:alt-text="Annot___{$review_id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16030
+ <xsl:if test="$isGenerateTableIF = 'false'">
16031
+ <!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
16032
+ <xsl:variable name="curr_id" select="@id"/>
16033
+ <!-- <xsl:variable name="review_id" select="normalize-space(/@id)"/> -->
16034
+ <xsl:for-each select="$reviews//*[local-name() = 'review'][@from = $curr_id]"> <!-- $reviews//*[local-name() = 'fmt-review-start'][@source = $curr_id] -->
16035
+ <xsl:variable name="review_id" select="normalize-space(@id)"/>
16036
+ <xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
16037
+ <fo:block keep-with-next="always" line-height="0.1" id="{$review_id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$review_id}" fox:alt-text="Annot___{$review_id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16038
+ </xsl:if>
16039
+ </xsl:for-each>
15997
16040
  </xsl:if>
15998
16041
  <!-- <fo:block>
15999
16042
  <curr_id><xsl:value-of select="$curr_id"/></curr_id>
@@ -16141,14 +16184,61 @@
16141
16184
 
16142
16185
  </xsl:template>
16143
16186
 
16144
- <xsl:template match="*[local-name() = 'review']"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
16187
+ <!-- document text (not figures, or tables) footnotes -->
16188
+ <xsl:variable name="reviews_container_">
16189
+ <xsl:for-each select="//*[local-name() = 'review-container']/*[local-name() = 'fmt-review-body']">
16190
+ <xsl:variable name="update_xml_step1">
16191
+ <xsl:apply-templates select="." mode="update_xml_step1"/>
16192
+ </xsl:variable>
16193
+ <xsl:apply-templates select="xalan:nodeset($update_xml_step1)" mode="update_xml_enclose_keep-together_within-line"/>
16194
+ </xsl:for-each>
16195
+ </xsl:variable>
16196
+ <xsl:variable name="reviews_container" select="xalan:nodeset($reviews_container_)"/>
16197
+
16198
+ <xsl:template match="*[local-name() = 'review-container']"/>
16199
+
16200
+ <!-- for old Presentation XML (before https://github.com/metanorma/isodoc/issues/670) -->
16201
+ <xsl:template match="*[local-name() = 'review'][not(parent::*[local-name() = 'review-container'])]"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
16202
+ <xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
16203
+ <xsl:if test="$isGenerateTableIF = 'false'">
16204
+ <xsl:choose>
16205
+ <!-- if there isn't the attribute '@from', then -->
16206
+ <xsl:when test="$id_from = ''">
16207
+ <fo:block id="{@id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@id}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16208
+ </xsl:when>
16209
+ <!-- if there isn't element with id 'from', then create 'bookmark' here -->
16210
+ <xsl:when test="ancestor::*[local-name() = 'metanorma'] and not(ancestor::*[local-name() = 'metanorma']//*[@id = $id_from])">
16211
+ <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16212
+ </xsl:when>
16213
+ <xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
16214
+ <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16215
+ </xsl:when>
16216
+ </xsl:choose>
16217
+ </xsl:if>
16218
+ </xsl:template>
16219
+
16220
+ <!-- for new Presentation XML (https://github.com/metanorma/isodoc/issues/670) -->
16221
+ <xsl:template match="*[local-name() = 'fmt-review-start']" name="fmt-review-start"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
16145
16222
  <!-- comment 2019-11-29 -->
16146
16223
  <!-- <fo:block font-weight="bold">Review:</fo:block>
16147
16224
  <xsl:apply-templates /> -->
16148
16225
 
16149
- <xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
16226
+ <xsl:variable name="id_from" select="normalize-space(current()/@source)"/>
16150
16227
 
16151
- <xsl:if test="1 = 1">
16228
+ <xsl:variable name="source" select="normalize-space(@source)"/>
16229
+
16230
+ <xsl:if test="$isGenerateTableIF = 'false'">
16231
+ <!-- <xsl:variable name="id_from" select="normalize-space(current()/@from)"/> -->
16232
+
16233
+ <!-- <xsl:if test="@source = @end"> -->
16234
+ <!-- following-sibling::node()[1][local-name() = 'bookmark'][@id = $source] and
16235
+ following-sibling::node()[2][local-name() = 'fmt-review-end'][@source = $source] -->
16236
+ <!-- <fo:block id="{$source}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$source}" fox:alt-text="Annot___{$source}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block> -->
16237
+ <fo:block id="{@id}" font-size="1pt" role="SKIP" keep-with-next="always" line-height="0.1"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@id}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16238
+ <!-- </xsl:if> -->
16239
+ </xsl:if>
16240
+
16241
+ <xsl:if test="1 = 2">
16152
16242
  <xsl:choose>
16153
16243
  <!-- if there isn't the attribute '@from', then -->
16154
16244
  <xsl:when test="$id_from = ''">
@@ -16156,10 +16246,10 @@
16156
16246
  </xsl:when>
16157
16247
  <!-- if there isn't element with id 'from', then create 'bookmark' here -->
16158
16248
  <xsl:when test="ancestor::*[local-name() = 'metanorma'] and not(ancestor::*[local-name() = 'metanorma']//*[@id = $id_from])">
16159
- <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16249
+ <fo:block id="{$id_from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$id_from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16160
16250
  </xsl:when>
16161
16251
  <xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
16162
- <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16252
+ <fo:block id="{$id_from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$id_from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
16163
16253
  </xsl:when>
16164
16254
  </xsl:choose>
16165
16255
  </xsl:if>
@@ -16215,16 +16305,21 @@
16215
16305
  <xsl:variable name="list_level">
16216
16306
  <xsl:choose>
16217
16307
  <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
16218
- <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
16308
+ <xsl:when test="$ul_labels/label[@level = 3]"><xsl:value-of select="$list_level_ mod 3"/></xsl:when>
16309
+ <xsl:when test="$list_level_ mod 2 = 0">2</xsl:when>
16310
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 2"/></xsl:otherwise>
16219
16311
  </xsl:choose>
16220
16312
  </xsl:variable>
16221
16313
  <xsl:choose>
16222
16314
  <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
16223
16315
  <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
16224
16316
  </xsl:when>
16225
- <xsl:when test="$list_level mod 3 = 0">
16317
+ <xsl:when test="$list_level mod 3 = 0 and $ul_labels/label[@level = 3]">
16226
16318
  <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
16227
16319
  </xsl:when>
16320
+ <xsl:when test="$list_level mod 3 = 0">
16321
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
16322
+ </xsl:when>
16228
16323
  <xsl:when test="$list_level mod 2 = 0">
16229
16324
  <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
16230
16325
  </xsl:when>
@@ -16804,10 +16899,22 @@
16804
16899
  <xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/>
16805
16900
 
16806
16901
  <xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
16807
- <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
16808
- <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
16809
- <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
16810
- <xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
16902
+ <xsl:variable name="bookmark_id" select="@id"/>
16903
+ <xsl:choose>
16904
+ <!-- Example:
16905
+ <fmt-review-start id="_7ef81cf7-3f6c-4ed4-9c1f-1ba092052bbd" source="_dda23915-8574-ef1e-29a1-822d465a5b97" target="_ecfb2210-3b1b-46a2-b63a-8b8505be6686" end="_dda23915-8574-ef1e-29a1-822d465a5b97" author="" date="2025-03-24T00:00:00Z"/>
16906
+ <bookmark id="_dda23915-8574-ef1e-29a1-822d465a5b97"/>
16907
+ <fmt-review-end id="_f336a8d0-08a8-4b7f-a1aa-b04688ed40c1" source="_dda23915-8574-ef1e-29a1-822d465a5b97" target="_ecfb2210-3b1b-46a2-b63a-8b8505be6686" start="_dda23915-8574-ef1e-29a1-822d465a5b97" author="" date="2025-03-24T00:00:00Z"/> -->
16908
+ <xsl:when test="1 = 2 and preceding-sibling::node()[local-name() = 'fmt-review-start'][@source = $bookmark_id] and following-sibling::node()[local-name() = 'fmt-review-end'][@source = $bookmark_id]">
16909
+ <!-- skip here, see the template 'fmt-review-start' -->
16910
+ </xsl:when>
16911
+ <xsl:otherwise>
16912
+ <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
16913
+ <fo:inline id="{@id}" font-size="1pt"><xsl:if test="preceding-sibling::node()[local-name() = 'fmt-review-start'][@source = $bookmark_id] and following-sibling::node()[local-name() = 'fmt-review-end'][@source = $bookmark_id]"><xsl:attribute name="line-height">0.1</xsl:attribute></xsl:if><xsl:value-of select="$hair_space"/></fo:inline>
16914
+ <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
16915
+ <xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
16916
+ </xsl:otherwise>
16917
+ </xsl:choose>
16811
16918
  </xsl:template>
16812
16919
  <!-- =================== -->
16813
16920
  <!-- End of Index processing -->
@@ -18166,6 +18273,9 @@
18166
18273
  <xsl:template match="*[local-name() = 'svgmap']" mode="update_xml_step1"/>
18167
18274
  <xsl:template match="*[local-name() = 'svgmap']" mode="update_xml_pres"/>
18168
18275
 
18276
+ <xsl:template match="*[local-name() = 'review-container']" mode="update_xml_step1"/>
18277
+ <xsl:template match="*[local-name() = 'review-container']" mode="update_xml_pres"/>
18278
+
18169
18279
  <!-- END: update new Presentation XML -->
18170
18280
 
18171
18281
  <!-- =========================================================================== -->