metanorma-ogc 2.3.1 → 2.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@
2
2
 
3
3
  <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
- <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
5
+ <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure' or local-name() = 'localized-strings')] and not(ancestor::*[local-name() = 'name']))]" use="@reference"/>
6
6
 
7
7
  <xsl:variable name="debug">false</xsl:variable>
8
8
 
@@ -128,494 +128,503 @@
128
128
 
129
129
  <xsl:template match="/">
130
130
  <xsl:call-template name="namespaceCheck"/>
131
- <fo:root xml:lang="{$lang}">
132
- <xsl:variable name="root-style">
133
- <root-style xsl:use-attribute-sets="root-style"/>
134
- </xsl:variable>
135
- <xsl:call-template name="insertRootStyle">
136
- <xsl:with-param name="root-style" select="$root-style"/>
137
- </xsl:call-template>
138
- <fo:layout-master-set>
139
- <!-- Cover page -->
140
- <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
141
- <fo:region-body margin-top="16.5mm" margin-bottom="10mm" margin-left="16.5mm" margin-right="14mm"/>
142
- <fo:region-before region-name="cover-page-header" extent="16.5mm"/>
143
- <fo:region-after extent="10mm"/>
144
- <fo:region-start extent="16.5mm"/>
145
- <fo:region-end extent="14mm"/>
146
- </fo:simple-page-master>
147
-
148
- <!-- Preface pages -->
149
- <fo:simple-page-master master-name="preface" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
150
- <fo:region-body margin-top="16.5mm" margin-bottom="22.5mm" margin-left="16.5mm" margin-right="16.5mm"/>
151
- <fo:region-before region-name="header" extent="16.5mm"/>
152
- <fo:region-after region-name="footer" extent="22.5mm"/>
153
- <fo:region-start region-name="left-region" extent="16.5mm"/>
154
- <fo:region-end region-name="right-region" extent="16.5mm"/>
155
- </fo:simple-page-master>
156
-
157
- <!-- Document pages -->
158
- <fo:simple-page-master master-name="document" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
159
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
160
- <fo:region-before region-name="header" extent="{$marginTop}mm"/>
161
- <fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
162
- <fo:region-start region-name="left-region" extent="16.5mm"/>
163
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
164
- </fo:simple-page-master>
165
-
166
- </fo:layout-master-set>
167
-
168
- <fo:declarations>
169
- <xsl:call-template name="addPDFUAmeta"/>
170
- </fo:declarations>
171
-
172
- <xsl:call-template name="addBookmarks">
173
- <xsl:with-param name="contents" select="$contents"/>
174
- </xsl:call-template>
175
131
 
176
- <!-- Cover Page -->
177
- <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
178
- <fo:static-content flow-name="xsl-footnote-separator">
179
- <fo:block>
180
- <fo:leader leader-pattern="rule" leader-length="30%"/>
181
- </fo:block>
182
- </fo:static-content>
132
+ <xsl:variable name="updated_xml_step1">
133
+ <xsl:apply-templates mode="update_xml_step1"/>
134
+ </xsl:variable>
183
135
 
184
- <fo:flow flow-name="xsl-region-body" color="white">
136
+ <xsl:for-each select="xalan:nodeset($updated_xml_step1)">
137
+
138
+ <fo:root xml:lang="{$lang}">
139
+ <xsl:variable name="root-style">
140
+ <root-style xsl:use-attribute-sets="root-style"/>
141
+ </xsl:variable>
142
+ <xsl:call-template name="insertRootStyle">
143
+ <xsl:with-param name="root-style" select="$root-style"/>
144
+ </xsl:call-template>
145
+ <fo:layout-master-set>
146
+ <!-- Cover page -->
147
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
148
+ <fo:region-body margin-top="16.5mm" margin-bottom="10mm" margin-left="16.5mm" margin-right="14mm"/>
149
+ <fo:region-before region-name="cover-page-header" extent="16.5mm"/>
150
+ <fo:region-after extent="10mm"/>
151
+ <fo:region-start extent="16.5mm"/>
152
+ <fo:region-end extent="14mm"/>
153
+ </fo:simple-page-master>
154
+
155
+ <!-- Preface pages -->
156
+ <fo:simple-page-master master-name="preface" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
157
+ <fo:region-body margin-top="16.5mm" margin-bottom="22.5mm" margin-left="16.5mm" margin-right="16.5mm"/>
158
+ <fo:region-before region-name="header" extent="16.5mm"/>
159
+ <fo:region-after region-name="footer" extent="22.5mm"/>
160
+ <fo:region-start region-name="left-region" extent="16.5mm"/>
161
+ <fo:region-end region-name="right-region" extent="16.5mm"/>
162
+ </fo:simple-page-master>
163
+
164
+ <!-- Document pages -->
165
+ <fo:simple-page-master master-name="document" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
166
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
167
+ <fo:region-before region-name="header" extent="{$marginTop}mm"/>
168
+ <fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
169
+ <fo:region-start region-name="left-region" extent="16.5mm"/>
170
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
171
+ </fo:simple-page-master>
172
+
173
+ </fo:layout-master-set>
174
+
175
+ <fo:declarations>
176
+ <xsl:call-template name="addPDFUAmeta"/>
177
+ </fo:declarations>
178
+
179
+ <xsl:call-template name="addBookmarks">
180
+ <xsl:with-param name="contents" select="$contents"/>
181
+ </xsl:call-template>
185
182
 
186
- <!-- background image -->
187
- <fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0">
183
+ <!-- Cover Page -->
184
+ <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
185
+ <fo:static-content flow-name="xsl-footnote-separator">
188
186
  <fo:block>
189
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Cover-Background))}" width="{$pageWidth}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
187
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
190
188
  </fo:block>
191
- </fo:block-container>
189
+ </fo:static-content>
192
190
 
193
- <!-- background color -->
194
- <fo:block-container absolute-position="fixed" left="0" top="0" font-size="0">
195
- <fo:block>
196
- <fo:instream-foreign-object content-height="{$pageHeight}mm" fox:alt-text="Background color">
197
- <svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="{$pageWidth}mm" height="{$pageHeight}mm">
198
- <rect width="{$pageWidth}mm" height="{$pageHeight}mm" style="fill:rgb(33,55,92);stroke-width:0;fill-opacity:0.85"/>
199
- </svg>
200
- </fo:instream-foreign-object>
201
- </fo:block>
202
- </fo:block-container>
191
+ <fo:flow flow-name="xsl-region-body" color="white">
203
192
 
204
- <xsl:call-template name="insertCrossingLines"/>
205
-
206
- <!-- title and logo -->
207
- <fo:block>
208
- <fo:table table-layout="fixed" width="100%">
209
- <fo:table-column column-width="75%"/>
210
- <fo:table-column column-width="25%"/>
211
- <fo:table-body>
212
- <fo:table-row>
213
- <fo:table-cell font-weight="bold">
214
- <fo:block font-size="16pt" color="{$color_design}" margin-bottom="4pt">
215
- <xsl:variable name="ogc_document" select="concat('OGC® DOCUMENT: ', $docnumber)"/>
216
- <xsl:call-template name="addLetterSpacing">
217
- <xsl:with-param name="text" select="$ogc_document"/>
218
- <xsl:with-param name="letter-spacing" select="0.3"/>
219
- </xsl:call-template>
220
- </fo:block>
221
- <xsl:variable name="ogc_external" select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type='ogc-external']"/>
222
- <xsl:if test="normalize-space($ogc_external) != ''">
223
- <fo:block font-size="10pt">External identifier of this OGC<fo:inline font-size="58%" baseline-shift="30%">®</fo:inline> document: <fo:inline font-weight="normal"><xsl:value-of select="$ogc_external"/></fo:inline></fo:block>
224
- </xsl:if>
225
- </fo:table-cell>
226
- <fo:table-cell text-align="right">
227
- <fo:block>
228
- <xsl:call-template name="insertLogo"/>
229
- </fo:block>
230
- </fo:table-cell>
231
- </fo:table-row>
232
- </fo:table-body>
233
- </fo:table>
234
- </fo:block>
193
+ <!-- background image -->
194
+ <fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0">
195
+ <fo:block>
196
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Cover-Background))}" width="{$pageWidth}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
197
+ </fo:block>
198
+ </fo:block-container>
235
199
 
236
- <!-- <fo:block-container absolute-position="fixed" left="16.5mm" top="83mm" height="90mm"> -->
237
- <fo:block-container absolute-position="fixed" left="16.5mm" top="40mm" height="170mm">
238
- <fo:block-container width="155mm" height="99%" display-align="center">
239
- <fo:block font-size="33pt" role="H1">
240
- <xsl:variable name="length_title" select="string-length($doctitle)"/>
241
- <xsl:variable name="fit_font-size">
242
- <xsl:choose>
243
- <xsl:when test="$length_title &gt; 230">20</xsl:when>
244
- <xsl:when test="$length_title &gt; 170">26</xsl:when>
245
- <xsl:when test="$length_title &gt; 155">28</xsl:when>
246
- <xsl:when test="$length_title &gt; 130">30</xsl:when>
247
- </xsl:choose>
248
- </xsl:variable>
249
- <xsl:if test="normalize-space($fit_font-size) != ''">
250
- <xsl:attribute name="font-size"><xsl:value-of select="$fit_font-size"/>pt</xsl:attribute>
251
- </xsl:if>
252
- <xsl:call-template name="addLetterSpacing">
253
- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($doctitle))"/>
254
- <xsl:with-param name="letter-spacing" select="1.1"/>
255
- </xsl:call-template>
200
+ <!-- background color -->
201
+ <fo:block-container absolute-position="fixed" left="0" top="0" font-size="0">
202
+ <fo:block>
203
+ <fo:instream-foreign-object content-height="{$pageHeight}mm" fox:alt-text="Background color">
204
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="{$pageWidth}mm" height="{$pageHeight}mm">
205
+ <rect width="{$pageWidth}mm" height="{$pageHeight}mm" style="fill:rgb(33,55,92);stroke-width:0;fill-opacity:0.85"/>
206
+ </svg>
207
+ </fo:instream-foreign-object>
256
208
  </fo:block>
257
- <fo:block-container width="22.5mm" border-bottom="2pt solid {$color_design}" margin-bottom="24pt">
258
- <fo:block margin-top="4pt"> </fo:block>
259
- </fo:block-container>
260
- <fo:block color="{$color_design}">
261
- <fo:block font-size="17pt" margin-bottom="14pt">
262
- <xsl:call-template name="addLetterSpacing">
263
- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($doctype))"/>
264
- </xsl:call-template>
265
- <xsl:value-of select="$linebreak"/>
266
- <xsl:variable name="docsubtype" select="normalize-space(/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:subdoctype)"/>
267
- <xsl:variable name="docsubtype_str">
209
+ </fo:block-container>
210
+
211
+ <xsl:call-template name="insertCrossingLines"/>
212
+
213
+ <!-- title and logo -->
214
+ <fo:block>
215
+ <fo:table table-layout="fixed" width="100%">
216
+ <fo:table-column column-width="75%"/>
217
+ <fo:table-column column-width="25%"/>
218
+ <fo:table-body>
219
+ <fo:table-row>
220
+ <fo:table-cell font-weight="bold">
221
+ <fo:block font-size="16pt" color="{$color_design}" margin-bottom="4pt">
222
+ <xsl:variable name="ogc_document" select="concat('OGC® DOCUMENT: ', $docnumber)"/>
223
+ <xsl:call-template name="addLetterSpacing">
224
+ <xsl:with-param name="text" select="$ogc_document"/>
225
+ <xsl:with-param name="letter-spacing" select="0.3"/>
226
+ </xsl:call-template>
227
+ </fo:block>
228
+ <xsl:variable name="ogc_external" select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type='ogc-external']"/>
229
+ <xsl:if test="normalize-space($ogc_external) != ''">
230
+ <fo:block font-size="10pt">External identifier of this OGC<fo:inline font-size="58%" baseline-shift="30%">®</fo:inline> document: <fo:inline font-weight="normal"><xsl:value-of select="$ogc_external"/></fo:inline></fo:block>
231
+ </xsl:if>
232
+ </fo:table-cell>
233
+ <fo:table-cell text-align="right">
234
+ <fo:block>
235
+ <xsl:call-template name="insertLogo"/>
236
+ </fo:block>
237
+ </fo:table-cell>
238
+ </fo:table-row>
239
+ </fo:table-body>
240
+ </fo:table>
241
+ </fo:block>
242
+
243
+ <!-- <fo:block-container absolute-position="fixed" left="16.5mm" top="83mm" height="90mm"> -->
244
+ <fo:block-container absolute-position="fixed" left="16.5mm" top="40mm" height="170mm">
245
+ <fo:block-container width="155mm" height="99%" display-align="center">
246
+ <fo:block font-size="33pt" role="H1">
247
+ <xsl:variable name="length_title" select="string-length($doctitle)"/>
248
+ <xsl:variable name="fit_font-size">
268
249
  <xsl:choose>
269
- <xsl:when test="$docsubtype = 'implementation'">Implementation</xsl:when>
270
- <xsl:when test="$docsubtype = 'conceptual-model'">Conceptual model</xsl:when>
271
- <xsl:when test="$docsubtype = 'conceptual-model-and-encoding'">Conceptual model &amp; encoding</xsl:when>
272
- <xsl:when test="$docsubtype = 'conceptual-model-and-implementation'">Conceptual model &amp; implementation</xsl:when>
273
- <xsl:when test="$docsubtype = 'encoding'">Encoding</xsl:when>
274
- <xsl:when test="$docsubtype = 'extension'">Extension</xsl:when>
275
- <xsl:when test="$docsubtype = 'profile'">Profile</xsl:when>
276
- <xsl:when test="$docsubtype = 'profile-with-extension'">Profile with extension</xsl:when>
277
- <xsl:when test="$docsubtype = 'general'">General</xsl:when>
250
+ <xsl:when test="$length_title &gt; 230">20</xsl:when>
251
+ <xsl:when test="$length_title &gt; 170">26</xsl:when>
252
+ <xsl:when test="$length_title &gt; 155">28</xsl:when>
253
+ <xsl:when test="$length_title &gt; 130">30</xsl:when>
278
254
  </xsl:choose>
279
255
  </xsl:variable>
256
+ <xsl:if test="normalize-space($fit_font-size) != ''">
257
+ <xsl:attribute name="font-size"><xsl:value-of select="$fit_font-size"/>pt</xsl:attribute>
258
+ </xsl:if>
280
259
  <xsl:call-template name="addLetterSpacing">
281
- <xsl:with-param name="text" select="$docsubtype_str"/>
282
- <xsl:with-param name="letter-spacing" select="0.25"/>
260
+ <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($doctitle))"/>
261
+ <xsl:with-param name="letter-spacing" select="1.1"/>
283
262
  </xsl:call-template>
284
263
  </fo:block>
285
- <fo:block font-size="12pt" font-weight="bold">
286
- <xsl:variable name="curr_lang" select="/ogc:ogc-standard/ogc:bibdata/ogc:language[@current = 'true']"/>
287
- <xsl:variable name="stage" select="java:toUpperCase(java:java.lang.String.new(/ogc:ogc-standard/ogc:bibdata/ogc:status/ogc:stage[@language = $curr_lang]))"/>
288
- <xsl:call-template name="addLetterSpacing">
289
- <xsl:with-param name="text" select="$stage"/>
290
- </xsl:call-template>
264
+ <fo:block-container width="22.5mm" border-bottom="2pt solid {$color_design}" margin-bottom="24pt">
265
+ <fo:block margin-top="4pt"> </fo:block>
266
+ </fo:block-container>
267
+ <fo:block color="{$color_design}">
268
+ <fo:block font-size="17pt" margin-bottom="14pt">
269
+ <xsl:call-template name="addLetterSpacing">
270
+ <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($doctype))"/>
271
+ </xsl:call-template>
272
+ <xsl:value-of select="$linebreak"/>
273
+ <xsl:variable name="docsubtype" select="normalize-space(/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:subdoctype)"/>
274
+ <xsl:variable name="docsubtype_str">
275
+ <xsl:choose>
276
+ <xsl:when test="$docsubtype = 'implementation'">Implementation</xsl:when>
277
+ <xsl:when test="$docsubtype = 'conceptual-model'">Conceptual model</xsl:when>
278
+ <xsl:when test="$docsubtype = 'conceptual-model-and-encoding'">Conceptual model &amp; encoding</xsl:when>
279
+ <xsl:when test="$docsubtype = 'conceptual-model-and-implementation'">Conceptual model &amp; implementation</xsl:when>
280
+ <xsl:when test="$docsubtype = 'encoding'">Encoding</xsl:when>
281
+ <xsl:when test="$docsubtype = 'extension'">Extension</xsl:when>
282
+ <xsl:when test="$docsubtype = 'profile'">Profile</xsl:when>
283
+ <xsl:when test="$docsubtype = 'profile-with-extension'">Profile with extension</xsl:when>
284
+ <xsl:when test="$docsubtype = 'general'">General</xsl:when>
285
+ </xsl:choose>
286
+ </xsl:variable>
287
+ <xsl:call-template name="addLetterSpacing">
288
+ <xsl:with-param name="text" select="$docsubtype_str"/>
289
+ <xsl:with-param name="letter-spacing" select="0.25"/>
290
+ </xsl:call-template>
291
+ </fo:block>
292
+ <fo:block font-size="12pt" font-weight="bold">
293
+ <xsl:variable name="curr_lang" select="/ogc:ogc-standard/ogc:bibdata/ogc:language[@current = 'true']"/>
294
+ <xsl:variable name="stage" select="java:toUpperCase(java:java.lang.String.new(/ogc:ogc-standard/ogc:bibdata/ogc:status/ogc:stage[@language = $curr_lang]))"/>
295
+ <xsl:call-template name="addLetterSpacing">
296
+ <xsl:with-param name="text" select="$stage"/>
297
+ </xsl:call-template>
298
+ </fo:block>
291
299
  </fo:block>
292
- </fo:block>
300
+ </fo:block-container>
293
301
  </fo:block-container>
294
- </fo:block-container>
295
302
 
296
- <fo:block-container absolute-position="fixed" left="16.5mm" top="204mm" height="60mm" width="180mm" display-align="after" font-size="10pt">
297
- <fo:block line-height="140%">
298
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:edition[normalize-space(@language) = '']"/>
299
- <fo:block>
300
- <fo:inline font-weight="bold">Submission Date: </fo:inline>
301
- <xsl:choose>
302
- <xsl:when test="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'received']/ogc:on">
303
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'received']/ogc:on"/>
304
- </xsl:when>
305
- <xsl:otherwise>XXX</xsl:otherwise>
306
- </xsl:choose>
307
- </fo:block>
308
- <fo:block>
309
- <fo:inline font-weight="bold">Approval Date: </fo:inline>
310
- <xsl:choose>
311
- <xsl:when test="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'issued']/ogc:on">
312
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'issued']/ogc:on"/>
313
- </xsl:when>
314
- <xsl:otherwise>XXX</xsl:otherwise>
315
- </xsl:choose>
316
- </fo:block>
317
- <fo:block>
318
- <fo:inline font-weight="bold">Publication Date: </fo:inline>
319
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'published']/ogc:on"/>
320
- </fo:block>
303
+ <fo:block-container absolute-position="fixed" left="16.5mm" top="204mm" height="60mm" width="180mm" display-align="after" font-size="10pt">
304
+ <fo:block line-height="140%">
305
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:edition[normalize-space(@language) = '']"/>
306
+ <fo:block>
307
+ <fo:inline font-weight="bold">Submission Date: </fo:inline>
308
+ <xsl:choose>
309
+ <xsl:when test="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'received']/ogc:on">
310
+ <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'received']/ogc:on"/>
311
+ </xsl:when>
312
+ <xsl:otherwise>XXX</xsl:otherwise>
313
+ </xsl:choose>
314
+ </fo:block>
315
+ <fo:block>
316
+ <fo:inline font-weight="bold">Approval Date: </fo:inline>
317
+ <xsl:choose>
318
+ <xsl:when test="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'issued']/ogc:on">
319
+ <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'issued']/ogc:on"/>
320
+ </xsl:when>
321
+ <xsl:otherwise>XXX</xsl:otherwise>
322
+ </xsl:choose>
323
+ </fo:block>
324
+ <fo:block>
325
+ <fo:inline font-weight="bold">Publication Date: </fo:inline>
326
+ <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'published']/ogc:on"/>
327
+ </fo:block>
321
328
 
322
- <fo:block margin-bottom="12pt">
323
- <xsl:if test="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author']/ogc:person/ogc:name/ogc:completename">
324
- <fo:block>
325
- <fo:inline font-weight="bold">Author: </fo:inline>
326
- <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author']/ogc:person/ogc:name/ogc:completename">
327
- <xsl:value-of select="."/>
328
- <xsl:if test="position() != last()">, </xsl:if>
329
- </xsl:for-each>
330
- </fo:block>
331
- </xsl:if>
332
- <xsl:if test="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='editor']/ogc:person/ogc:name/ogc:completename">
333
- <fo:block>
334
- <fo:inline font-weight="bold">Editor: </fo:inline>
335
- <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='editor']/ogc:person/ogc:name/ogc:completename">
336
- <xsl:value-of select="."/>
337
- <xsl:if test="position() != last()">, </xsl:if>
338
- </xsl:for-each>
339
- </fo:block>
340
- </xsl:if>
341
- <xsl:if test="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='contributor']/ogc:person/ogc:name/ogc:completename">
342
- <fo:block>
343
- <fo:inline font-weight="bold">Contributor: </fo:inline>
344
- <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='contributor']/ogc:person/ogc:name/ogc:completename">
345
- <xsl:value-of select="."/>
346
- <xsl:if test="position() != last()">, </xsl:if>
347
- </xsl:for-each>
348
- </fo:block>
349
- </xsl:if>
329
+ <fo:block margin-bottom="12pt">
330
+ <xsl:if test="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author']/ogc:person/ogc:name/ogc:completename">
331
+ <fo:block>
332
+ <fo:inline font-weight="bold">Author: </fo:inline>
333
+ <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author']/ogc:person/ogc:name/ogc:completename">
334
+ <xsl:value-of select="."/>
335
+ <xsl:if test="position() != last()">, </xsl:if>
336
+ </xsl:for-each>
337
+ </fo:block>
338
+ </xsl:if>
339
+ <xsl:if test="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='editor']/ogc:person/ogc:name/ogc:completename">
340
+ <fo:block>
341
+ <fo:inline font-weight="bold">Editor: </fo:inline>
342
+ <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='editor']/ogc:person/ogc:name/ogc:completename">
343
+ <xsl:value-of select="."/>
344
+ <xsl:if test="position() != last()">, </xsl:if>
345
+ </xsl:for-each>
346
+ </fo:block>
347
+ </xsl:if>
348
+ <xsl:if test="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='contributor']/ogc:person/ogc:name/ogc:completename">
349
+ <fo:block>
350
+ <fo:inline font-weight="bold">Contributor: </fo:inline>
351
+ <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='contributor']/ogc:person/ogc:name/ogc:completename">
352
+ <xsl:value-of select="."/>
353
+ <xsl:if test="position() != last()">, </xsl:if>
354
+ </xsl:for-each>
355
+ </fo:block>
356
+ </xsl:if>
357
+ </fo:block>
350
358
  </fo:block>
351
- </fo:block>
352
359
 
353
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:legal-statement"/>
360
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:legal-statement"/>
354
361
 
355
- </fo:block-container>
362
+ </fo:block-container>
356
363
 
357
- </fo:flow>
358
- </fo:page-sequence>
359
- <!-- End Cover Page -->
360
-
361
- <!-- Copyright, Content, Foreword, etc. pages -->
362
- <fo:page-sequence master-reference="preface" initial-page-number="2" format="i" force-page-count="no-force">
363
- <xsl:call-template name="insertFootnoteSeparator"/>
364
- <xsl:call-template name="insertHeaderFooter"/>
365
- <fo:flow flow-name="xsl-region-body">
366
-
367
- <xsl:if test="$debug = 'true'">
368
- <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
369
- DEBUG
370
- contents=<!-- <xsl:copy-of select="xalan:nodeset($contents)"/> -->
371
- <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
372
- </xsl:if>
364
+ </fo:flow>
365
+ </fo:page-sequence>
366
+ <!-- End Cover Page -->
367
+
368
+ <!-- Copyright, Content, Foreword, etc. pages -->
369
+ <fo:page-sequence master-reference="preface" initial-page-number="2" format="i" force-page-count="no-force">
370
+ <xsl:call-template name="insertFootnoteSeparator"/>
371
+ <xsl:call-template name="insertHeaderFooter"/>
372
+ <fo:flow flow-name="xsl-region-body">
373
+
374
+ <xsl:if test="$debug = 'true'">
375
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
376
+ DEBUG
377
+ contents=<!-- <xsl:copy-of select="xalan:nodeset($contents)"/> -->
378
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
379
+ </xsl:if>
373
380
 
374
- <!-- crossing lines -->
375
- <fo:block-container absolute-position="fixed" width="{$pageWidth}mm" height="{$pageHeight}mm" font-size="0">
376
- <fo:block>
377
- <fo:instream-foreign-object content-height="{$pageHeight}mm" content-width="{$pageWidth}mm" fox:alt-text="Crossing lines">
378
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2159 2794" width="{$pageWidth}mm" height="{$pageHeight}mm">
379
- <line x1="230" y1="0" x2="2159" y2="490" stroke="{$color_design_light}"/>
380
- <line x1="0" y1="395" x2="820" y2="0" stroke="{$color_design_light}"/>
381
- <circle style="fill:{$color_design_light};" cx="614" cy="100" r="15"/>
382
- </svg>
383
- </fo:instream-foreign-object>
384
- </fo:block>
385
- </fo:block-container>
381
+ <!-- crossing lines -->
382
+ <fo:block-container absolute-position="fixed" width="{$pageWidth}mm" height="{$pageHeight}mm" font-size="0">
383
+ <fo:block>
384
+ <fo:instream-foreign-object content-height="{$pageHeight}mm" content-width="{$pageWidth}mm" fox:alt-text="Crossing lines">
385
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2159 2794" width="{$pageWidth}mm" height="{$pageHeight}mm">
386
+ <line x1="230" y1="0" x2="2159" y2="490" stroke="{$color_design_light}"/>
387
+ <line x1="0" y1="395" x2="820" y2="0" stroke="{$color_design_light}"/>
388
+ <circle style="fill:{$color_design_light};" cx="614" cy="100" r="15"/>
389
+ </svg>
390
+ </fo:instream-foreign-object>
391
+ </fo:block>
392
+ </fo:block-container>
386
393
 
387
- <xsl:call-template name="insertLogoPreface"/>
394
+ <xsl:call-template name="insertLogoPreface"/>
388
395
 
389
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:license-statement"/>
390
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:feedback-statement"/>
396
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:license-statement"/>
397
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:feedback-statement"/>
391
398
 
392
- <!-- Copyright notice -->
393
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:copyright-statement"/>
399
+ <!-- Copyright notice -->
400
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:copyright-statement"/>
394
401
 
395
- </fo:flow>
396
- </fo:page-sequence>
402
+ </fo:flow>
403
+ </fo:page-sequence>
397
404
 
398
- <!-- Copyright, Content, Foreword, etc. pages -->
399
- <fo:page-sequence master-reference="document" format="i" force-page-count="no-force">
400
- <xsl:call-template name="insertFootnoteSeparator"/>
401
- <xsl:call-template name="insertHeaderFooter"/>
402
- <fo:flow flow-name="xsl-region-body">
405
+ <!-- Copyright, Content, Foreword, etc. pages -->
406
+ <fo:page-sequence master-reference="document" format="i" force-page-count="no-force">
407
+ <xsl:call-template name="insertFootnoteSeparator"/>
408
+ <xsl:call-template name="insertHeaderFooter"/>
409
+ <fo:flow flow-name="xsl-region-body">
403
410
 
404
- <!-- crossing lines -->
405
- <fo:block-container absolute-position="fixed" width="{$pageWidth}mm" height="{$pageHeight}mm" font-size="0">
406
- <fo:block>
407
- <fo:instream-foreign-object content-height="{$pageHeight}mm" content-width="{$pageWidth}mm" fox:alt-text="Crossing lines">
408
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2159 2794" width="{$pageWidth}mm" height="{$pageHeight}mm">
409
- <line x1="0" y1="545" x2="2084" y2="0" stroke="{$color_design_light}"/>
410
- <line x1="0" y1="1374" x2="355" y2="0" stroke="{$color_design_light}"/>
411
- <circle style="fill:{$color_design_light};" cx="227" cy="487" r="15"/>
412
- </svg>
413
- </fo:instream-foreign-object>
414
- </fo:block>
415
- </fo:block-container>
411
+ <!-- crossing lines -->
412
+ <fo:block-container absolute-position="fixed" width="{$pageWidth}mm" height="{$pageHeight}mm" font-size="0">
413
+ <fo:block>
414
+ <fo:instream-foreign-object content-height="{$pageHeight}mm" content-width="{$pageWidth}mm" fox:alt-text="Crossing lines">
415
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2159 2794" width="{$pageWidth}mm" height="{$pageHeight}mm">
416
+ <line x1="0" y1="545" x2="2084" y2="0" stroke="{$color_design_light}"/>
417
+ <line x1="0" y1="1374" x2="355" y2="0" stroke="{$color_design_light}"/>
418
+ <circle style="fill:{$color_design_light};" cx="227" cy="487" r="15"/>
419
+ </svg>
420
+ </fo:instream-foreign-object>
421
+ </fo:block>
422
+ </fo:block-container>
416
423
 
417
- <fo:block color="{$color_blue}">
424
+ <fo:block color="{$color_blue}">
418
425
 
419
- <xsl:variable name="title-toc">
420
- <xsl:call-template name="getTitle">
421
- <xsl:with-param name="name" select="'title-toc'"/>
422
- </xsl:call-template>
423
- </xsl:variable>
426
+ <xsl:variable name="title-toc">
427
+ <xsl:call-template name="getTitle">
428
+ <xsl:with-param name="name" select="'title-toc'"/>
429
+ </xsl:call-template>
430
+ </xsl:variable>
424
431
 
425
- <fo:block-container margin-left="-18mm">
426
- <fo:block-container margin-left="0mm">
427
- <fo:block margin-bottom="40pt">
428
- <fo:block font-size="33pt" margin-bottom="4pt" role="H1">
429
- <xsl:call-template name="addLetterSpacing">
430
- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($title-toc))"/>
431
- <xsl:with-param name="letter-spacing" select="1.1"/>
432
- </xsl:call-template>
432
+ <fo:block-container margin-left="-18mm">
433
+ <fo:block-container margin-left="0mm">
434
+ <fo:block margin-bottom="40pt">
435
+ <fo:block font-size="33pt" margin-bottom="4pt" role="H1">
436
+ <xsl:call-template name="addLetterSpacing">
437
+ <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($title-toc))"/>
438
+ <xsl:with-param name="letter-spacing" select="1.1"/>
439
+ </xsl:call-template>
440
+ </fo:block>
441
+ <fo:block-container width="22.5mm" border-bottom="2pt solid {$color_design}">
442
+ <fo:block margin-top="4pt"> </fo:block>
443
+ </fo:block-container>
433
444
  </fo:block>
434
- <fo:block-container width="22.5mm" border-bottom="2pt solid {$color_design}">
435
- <fo:block margin-top="4pt"> </fo:block>
436
- </fo:block-container>
437
- </fo:block>
445
+ </fo:block-container>
438
446
  </fo:block-container>
439
- </fo:block-container>
440
-
441
- <fo:block-container line-height="130%">
442
- <fo:block role="TOC">
443
- <xsl:for-each select="$contents//item[@display = 'true' and normalize-space(@id) != '']">
444
447
 
445
- <fo:block role="TOCI">
446
- <xsl:if test="@level = 1">
447
- <xsl:attribute name="margin-top">14pt</xsl:attribute>
448
- </xsl:if>
449
- <xsl:if test="@level = 1 or @parent = 'annex'">
450
- <xsl:attribute name="font-size">12pt</xsl:attribute>
451
- </xsl:if>
452
- <xsl:if test="@level &gt;= 2"> <!-- and not(@parent = 'annex') -->
453
- <xsl:attribute name="font-size">10pt</xsl:attribute>
454
- </xsl:if>
448
+ <fo:block-container line-height="130%">
449
+ <fo:block role="TOC">
450
+ <xsl:for-each select="$contents//item[@display = 'true' and normalize-space(@id) != '']">
455
451
 
456
- <xsl:choose>
457
- <xsl:when test="@level = 1">
458
- <fo:list-block provisional-distance-between-starts="8mm">
459
- <xsl:if test="@type = 'annex'">
460
- <xsl:attribute name="provisional-distance-between-starts">0mm</xsl:attribute>
461
- </xsl:if>
462
- <fo:list-item>
463
- <fo:list-item-label end-indent="label-end()">
464
- <fo:block>
465
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
466
- </fo:block>
467
- </fo:list-item-label>
468
- <fo:list-item-body start-indent="body-start()">
469
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
470
- <fo:basic-link internal-destination="{@id}">
471
- <xsl:call-template name="setAltText">
472
- <xsl:with-param name="value" select="text()"/>
473
- </xsl:call-template>
474
- <xsl:variable name="sectionTitle">
475
- <xsl:apply-templates select="title"/>
476
- </xsl:variable>
477
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($sectionTitle))"/>
478
- <xsl:text> </xsl:text>
479
- <fo:inline keep-together.within-line="always">
480
- <fo:leader leader-pattern="dots"/>
481
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
482
- </fo:inline>
483
- </fo:basic-link>
484
- </fo:block>
485
- </fo:list-item-body>
486
- </fo:list-item>
487
- </fo:list-block>
488
- </xsl:when>
489
- <xsl:otherwise>
490
- <xsl:variable name="margin-left">
491
- <xsl:choose>
492
- <xsl:when test="number(@level) != 'NaN'"><xsl:value-of select="(@level - 1) * 8"/></xsl:when>
493
- <xsl:otherwise>8</xsl:otherwise>
494
- </xsl:choose>
495
- </xsl:variable>
496
- <fo:block text-align-last="justify" margin-left="{$margin-left}mm">
497
- <fo:basic-link internal-destination="{@id}">
498
- <xsl:call-template name="setAltText">
499
- <xsl:with-param name="value" select="text()"/>
500
- </xsl:call-template>
501
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
502
- <xsl:text> </xsl:text>
503
- <xsl:apply-templates select="title"/>
504
- <xsl:text> </xsl:text>
505
- <fo:inline keep-together.within-line="always">
506
- <fo:leader leader-pattern="dots"/>
507
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
508
- </fo:inline>
509
- </fo:basic-link>
510
- </fo:block>
511
- </xsl:otherwise>
512
- </xsl:choose>
452
+ <fo:block role="TOCI">
453
+ <xsl:if test="@level = 1">
454
+ <xsl:attribute name="margin-top">14pt</xsl:attribute>
455
+ </xsl:if>
456
+ <xsl:if test="@level = 1 or @parent = 'annex'">
457
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
458
+ </xsl:if>
459
+ <xsl:if test="@level &gt;= 2"> <!-- and not(@parent = 'annex') -->
460
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
461
+ </xsl:if>
513
462
 
514
- </fo:block>
515
- </xsl:for-each>
516
- </fo:block>
517
- </fo:block-container>
463
+ <xsl:choose>
464
+ <xsl:when test="@level = 1">
465
+ <fo:list-block provisional-distance-between-starts="8mm">
466
+ <xsl:if test="@type = 'annex'">
467
+ <xsl:attribute name="provisional-distance-between-starts">0mm</xsl:attribute>
468
+ </xsl:if>
469
+ <fo:list-item>
470
+ <fo:list-item-label end-indent="label-end()">
471
+ <fo:block>
472
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
473
+ </fo:block>
474
+ </fo:list-item-label>
475
+ <fo:list-item-body start-indent="body-start()">
476
+ <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
477
+ <fo:basic-link internal-destination="{@id}">
478
+ <xsl:call-template name="setAltText">
479
+ <xsl:with-param name="value" select="text()"/>
480
+ </xsl:call-template>
481
+ <xsl:variable name="sectionTitle">
482
+ <xsl:apply-templates select="title"/>
483
+ </xsl:variable>
484
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($sectionTitle))"/>
485
+ <xsl:text> </xsl:text>
486
+ <fo:inline keep-together.within-line="always">
487
+ <fo:leader leader-pattern="dots"/>
488
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
489
+ </fo:inline>
490
+ </fo:basic-link>
491
+ </fo:block>
492
+ </fo:list-item-body>
493
+ </fo:list-item>
494
+ </fo:list-block>
495
+ </xsl:when>
496
+ <xsl:otherwise>
497
+ <xsl:variable name="margin-left">
498
+ <xsl:choose>
499
+ <xsl:when test="number(@level) != 'NaN'"><xsl:value-of select="(@level - 1) * 8"/></xsl:when>
500
+ <xsl:otherwise>8</xsl:otherwise>
501
+ </xsl:choose>
502
+ </xsl:variable>
503
+ <fo:block text-align-last="justify" margin-left="{$margin-left}mm">
504
+ <fo:basic-link internal-destination="{@id}">
505
+ <xsl:call-template name="setAltText">
506
+ <xsl:with-param name="value" select="text()"/>
507
+ </xsl:call-template>
508
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
509
+ <xsl:text> </xsl:text>
510
+ <xsl:apply-templates select="title"/>
511
+ <xsl:text> </xsl:text>
512
+ <fo:inline keep-together.within-line="always">
513
+ <fo:leader leader-pattern="dots"/>
514
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
515
+ </fo:inline>
516
+ </fo:basic-link>
517
+ </fo:block>
518
+ </xsl:otherwise>
519
+ </xsl:choose>
518
520
 
519
- <!-- List of Tables -->
520
- <xsl:if test="$contents//tables/table">
521
- <xsl:call-template name="insertListOf_Title">
522
- <xsl:with-param name="title" select="$title-list-tables"/>
523
- </xsl:call-template>
524
- <fo:block-container line-height="130%">
525
- <xsl:for-each select="$contents//tables/table">
526
- <xsl:call-template name="insertListOf_Item"/>
527
- </xsl:for-each>
521
+ </fo:block>
522
+ </xsl:for-each>
523
+ </fo:block>
528
524
  </fo:block-container>
529
- </xsl:if>
530
525
 
531
- <!-- List of Figures -->
532
- <xsl:if test="$contents//figures/figure">
533
- <xsl:call-template name="insertListOf_Title">
534
- <xsl:with-param name="title" select="$title-list-figures"/>
535
- </xsl:call-template>
536
- <fo:block-container line-height="130%">
537
- <xsl:for-each select="$contents//figures/figure">
538
- <xsl:call-template name="insertListOf_Item"/>
539
- </xsl:for-each>
540
- </fo:block-container>
541
- </xsl:if>
526
+ <!-- List of Tables -->
527
+ <xsl:if test="$contents//tables/table">
528
+ <xsl:call-template name="insertListOf_Title">
529
+ <xsl:with-param name="title" select="$title-list-tables"/>
530
+ </xsl:call-template>
531
+ <fo:block-container line-height="130%">
532
+ <xsl:for-each select="$contents//tables/table">
533
+ <xsl:call-template name="insertListOf_Item"/>
534
+ </xsl:for-each>
535
+ </fo:block-container>
536
+ </xsl:if>
542
537
 
543
- <!-- List of Recommendations -->
544
- <xsl:if test="//ogc:table[.//ogc:p[@class = 'RecommendationTitle']]">
545
- <xsl:call-template name="insertListOf_Title">
546
- <xsl:with-param name="title" select="$title-list-recommendations"/>
547
- </xsl:call-template>
548
- <fo:block-container line-height="130%">
549
- <xsl:for-each select="xalan:nodeset($toc_recommendations)/*[normalize-space(@id) != '']">
550
- <fo:block text-align-last="justify" margin-top="6pt" role="TOCI">
551
- <fo:basic-link internal-destination="{@id}">
552
- <xsl:call-template name="setAltText">
553
- <xsl:with-param name="value" select="@alt-text"/>
554
- </xsl:call-template>
555
- <xsl:copy-of select="title/node()"/>
556
- <xsl:text> </xsl:text>
557
- <fo:inline keep-together.within-line="always">
558
- <fo:leader leader-pattern="dots"/>
559
- <fo:page-number-citation ref-id="{@id}"/>
560
- </fo:inline>
561
- </fo:basic-link>
562
- </fo:block>
563
- </xsl:for-each>
564
- </fo:block-container>
565
- </xsl:if>
538
+ <!-- List of Figures -->
539
+ <xsl:if test="$contents//figures/figure">
540
+ <xsl:call-template name="insertListOf_Title">
541
+ <xsl:with-param name="title" select="$title-list-figures"/>
542
+ </xsl:call-template>
543
+ <fo:block-container line-height="130%">
544
+ <xsl:for-each select="$contents//figures/figure">
545
+ <xsl:call-template name="insertListOf_Item"/>
546
+ </xsl:for-each>
547
+ </fo:block-container>
548
+ </xsl:if>
566
549
 
567
- </fo:block>
550
+ <!-- List of Recommendations -->
551
+ <xsl:if test="//ogc:table[.//ogc:p[@class = 'RecommendationTitle']]">
552
+ <xsl:call-template name="insertListOf_Title">
553
+ <xsl:with-param name="title" select="$title-list-recommendations"/>
554
+ </xsl:call-template>
555
+ <fo:block-container line-height="130%">
556
+ <xsl:for-each select="xalan:nodeset($toc_recommendations)/*[normalize-space(@id) != '']">
557
+ <fo:block text-align-last="justify" margin-top="6pt" role="TOCI">
558
+ <fo:basic-link internal-destination="{@id}">
559
+ <xsl:call-template name="setAltText">
560
+ <xsl:with-param name="value" select="@alt-text"/>
561
+ </xsl:call-template>
562
+ <xsl:copy-of select="title/node()"/>
563
+ <xsl:text> </xsl:text>
564
+ <fo:inline keep-together.within-line="always">
565
+ <fo:leader leader-pattern="dots"/>
566
+ <fo:page-number-citation ref-id="{@id}"/>
567
+ </fo:inline>
568
+ </fo:basic-link>
569
+ </fo:block>
570
+ </xsl:for-each>
571
+ </fo:block-container>
572
+ </xsl:if>
568
573
 
569
- <fo:block break-after="page"/>
574
+ </fo:block>
570
575
 
571
- <fo:block line-height="125%">
572
- <!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters -->
576
+ <fo:block break-after="page"/>
573
577
 
574
- <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
575
- <xsl:sort select="@displayorder" data-type="number"/>
578
+ <fo:block line-height="125%">
579
+ <!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters -->
576
580
 
577
- <xsl:if test="local-name() = 'foreword' or (local-name() = 'clause' and @type = 'security') or (local-name() = 'clause' and @type = 'submitting_orgs') or local-name() = 'introduction'">
578
- <fo:block break-after="page"/>
579
- </xsl:if>
581
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
582
+ <xsl:sort select="@displayorder" data-type="number"/>
580
583
 
581
- <xsl:apply-templates select="."/>
582
- </xsl:for-each>
584
+ <xsl:if test="local-name() = 'foreword' or (local-name() = 'clause' and @type = 'security') or (local-name() = 'clause' and @type = 'submitting_orgs') or local-name() = 'introduction'">
585
+ <fo:block break-after="page"/>
586
+ </xsl:if>
583
587
 
584
- </fo:block>
585
- </fo:flow>
586
- </fo:page-sequence>
588
+ <xsl:apply-templates select="."/>
589
+ </xsl:for-each>
587
590
 
588
- <!-- Document Pages -->
589
- <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
590
- <xsl:sort select="@displayorder" data-type="number"/>
591
- <xsl:choose>
592
- <xsl:when test="local-name() = 'clause' and @type='scope'">
593
- <xsl:apply-templates select="." mode="sections">
594
- <xsl:with-param name="initial-page-number" select="1"/>
595
- </xsl:apply-templates>
596
- </xsl:when>
597
- <xsl:otherwise>
598
- <xsl:apply-templates select="." mode="sections"/>
599
- </xsl:otherwise>
600
- </xsl:choose>
601
- </xsl:for-each>
591
+ </fo:block>
592
+ </fo:flow>
593
+ </fo:page-sequence>
602
594
 
603
- <xsl:for-each select="/*/*[local-name()='annex']">
604
- <xsl:sort select="@displayorder" data-type="number"/>
605
- <xsl:apply-templates select="." mode="sections"/>
606
- </xsl:for-each>
595
+ <!-- Document Pages -->
596
+ <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
597
+ <xsl:sort select="@displayorder" data-type="number"/>
598
+ <xsl:choose>
599
+ <xsl:when test="local-name() = 'clause' and @type='scope'">
600
+ <xsl:apply-templates select="." mode="sections">
601
+ <xsl:with-param name="initial-page-number" select="1"/>
602
+ </xsl:apply-templates>
603
+ </xsl:when>
604
+ <xsl:otherwise>
605
+ <xsl:apply-templates select="." mode="sections"/>
606
+ </xsl:otherwise>
607
+ </xsl:choose>
608
+ </xsl:for-each>
607
609
 
608
- <!-- Bibliography -->
609
- <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
610
- <xsl:sort select="@displayorder" data-type="number"/>
611
- <xsl:apply-templates select="." mode="sections"/>
612
- </xsl:for-each>
610
+ <xsl:for-each select="/*/*[local-name()='annex']">
611
+ <xsl:sort select="@displayorder" data-type="number"/>
612
+ <xsl:apply-templates select="." mode="sections"/>
613
+ </xsl:for-each>
614
+
615
+ <!-- Bibliography -->
616
+ <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
617
+ <xsl:sort select="@displayorder" data-type="number"/>
618
+ <xsl:apply-templates select="." mode="sections"/>
619
+ </xsl:for-each>
620
+
621
+ <xsl:apply-templates select="//ogc:indexsect" mode="sections"/>
613
622
 
614
- <xsl:apply-templates select="//ogc:indexsect" mode="sections"/>
623
+ <!-- End Document Pages -->
615
624
 
616
- <!-- End Document Pages -->
625
+ </fo:root>
617
626
 
618
- </fo:root>
627
+ </xsl:for-each>
619
628
  </xsl:template>
620
629
 
621
630
  <xsl:template name="insertListOf_Title">
@@ -1506,14 +1515,14 @@
1506
1515
  BUT DON'T put any another conditions together with $namespace = '...' (such conditions will be ignored). For another conditions, please use nested xsl:if or xsl:choose -->
1507
1516
 
1508
1517
  <!--
1509
- <misc-container>
1518
+ <metanorma-extension>
1510
1519
  <presentation-metadata>
1511
1520
  <papersize>letter</papersize>
1512
1521
  </presentation-metadata>
1513
- </misc-container>
1522
+ </metanorma-extension>
1514
1523
  -->
1515
1524
 
1516
- <xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/>
1525
+ <xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/>
1517
1526
  <xsl:variable name="papersize_width_">
1518
1527
  <xsl:choose>
1519
1528
  <xsl:when test="$papersize = 'letter'">215.9</xsl:when>
@@ -1630,7 +1639,7 @@
1630
1639
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/>
1631
1640
 
1632
1641
  <xsl:variable name="title-list-tables">
1633
- <xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
1642
+ <xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
1634
1643
  <xsl:value-of select="$toc_table_title"/>
1635
1644
  <xsl:if test="normalize-space($toc_table_title) = ''">
1636
1645
  <xsl:call-template name="getTitle">
@@ -1640,7 +1649,7 @@
1640
1649
  </xsl:variable>
1641
1650
 
1642
1651
  <xsl:variable name="title-list-figures">
1643
- <xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
1652
+ <xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
1644
1653
  <xsl:value-of select="$toc_figure_title"/>
1645
1654
  <xsl:if test="normalize-space($toc_figure_title) = ''">
1646
1655
  <xsl:call-template name="getTitle">
@@ -1650,7 +1659,7 @@
1650
1659
  </xsl:variable>
1651
1660
 
1652
1661
  <xsl:variable name="title-list-recommendations">
1653
- <xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
1662
+ <xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
1654
1663
  <xsl:value-of select="$toc_requirement_title"/>
1655
1664
  <xsl:if test="normalize-space($toc_requirement_title) = ''">
1656
1665
  <xsl:call-template name="getTitle">
@@ -1723,7 +1732,7 @@
1723
1732
  <xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
1724
1733
 
1725
1734
  <xsl:variable name="additional_fonts_">
1726
- <xsl:for-each select="//*[contains(local-name(), '-standard')][1]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value'] | //*[contains(local-name(), '-standard')][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
1735
+ <xsl:for-each select="//*[contains(local-name(), '-standard')][1]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value'] | //*[contains(local-name(), '-standard')][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
1727
1736
  <xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
1728
1737
  </xsl:for-each>
1729
1738
  </xsl:variable>
@@ -2244,7 +2253,7 @@
2244
2253
  <xsl:attribute-set name="note-name-style">
2245
2254
 
2246
2255
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2247
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
2256
+ <!-- <xsl:attribute name="padding-right">1mm</xsl:attribute> -->
2248
2257
 
2249
2258
  </xsl:attribute-set>
2250
2259
 
@@ -2886,10 +2895,10 @@
2886
2895
 
2887
2896
  <xsl:template name="processTablesFigures_Contents">
2888
2897
  <xsl:param name="always"/>
2889
- <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
2898
+ <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
2890
2899
  <xsl:call-template name="processTables_Contents"/>
2891
2900
  </xsl:if>
2892
- <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
2901
+ <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
2893
2902
  <xsl:call-template name="processFigures_Contents"/>
2894
2903
  </xsl:if>
2895
2904
  </xsl:template>
@@ -3240,6 +3249,8 @@
3240
3249
 
3241
3250
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3242
3251
 
3252
+ <xsl:call-template name="setBordersTableArray"/>
3253
+
3243
3254
  </xsl:element>
3244
3255
  </xsl:variable>
3245
3256
 
@@ -3381,6 +3392,10 @@
3381
3392
 
3382
3393
  </xsl:template>
3383
3394
 
3395
+ <xsl:template name="setBordersTableArray">
3396
+
3397
+ </xsl:template>
3398
+
3384
3399
  <xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
3385
3400
  <xsl:param name="continued"/>
3386
3401
  <xsl:if test="normalize-space() != ''">
@@ -3855,6 +3870,8 @@
3855
3870
  <fo:table-row>
3856
3871
  <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3857
3872
 
3873
+ <xsl:call-template name="setBordersTableArray"/>
3874
+
3858
3875
  <!-- fn will be processed inside 'note' processing -->
3859
3876
 
3860
3877
  <!-- for BSI (not PAS) display Notes before footnotes -->
@@ -3976,6 +3993,8 @@
3976
3993
  <xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3977
3994
  <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3978
3995
 
3996
+ <xsl:call-template name="setBordersTableArray"/>
3997
+
3979
3998
  <xsl:call-template name="setTableRowAttributes"/>
3980
3999
 
3981
4000
  <xsl:apply-templates/>
@@ -3999,6 +4018,8 @@
3999
4018
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
4000
4019
  </xsl:if>
4001
4020
 
4021
+ <xsl:call-template name="setBordersTableArray"/>
4022
+
4002
4023
  <xsl:variable name="number"><xsl:number/></xsl:variable>
4003
4024
  <xsl:attribute name="background-color">
4004
4025
  <xsl:choose>
@@ -4026,6 +4047,8 @@
4026
4047
  <xsl:with-param name="default">center</xsl:with-param>
4027
4048
  </xsl:call-template>
4028
4049
 
4050
+ <xsl:call-template name="setBordersTableArray"/>
4051
+
4029
4052
  <xsl:if test="starts-with(ancestor::*[local-name() = 'table'][1]/@type, 'recommend') and normalize-space(@align) = ''">
4030
4053
  <xsl:call-template name="setTextAlignment">
4031
4054
  <xsl:with-param name="default">left</xsl:with-param>
@@ -4084,6 +4107,8 @@
4084
4107
 
4085
4108
  <!-- bsi -->
4086
4109
 
4110
+ <xsl:call-template name="setBordersTableArray"/>
4111
+
4087
4112
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
4088
4113
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
4089
4114
  </xsl:if>
@@ -4138,7 +4163,7 @@
4138
4163
  </fn>
4139
4164
  -->
4140
4165
  <!-- footnotes in text (title, bibliography, main body, table's, figure's names), not for tables, figures -->
4141
- <xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
4166
+ <xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure')] and not(ancestor::*[local-name() = 'name']))]" priority="2" name="fn">
4142
4167
 
4143
4168
  <!-- list of footnotes to calculate actual footnotes number -->
4144
4169
  <xsl:variable name="p_fn_">
@@ -4195,8 +4220,7 @@
4195
4220
  </fo:basic-link>
4196
4221
  </fo:inline>
4197
4222
  </xsl:variable>
4198
- <!-- DEBUG: p_fn=<xsl:copy-of select="$p_fn"/>
4199
- gen_id=<xsl:value-of select="$gen_id"/> -->
4223
+
4200
4224
  <xsl:choose>
4201
4225
  <xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
4202
4226
  <xsl:copy-of select="$footnote_inline"/>
@@ -4251,7 +4275,7 @@
4251
4275
  <!-- commented:
4252
4276
  .//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] |
4253
4277
  because 'fn' there is in biblio-tag -->
4254
- <xsl:for-each select=".//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
4278
+ <xsl:for-each select=".//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure')] and not(ancestor::*[local-name() = 'name']))][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
4255
4279
  <!-- copy unique fn -->
4256
4280
  <fn gen_id="{generate-id(.)}">
4257
4281
  <xsl:copy-of select="@*"/>
@@ -6641,8 +6665,6 @@
6641
6665
  </xsl:when>
6642
6666
  <xsl:otherwise>
6643
6667
 
6644
- <xsl:text>:</xsl:text>
6645
-
6646
6668
  </xsl:otherwise>
6647
6669
  </xsl:choose>
6648
6670
  </xsl:variable>
@@ -6813,7 +6835,9 @@
6813
6835
 
6814
6836
  <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
6815
6837
  <xsl:if test="number($scale) &lt; 100">
6816
- <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
6838
+
6839
+ <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
6840
+
6817
6841
  </xsl:if>
6818
6842
 
6819
6843
  </xsl:if>
@@ -7757,7 +7781,7 @@
7757
7781
  <!-- sourcecode -->
7758
7782
  <!-- =============== -->
7759
7783
 
7760
- <xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'source-highlighter-css']"/>
7784
+ <xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'source-highlighter-css']"/>
7761
7785
  <xsl:variable name="sourcecode_css_" select="java:org.metanorma.fop.Util.parseCSS($source-highlighter-css_)"/>
7762
7786
  <xsl:variable name="sourcecode_css" select="xalan:nodeset($sourcecode_css_)"/>
7763
7787
 
@@ -7778,7 +7802,7 @@
7778
7802
  </xsl:if> -->
7779
7803
 
7780
7804
  <xsl:choose>
7781
- <xsl:when test="ancestor::*[local-name() = 'table'][not(@type = 'sourcecode')]">8.5</xsl:when>
7805
+ <xsl:when test="ancestor::*[local-name() = 'table'][not(parent::*[local-name() = 'sourcecode'][@linenums = 'true'])]">8.5</xsl:when>
7782
7806
  <xsl:otherwise>9.5</xsl:otherwise>
7783
7807
  </xsl:choose>
7784
7808
 
@@ -7857,6 +7881,12 @@
7857
7881
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
7858
7882
  </xsl:if>
7859
7883
 
7884
+ <!-- remove margin between rows in the table with sourcecode line numbers -->
7885
+ <xsl:if test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']">
7886
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
7887
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
7888
+ </xsl:if>
7889
+
7860
7890
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7861
7891
  </fo:block>
7862
7892
 
@@ -7909,7 +7939,7 @@
7909
7939
  </xsl:template>
7910
7940
 
7911
7941
  <!-- outer table with line numbers for sourcecode -->
7912
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']" priority="2">
7942
+ <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] | -->
7913
7943
  <fo:block>
7914
7944
  <fo:table width="100%" table-layout="fixed">
7915
7945
  <xsl:copy-of select="@id"/>
@@ -7921,16 +7951,16 @@
7921
7951
  </fo:table>
7922
7952
  </fo:block>
7923
7953
  </xsl:template>
7924
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody']" priority="2">
7954
+ <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']/*[local-name() = 'tbody']" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody'] | -->
7925
7955
  <xsl:apply-templates/>
7926
7956
  </xsl:template>
7927
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']" priority="2">
7957
+ <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr'] | -->
7928
7958
  <fo:table-row>
7929
7959
  <xsl:apply-templates/>
7930
7960
  </fo:table-row>
7931
7961
  </xsl:template>
7932
7962
  <!-- first td with line numbers -->
7933
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][not(preceding-sibling::*)]" priority="2">
7963
+ <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']/*[local-name()='td'][not(preceding-sibling::*)]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
7934
7964
  <fo:table-cell>
7935
7965
  <fo:block>
7936
7966
 
@@ -7950,8 +7980,9 @@
7950
7980
  </fo:block>
7951
7981
  </fo:table-cell>
7952
7982
  </xsl:template>
7983
+
7953
7984
  <!-- second td with sourcecode -->
7954
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2">
7985
+ <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
7955
7986
  <fo:table-cell>
7956
7987
  <fo:block>
7957
7988
  <xsl:apply-templates/>
@@ -8189,7 +8220,25 @@
8189
8220
  <xsl:template match="*[local-name()='pre']" name="pre">
8190
8221
  <fo:block xsl:use-attribute-sets="pre-style">
8191
8222
  <xsl:copy-of select="@id"/>
8192
- <xsl:apply-templates/>
8223
+ <xsl:choose>
8224
+
8225
+ <xsl:when test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name()='td'][1][not(preceding-sibling::*)]"> <!-- pre in the first td in the table with @linenums = 'true' -->
8226
+ <xsl:if test="ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']"> <!-- is current tr isn't last -->
8227
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
8228
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
8229
+ </xsl:if>
8230
+ <fo:instream-foreign-object fox:alt-text="{.}" content-width="95%">
8231
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
8232
+ <mtext><xsl:value-of select="."/></mtext>
8233
+ </math>
8234
+ </fo:instream-foreign-object>
8235
+ </xsl:when>
8236
+
8237
+ <xsl:otherwise>
8238
+ <xsl:apply-templates/>
8239
+ </xsl:otherwise>
8240
+
8241
+ </xsl:choose>
8193
8242
  </fo:block>
8194
8243
  </xsl:template>
8195
8244
  <!-- =============== -->
@@ -8893,6 +8942,7 @@
8893
8942
  <xsl:variable name="padding">
8894
8943
 
8895
8944
  <xsl:choose>
8945
+ <xsl:when test="ancestor::*[local-name() = 'note'] and ancestor::*[local-name() = 'name']">1</xsl:when>
8896
8946
  <xsl:when test="$depth = 2">2</xsl:when>
8897
8947
  <xsl:otherwise>1</xsl:otherwise>
8898
8948
  </xsl:choose>
@@ -9829,8 +9879,8 @@
9829
9879
 
9830
9880
  <xsl:variable name="toc_level">
9831
9881
  <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
9832
- <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
9833
- <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
9882
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
9883
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
9834
9884
  <xsl:choose>
9835
9885
  <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
9836
9886
  <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
@@ -10822,6 +10872,7 @@
10822
10872
  <xsl:choose>
10823
10873
  <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
10824
10874
  <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
10875
+ <xsl:when test="$align = 'justified'">justify</xsl:when>
10825
10876
  <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
10826
10877
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
10827
10878
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>