metanorma-ogc 2.3.1 → 2.3.2

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.
@@ -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)">
185
137
 
186
- <!-- background image -->
187
- <fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0">
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>
182
+
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>
192
-
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>
189
+ </fo:static-content>
203
190
 
204
- <xsl:call-template name="insertCrossingLines"/>
191
+ <fo:flow flow-name="xsl-region-body" color="white">
205
192
 
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
447
 
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
-
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>
613
620
 
614
- <xsl:apply-templates select="//ogc:indexsect" mode="sections"/>
621
+ <xsl:apply-templates select="//ogc:indexsect" mode="sections"/>
615
622
 
616
- <!-- End Document Pages -->
623
+ <!-- End Document Pages -->
617
624
 
618
- </fo:root>
625
+ </fo:root>
626
+
627
+ </xsl:for-each>
619
628
  </xsl:template>
620
629
 
621
630
  <xsl:template name="insertListOf_Title">
@@ -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
 
@@ -4138,7 +4147,7 @@
4138
4147
  </fn>
4139
4148
  -->
4140
4149
  <!-- 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">
4150
+ <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
4151
 
4143
4152
  <!-- list of footnotes to calculate actual footnotes number -->
4144
4153
  <xsl:variable name="p_fn_">
@@ -4195,8 +4204,7 @@
4195
4204
  </fo:basic-link>
4196
4205
  </fo:inline>
4197
4206
  </xsl:variable>
4198
- <!-- DEBUG: p_fn=<xsl:copy-of select="$p_fn"/>
4199
- gen_id=<xsl:value-of select="$gen_id"/> -->
4207
+
4200
4208
  <xsl:choose>
4201
4209
  <xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
4202
4210
  <xsl:copy-of select="$footnote_inline"/>
@@ -4251,7 +4259,7 @@
4251
4259
  <!-- commented:
4252
4260
  .//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] |
4253
4261
  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])]">
4262
+ <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
4263
  <!-- copy unique fn -->
4256
4264
  <fn gen_id="{generate-id(.)}">
4257
4265
  <xsl:copy-of select="@*"/>
@@ -6641,8 +6649,6 @@
6641
6649
  </xsl:when>
6642
6650
  <xsl:otherwise>
6643
6651
 
6644
- <xsl:text>:</xsl:text>
6645
-
6646
6652
  </xsl:otherwise>
6647
6653
  </xsl:choose>
6648
6654
  </xsl:variable>
@@ -6813,7 +6819,9 @@
6813
6819
 
6814
6820
  <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
6815
6821
  <xsl:if test="number($scale) &lt; 100">
6816
- <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
6822
+
6823
+ <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
6824
+
6817
6825
  </xsl:if>
6818
6826
 
6819
6827
  </xsl:if>
@@ -7778,7 +7786,7 @@
7778
7786
  </xsl:if> -->
7779
7787
 
7780
7788
  <xsl:choose>
7781
- <xsl:when test="ancestor::*[local-name() = 'table'][not(@type = 'sourcecode')]">8.5</xsl:when>
7789
+ <xsl:when test="ancestor::*[local-name() = 'table'][not(parent::*[local-name() = 'sourcecode'][@linenums = 'true'])]">8.5</xsl:when>
7782
7790
  <xsl:otherwise>9.5</xsl:otherwise>
7783
7791
  </xsl:choose>
7784
7792
 
@@ -7857,6 +7865,12 @@
7857
7865
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
7858
7866
  </xsl:if>
7859
7867
 
7868
+ <!-- remove margin between rows in the table with sourcecode line numbers -->
7869
+ <xsl:if test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']">
7870
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
7871
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
7872
+ </xsl:if>
7873
+
7860
7874
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7861
7875
  </fo:block>
7862
7876
 
@@ -7909,7 +7923,7 @@
7909
7923
  </xsl:template>
7910
7924
 
7911
7925
  <!-- outer table with line numbers for sourcecode -->
7912
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']" priority="2">
7926
+ <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] | -->
7913
7927
  <fo:block>
7914
7928
  <fo:table width="100%" table-layout="fixed">
7915
7929
  <xsl:copy-of select="@id"/>
@@ -7921,16 +7935,16 @@
7921
7935
  </fo:table>
7922
7936
  </fo:block>
7923
7937
  </xsl:template>
7924
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody']" priority="2">
7938
+ <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
7939
  <xsl:apply-templates/>
7926
7940
  </xsl:template>
7927
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']" priority="2">
7941
+ <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
7942
  <fo:table-row>
7929
7943
  <xsl:apply-templates/>
7930
7944
  </fo:table-row>
7931
7945
  </xsl:template>
7932
7946
  <!-- 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">
7947
+ <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
7948
  <fo:table-cell>
7935
7949
  <fo:block>
7936
7950
 
@@ -7950,8 +7964,9 @@
7950
7964
  </fo:block>
7951
7965
  </fo:table-cell>
7952
7966
  </xsl:template>
7967
+
7953
7968
  <!-- second td with sourcecode -->
7954
- <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2">
7969
+ <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
7970
  <fo:table-cell>
7956
7971
  <fo:block>
7957
7972
  <xsl:apply-templates/>
@@ -8189,7 +8204,25 @@
8189
8204
  <xsl:template match="*[local-name()='pre']" name="pre">
8190
8205
  <fo:block xsl:use-attribute-sets="pre-style">
8191
8206
  <xsl:copy-of select="@id"/>
8192
- <xsl:apply-templates/>
8207
+ <xsl:choose>
8208
+
8209
+ <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' -->
8210
+ <xsl:if test="ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']"> <!-- is current tr isn't last -->
8211
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
8212
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
8213
+ </xsl:if>
8214
+ <fo:instream-foreign-object fox:alt-text="{.}" content-width="95%">
8215
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
8216
+ <mtext><xsl:value-of select="."/></mtext>
8217
+ </math>
8218
+ </fo:instream-foreign-object>
8219
+ </xsl:when>
8220
+
8221
+ <xsl:otherwise>
8222
+ <xsl:apply-templates/>
8223
+ </xsl:otherwise>
8224
+
8225
+ </xsl:choose>
8193
8226
  </fo:block>
8194
8227
  </xsl:template>
8195
8228
  <!-- =============== -->
@@ -8893,6 +8926,7 @@
8893
8926
  <xsl:variable name="padding">
8894
8927
 
8895
8928
  <xsl:choose>
8929
+ <xsl:when test="ancestor::*[local-name() = 'note'] and ancestor::*[local-name() = 'name']">1</xsl:when>
8896
8930
  <xsl:when test="$depth = 2">2</xsl:when>
8897
8931
  <xsl:otherwise>1</xsl:otherwise>
8898
8932
  </xsl:choose>