metanorma-iso 2.2.3 → 2.3.0

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.
@@ -268,806 +268,949 @@
268
268
 
269
269
  <xsl:template match="/">
270
270
  <xsl:call-template name="namespaceCheck"/>
271
- <fo:root xml:lang="{$lang}">
272
271
 
273
- <xsl:variable name="root-style">
274
- <root-style xsl:use-attribute-sets="root-style">
275
- <!-- <xsl:if test="$lang = 'zh'">
276
- <xsl:attribute name="font-family">Source Han Sans, Times New Roman, Cambria Math</xsl:attribute>
277
- </xsl:if> -->
278
- </root-style>
279
- </xsl:variable>
280
- <xsl:call-template name="insertRootStyle">
281
- <xsl:with-param name="root-style" select="$root-style"/>
282
- </xsl:call-template>
272
+ <xsl:variable name="xslfo">
273
+ <fo:root xml:lang="{$lang}">
283
274
 
284
- <fo:layout-master-set>
275
+ <xsl:variable name="root-style">
276
+ <root-style xsl:use-attribute-sets="root-style">
277
+ <!-- <xsl:if test="$lang = 'zh'">
278
+ <xsl:attribute name="font-family">Source Han Sans, Times New Roman, Cambria Math</xsl:attribute>
279
+ </xsl:if> -->
280
+ </root-style>
281
+ </xsl:variable>
282
+ <xsl:call-template name="insertRootStyle">
283
+ <xsl:with-param name="root-style" select="$root-style"/>
284
+ </xsl:call-template>
285
285
 
286
- <!-- cover page -->
287
- <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
288
- <fo:region-body margin-top="25.4mm" margin-bottom="25.4mm" margin-left="31.7mm" margin-right="31.7mm"/>
289
- <fo:region-before region-name="cover-page-header" extent="25.4mm"/>
290
- <fo:region-after/>
291
- <fo:region-start region-name="cover-left-region" extent="31.7mm"/>
292
- <fo:region-end region-name="cover-right-region" extent="31.7mm"/>
293
- </fo:simple-page-master>
294
-
295
- <fo:simple-page-master master-name="cover-page-published" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
296
- <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="78mm" margin-right="18.5mm"/>
297
- <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
298
- <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
299
- <fo:region-start region-name="cover-left-region" extent="78mm"/>
300
- <fo:region-end region-name="cover-right-region" extent="18.5mm"/>
301
- </fo:simple-page-master>
302
-
303
- <fo:simple-page-master master-name="cover-page-publishedISO-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
304
- <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
305
- <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
306
- <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
307
- <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight1}mm"/>
308
- <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight2}mm"/>
309
- </fo:simple-page-master>
310
- <fo:simple-page-master master-name="cover-page-publishedISO-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
311
- <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
312
- <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
313
- <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
314
- <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight2}mm"/>
315
- <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight1}mm"/>
316
- </fo:simple-page-master>
317
- <fo:page-sequence-master master-name="cover-page-publishedISO">
318
- <fo:repeatable-page-master-alternatives>
319
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="cover-page-publishedISO-even"/>
320
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="cover-page-publishedISO-odd"/>
321
- </fo:repeatable-page-master-alternatives>
322
- </fo:page-sequence-master>
323
-
324
- <!-- contents pages -->
325
- <!-- odd pages -->
326
- <fo:simple-page-master master-name="odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
327
- <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom + 2}mm" margin-left="19mm" margin-right="19mm"/>
328
- <fo:region-before region-name="header-odd" extent="27.4mm"/> <!-- display-align="center" -->
329
- <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
330
- <fo:region-start region-name="left-region" extent="19mm"/>
331
- <fo:region-end region-name="right-region" extent="19mm"/>
332
- </fo:simple-page-master>
333
- <!-- even pages -->
334
- <fo:simple-page-master master-name="even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
335
- <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom + 2}mm" margin-left="19mm" margin-right="19mm"/>
336
- <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
337
- <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
338
- <fo:region-start region-name="left-region" extent="19mm"/>
339
- <fo:region-end region-name="right-region" extent="19mm"/>
340
- </fo:simple-page-master>
341
- <fo:page-sequence-master master-name="preface">
342
- <fo:repeatable-page-master-alternatives>
343
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
344
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
345
- </fo:repeatable-page-master-alternatives>
346
- </fo:page-sequence-master>
347
- <fo:page-sequence-master master-name="document">
348
- <fo:repeatable-page-master-alternatives>
349
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
350
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
351
- </fo:repeatable-page-master-alternatives>
352
- </fo:page-sequence-master>
353
-
354
- <!-- first page -->
355
- <fo:simple-page-master master-name="first-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
356
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
357
- <fo:region-before region-name="header-first" extent="{$marginTop}mm"/> <!-- display-align="center" -->
358
- <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
359
- <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
360
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
361
- </fo:simple-page-master>
362
- <!-- odd pages -->
363
- <fo:simple-page-master master-name="odd-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
364
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
365
- <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
366
- <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
367
- <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
368
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
369
- </fo:simple-page-master>
370
- <!-- even pages -->
371
- <fo:simple-page-master master-name="even-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
372
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
373
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
374
- <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
375
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
376
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
377
- </fo:simple-page-master>
378
- <fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
379
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
380
- <fo:region-before region-name="header" extent="{$marginTop}mm"/>
381
- <fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
382
- <fo:region-start region-name="left" extent="{$marginLeftRight2}mm"/>
383
- <fo:region-end region-name="right" extent="{$marginLeftRight1}mm"/>
384
- </fo:simple-page-master>
385
- <fo:page-sequence-master master-name="preface-publishedISO">
386
- <fo:repeatable-page-master-alternatives>
387
- <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
388
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
389
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
390
- </fo:repeatable-page-master-alternatives>
391
- </fo:page-sequence-master>
392
-
393
- <fo:page-sequence-master master-name="document-publishedISO">
394
- <fo:repeatable-page-master-alternatives>
395
- <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
396
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
397
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
398
- </fo:repeatable-page-master-alternatives>
399
- </fo:page-sequence-master>
400
-
401
- <fo:simple-page-master master-name="last-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
402
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
403
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
404
- <fo:region-after region-name="last-page-footer" extent="{$marginBottom}mm"/>
405
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
406
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
407
- </fo:simple-page-master>
408
-
409
- <!-- Index pages -->
410
- <fo:simple-page-master master-name="index-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
411
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="2" column-gap="10mm"/>
412
- <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/>
413
- <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
414
- <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
415
- <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
416
- </fo:simple-page-master>
417
- <fo:simple-page-master master-name="index-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
418
- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="2" column-gap="10mm"/>
419
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
420
- <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
421
- <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
422
- <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
423
- </fo:simple-page-master>
424
- <fo:page-sequence-master master-name="index">
425
- <fo:repeatable-page-master-alternatives>
426
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="index-even"/>
427
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="index-odd"/>
428
- </fo:repeatable-page-master-alternatives>
429
- </fo:page-sequence-master>
430
-
431
- </fo:layout-master-set>
432
-
433
- <fo:declarations>
434
- <xsl:call-template name="addPDFUAmeta"/>
435
- <xsl:for-each select="//*[local-name() = 'eref'][generate-id(.)=generate-id(key('attachments',@bibitemid)[1])]">
436
- <xsl:variable name="url" select="concat('url(file:',$basepath, @bibitemid, ')')"/>
437
- <pdf:embedded-file src="{$url}" filename="{@bibitemid}"/>
438
- </xsl:for-each>
439
- <xsl:for-each select="//*[local-name() = 'eref'][generate-id(.)=generate-id(key('attachments2',@bibitemid)[1])]">
440
- <xsl:variable name="bibitemid" select="@bibitemid"/>
441
- <xsl:variable name="uri" select="normalize-space($bibitems/*[local-name() ='bibitem'][@hidden = 'true'][@id = $bibitemid][1]/*[local-name() = 'uri'][@type='citation'])"/>
442
- <xsl:if test="$uri != ''">
443
- <xsl:variable name="url" select="concat('url(file:',$basepath, $uri, ')')"/>
444
- <xsl:variable name="filename" select="concat(substring-before($bibitemid, '.exp_'), '.exp')"/>
445
- <pdf:embedded-file src="{$url}" filename="{$filename}"/>
446
- </xsl:if>
447
- </xsl:for-each>
448
- </fo:declarations>
286
+ <fo:layout-master-set>
287
+
288
+ <!-- cover page -->
289
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
290
+ <fo:region-body margin-top="25.4mm" margin-bottom="25.4mm" margin-left="31.7mm" margin-right="31.7mm"/>
291
+ <fo:region-before region-name="cover-page-header" extent="25.4mm"/>
292
+ <fo:region-after/>
293
+ <fo:region-start region-name="cover-left-region" extent="31.7mm"/>
294
+ <fo:region-end region-name="cover-right-region" extent="31.7mm"/>
295
+ </fo:simple-page-master>
296
+
297
+ <fo:simple-page-master master-name="cover-page-published" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
298
+ <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="78mm" margin-right="18.5mm"/>
299
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
300
+ <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
301
+ <fo:region-start region-name="cover-left-region" extent="78mm"/>
302
+ <fo:region-end region-name="cover-right-region" extent="18.5mm"/>
303
+ </fo:simple-page-master>
304
+
305
+ <fo:simple-page-master master-name="cover-page-publishedISO-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
306
+ <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
307
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
308
+ <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
309
+ <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight1}mm"/>
310
+ <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight2}mm"/>
311
+ </fo:simple-page-master>
312
+ <fo:simple-page-master master-name="cover-page-publishedISO-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
313
+ <fo:region-body margin-top="12.7mm" margin-bottom="75mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
314
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
315
+ <fo:region-after region-name="cover-page-footer" extent="75mm" display-align="after"/>
316
+ <fo:region-start region-name="cover-left-region" extent="{$marginLeftRight2}mm"/>
317
+ <fo:region-end region-name="cover-right-region" extent="{$marginLeftRight1}mm"/>
318
+ </fo:simple-page-master>
319
+ <fo:page-sequence-master master-name="cover-page-publishedISO">
320
+ <fo:repeatable-page-master-alternatives>
321
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="cover-page-publishedISO-even"/>
322
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="cover-page-publishedISO-odd"/>
323
+ </fo:repeatable-page-master-alternatives>
324
+ </fo:page-sequence-master>
325
+
326
+ <!-- contents pages -->
327
+ <!-- odd pages -->
328
+ <fo:simple-page-master master-name="odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
329
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom + 2}mm" margin-left="19mm" margin-right="19mm"/>
330
+ <fo:region-before region-name="header-odd" extent="27.4mm"/> <!-- display-align="center" -->
331
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
332
+ <fo:region-start region-name="left-region" extent="19mm"/>
333
+ <fo:region-end region-name="right-region" extent="19mm"/>
334
+ </fo:simple-page-master>
335
+ <fo:simple-page-master master-name="odd-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
336
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom + 2}mm" margin-left="19mm" margin-right="19mm"/>
337
+ <fo:region-before region-name="header-odd" extent="27.4mm"/>
338
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
339
+ <fo:region-start region-name="left-region" extent="19mm"/>
340
+ <fo:region-end region-name="right-region" extent="19mm"/>
341
+ </fo:simple-page-master>
342
+ <!-- even pages -->
343
+ <fo:simple-page-master master-name="even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
344
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom + 2}mm" margin-left="19mm" margin-right="19mm"/>
345
+ <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
346
+ <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
347
+ <fo:region-start region-name="left-region" extent="19mm"/>
348
+ <fo:region-end region-name="right-region" extent="19mm"/>
349
+ </fo:simple-page-master>
350
+ <fo:simple-page-master master-name="even-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
351
+ <fo:region-body margin-top="27.4mm" margin-bottom="{$marginBottom + 2}mm" margin-left="19mm" margin-right="19mm"/>
352
+ <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
353
+ <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
354
+ <fo:region-start region-name="left-region" extent="19mm"/>
355
+ <fo:region-end region-name="right-region" extent="19mm"/>
356
+ </fo:simple-page-master>
357
+ <fo:page-sequence-master master-name="preface">
358
+ <fo:repeatable-page-master-alternatives>
359
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
360
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
361
+ </fo:repeatable-page-master-alternatives>
362
+ </fo:page-sequence-master>
363
+ <fo:page-sequence-master master-name="document">
364
+ <fo:repeatable-page-master-alternatives>
365
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
366
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
367
+ </fo:repeatable-page-master-alternatives>
368
+ </fo:page-sequence-master>
369
+ <fo:page-sequence-master master-name="document-portrait">
370
+ <fo:repeatable-page-master-alternatives>
371
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
372
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
373
+ </fo:repeatable-page-master-alternatives>
374
+ </fo:page-sequence-master>
375
+ <fo:page-sequence-master master-name="document-landscape">
376
+ <fo:repeatable-page-master-alternatives>
377
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-landscape"/>
378
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-landscape"/>
379
+ </fo:repeatable-page-master-alternatives>
380
+ </fo:page-sequence-master>
381
+
382
+ <!-- first page -->
383
+ <fo:simple-page-master master-name="first-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
384
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
385
+ <fo:region-before region-name="header-first" extent="{$marginTop}mm"/> <!-- display-align="center" -->
386
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
387
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
388
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
389
+ </fo:simple-page-master>
390
+ <!-- odd pages -->
391
+ <fo:simple-page-master master-name="odd-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
392
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
393
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
394
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
395
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
396
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
397
+ </fo:simple-page-master>
398
+ <fo:simple-page-master master-name="odd-publishedISO-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
399
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
400
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
401
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
402
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
403
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
404
+ </fo:simple-page-master>
405
+ <!-- even pages -->
406
+ <fo:simple-page-master master-name="even-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
407
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
408
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
409
+ <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
410
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
411
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
412
+ </fo:simple-page-master>
413
+ <fo:simple-page-master master-name="even-publishedISO-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
414
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
415
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
416
+ <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
417
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
418
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
419
+ </fo:simple-page-master>
420
+ <fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
421
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom + 2}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
422
+ <fo:region-before region-name="header" extent="{$marginTop}mm"/>
423
+ <fo:region-after region-name="footer" extent="{$marginBottom}mm"/>
424
+ <fo:region-start region-name="left" extent="{$marginLeftRight2}mm"/>
425
+ <fo:region-end region-name="right" extent="{$marginLeftRight1}mm"/>
426
+ </fo:simple-page-master>
427
+ <fo:page-sequence-master master-name="preface-publishedISO">
428
+ <fo:repeatable-page-master-alternatives>
429
+ <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
430
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
431
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
432
+ </fo:repeatable-page-master-alternatives>
433
+ </fo:page-sequence-master>
434
+
435
+ <fo:page-sequence-master master-name="document-publishedISO">
436
+ <fo:repeatable-page-master-alternatives>
437
+ <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
438
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
439
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
440
+ </fo:repeatable-page-master-alternatives>
441
+ </fo:page-sequence-master>
442
+ <fo:page-sequence-master master-name="document-publishedISO-portrait">
443
+ <fo:repeatable-page-master-alternatives>
444
+ <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
445
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
446
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
447
+ </fo:repeatable-page-master-alternatives>
448
+ </fo:page-sequence-master>
449
+ <fo:page-sequence-master master-name="document-publishedISO-landscape">
450
+ <fo:repeatable-page-master-alternatives>
451
+ <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
452
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO-landscape"/>
453
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO-landscape"/>
454
+ </fo:repeatable-page-master-alternatives>
455
+ </fo:page-sequence-master>
456
+
457
+ <fo:simple-page-master master-name="last-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
458
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm"/>
459
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
460
+ <fo:region-after region-name="last-page-footer" extent="{$marginBottom}mm"/>
461
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
462
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
463
+ </fo:simple-page-master>
464
+
465
+ <!-- Index pages -->
466
+ <fo:simple-page-master master-name="index-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
467
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="2" column-gap="10mm"/>
468
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/>
469
+ <fo:region-after region-name="footer-odd" extent="{$marginBottom}mm"/>
470
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
471
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
472
+ </fo:simple-page-master>
473
+ <fo:simple-page-master master-name="index-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
474
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="2" column-gap="10mm"/>
475
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
476
+ <fo:region-after region-name="footer-even" extent="{$marginBottom}mm"/>
477
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
478
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
479
+ </fo:simple-page-master>
480
+ <fo:page-sequence-master master-name="index">
481
+ <fo:repeatable-page-master-alternatives>
482
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="index-even"/>
483
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="index-odd"/>
484
+ </fo:repeatable-page-master-alternatives>
485
+ </fo:page-sequence-master>
486
+
487
+ </fo:layout-master-set>
488
+
489
+ <fo:declarations>
490
+ <xsl:call-template name="addPDFUAmeta"/>
491
+ <xsl:for-each select="//*[local-name() = 'eref'][generate-id(.)=generate-id(key('attachments',@bibitemid)[1])]">
492
+ <xsl:variable name="url" select="concat('url(file:',$basepath, @bibitemid, ')')"/>
493
+ <pdf:embedded-file src="{$url}" filename="{@bibitemid}"/>
494
+ </xsl:for-each>
495
+ <xsl:for-each select="//*[local-name() = 'eref'][generate-id(.)=generate-id(key('attachments2',@bibitemid)[1])]">
496
+ <xsl:variable name="bibitemid" select="@bibitemid"/>
497
+ <xsl:variable name="uri" select="normalize-space($bibitems/*[local-name() ='bibitem'][@hidden = 'true'][@id = $bibitemid][1]/*[local-name() = 'uri'][@type='citation'])"/>
498
+ <xsl:if test="$uri != ''">
499
+ <xsl:variable name="url" select="concat('url(file:',$basepath, $uri, ')')"/>
500
+ <xsl:variable name="filename" select="concat(substring-before($bibitemid, '.exp_'), '.exp')"/>
501
+ <pdf:embedded-file src="{$url}" filename="{$filename}"/>
502
+ </xsl:if>
503
+ </xsl:for-each>
504
+ </fo:declarations>
449
505
 
450
- <xsl:call-template name="addBookmarks">
451
- <xsl:with-param name="contents" select="$contents"/>
452
- </xsl:call-template>
506
+ <xsl:call-template name="addBookmarks">
507
+ <xsl:with-param name="contents" select="$contents"/>
508
+ </xsl:call-template>
453
509
 
454
- <!-- cover page -->
455
- <xsl:choose>
456
- <xsl:when test="$stage-abbreviation != ''">
457
- <fo:page-sequence master-reference="cover-page-publishedISO" force-page-count="no-force">
458
- <fo:static-content flow-name="cover-page-footer" font-size="10pt">
459
- <fo:table table-layout="fixed" width="100%">
460
- <fo:table-column column-width="52mm"/>
461
- <fo:table-column column-width="7.5mm"/>
462
- <fo:table-column column-width="112.5mm"/>
463
- <fo:table-body>
464
- <fo:table-row>
465
- <fo:table-cell font-size="6.5pt" text-align="justify" display-align="after" padding-bottom="8mm">
466
- <xsl:if test="$stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
467
- <xsl:attribute name="font-size">7pt</xsl:attribute>
468
- </xsl:if>
469
- <!-- margin-top="-30mm" -->
470
- <fo:block> <!-- margin-top="-100mm" -->
471
- <xsl:if test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
472
- <fo:block margin-bottom="1.5mm">
473
- <xsl:text>THIS DOCUMENT IS A DRAFT CIRCULATED FOR COMMENT AND APPROVAL. IT IS THEREFORE SUBJECT TO CHANGE AND MAY NOT BE REFERRED TO AS AN INTERNATIONAL STANDARD UNTIL PUBLISHED AS SUCH.</xsl:text>
474
- </fo:block>
475
- </xsl:if>
476
- <xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
477
- <fo:block margin-bottom="1.5mm">
478
- <xsl:text>RECIPIENTS OF THIS DRAFT ARE INVITED TO
479
- SUBMIT, WITH THEIR COMMENTS, NOTIFICATION
480
- OF ANY RELEVANT PATENT RIGHTS OF WHICH
481
- THEY ARE AWARE AND TO PROVIDE SUPPORTING
482
- DOCUMENTATION.</xsl:text>
483
- </fo:block>
484
- <fo:block>
485
- <xsl:text>IN ADDITION TO THEIR EVALUATION AS
486
- BEING ACCEPTABLE FOR INDUSTRIAL, TECHNOLOGICAL,
487
- COMMERCIAL AND USER PURPOSES,
488
- DRAFT INTERNATIONAL STANDARDS MAY ON
489
- OCCASION HAVE TO BE CONSIDERED IN THE
490
- LIGHT OF THEIR POTENTIAL TO BECOME STANDARDS
491
- TO WHICH REFERENCE MAY BE MADE IN
492
- NATIONAL REGULATIONS.</xsl:text>
493
- </fo:block>
510
+ <!-- cover page -->
511
+ <xsl:choose>
512
+ <xsl:when test="$stage-abbreviation != ''">
513
+ <fo:page-sequence master-reference="cover-page-publishedISO" force-page-count="no-force">
514
+ <fo:static-content flow-name="cover-page-footer" font-size="10pt">
515
+ <fo:table table-layout="fixed" width="100%">
516
+ <fo:table-column column-width="52mm"/>
517
+ <fo:table-column column-width="7.5mm"/>
518
+ <fo:table-column column-width="112.5mm"/>
519
+ <fo:table-body>
520
+ <fo:table-row>
521
+ <fo:table-cell font-size="6.5pt" text-align="justify" display-align="after" padding-bottom="8mm">
522
+ <xsl:if test="$stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
523
+ <xsl:attribute name="font-size">7pt</xsl:attribute>
494
524
  </xsl:if>
495
- </fo:block>
496
- </fo:table-cell>
497
- <fo:table-cell>
498
- <fo:block> </fo:block>
499
- </fo:table-cell>
500
- <fo:table-cell display-align="after" padding-bottom="3mm">
501
- <fo:block-container height="22.5mm" display-align="center">
525
+ <!-- margin-top="-30mm" -->
526
+ <fo:block> <!-- margin-top="-100mm" -->
527
+ <xsl:if test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
528
+ <fo:block margin-bottom="1.5mm">
529
+ <xsl:text>THIS DOCUMENT IS A DRAFT CIRCULATED FOR COMMENT AND APPROVAL. IT IS THEREFORE SUBJECT TO CHANGE AND MAY NOT BE REFERRED TO AS AN INTERNATIONAL STANDARD UNTIL PUBLISHED AS SUCH.</xsl:text>
530
+ </fo:block>
531
+ </xsl:if>
532
+ <xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
533
+ <fo:block margin-bottom="1.5mm">
534
+ <xsl:text>RECIPIENTS OF THIS DRAFT ARE INVITED TO
535
+ SUBMIT, WITH THEIR COMMENTS, NOTIFICATION
536
+ OF ANY RELEVANT PATENT RIGHTS OF WHICH
537
+ THEY ARE AWARE AND TO PROVIDE SUPPORTING
538
+ DOCUMENTATION.</xsl:text>
539
+ </fo:block>
540
+ <fo:block>
541
+ <xsl:text>IN ADDITION TO THEIR EVALUATION AS
542
+ BEING ACCEPTABLE FOR INDUSTRIAL, TECHNOLOGICAL,
543
+ COMMERCIAL AND USER PURPOSES,
544
+ DRAFT INTERNATIONAL STANDARDS MAY ON
545
+ OCCASION HAVE TO BE CONSIDERED IN THE
546
+ LIGHT OF THEIR POTENTIAL TO BECOME STANDARDS
547
+ TO WHICH REFERENCE MAY BE MADE IN
548
+ NATIONAL REGULATIONS.</xsl:text>
549
+ </fo:block>
550
+ </xsl:if>
551
+ </fo:block>
552
+ </fo:table-cell>
553
+ <fo:table-cell>
554
+ <fo:block> </fo:block>
555
+ </fo:table-cell>
556
+ <fo:table-cell display-align="after" padding-bottom="3mm">
557
+ <fo:block-container height="22.5mm" display-align="center">
502
558
 
503
- <xsl:variable name="iso-fast-track">false</xsl:variable>
559
+ <xsl:variable name="iso-fast-track">false</xsl:variable>
504
560
 
505
- <xsl:if test="normalize-space($iso-fast-track) = 'true'">
506
- <xsl:attribute name="height">28mm</xsl:attribute>
507
- </xsl:if>
561
+ <xsl:if test="normalize-space($iso-fast-track) = 'true'">
562
+ <xsl:attribute name="height">28mm</xsl:attribute>
563
+ </xsl:if>
508
564
 
509
- <fo:block>
510
- <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
511
- <xsl:variable name="text">
512
- <xsl:for-each select="/iso:iso-standard/iso:preface/iso:note[@coverpage='true']/iso:p">
513
- <fo:block>
514
- <xsl:apply-templates/>
515
- </fo:block>
516
- </xsl:for-each>
517
- </xsl:variable>
518
- <xsl:if test="normalize-space($text) != ''">
519
- <fo:block-container margin-left="1mm"> <!-- margin-bottom="7mm" margin-top="-15mm" -->
520
- <fo:block font-size="9pt" border="0.5pt solid black" fox:border-radius="5pt" padding-left="2mm" padding-top="2mm" padding-bottom="2mm">
521
- <!-- <xsl:text>This document is circulated as received from the committee secretariat.</xsl:text> -->
522
- <xsl:copy-of select="xalan:nodeset($text)/node()"/>
523
- </fo:block>
524
- </fo:block-container>
525
- </xsl:if>
565
+ <fo:block>
566
+ <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
567
+ <xsl:variable name="text">
568
+ <xsl:for-each select="/iso:iso-standard/iso:preface/iso:note[@coverpage='true']/iso:p">
569
+ <fo:block>
570
+ <xsl:apply-templates/>
571
+ </fo:block>
572
+ </xsl:for-each>
573
+ </xsl:variable>
574
+ <xsl:if test="normalize-space($text) != ''">
575
+ <fo:block-container margin-left="1mm"> <!-- margin-bottom="7mm" margin-top="-15mm" -->
576
+ <fo:block font-size="9pt" border="0.5pt solid black" fox:border-radius="5pt" padding-left="2mm" padding-top="2mm" padding-bottom="2mm">
577
+ <!-- <xsl:text>This document is circulated as received from the committee secretariat.</xsl:text> -->
578
+ <xsl:copy-of select="xalan:nodeset($text)/node()"/>
579
+ </fo:block>
580
+ </fo:block-container>
581
+ </xsl:if>
526
582
 
527
- <xsl:if test="normalize-space($iso-fast-track) = 'true'">
528
- <fo:block-container space-before="2mm">
529
- <fo:block background-color="rgb(77,77,77)" color="white" fox:border-radius="5pt" text-align="center" display-align="center" font-size="19pt" font-weight="bold">
530
- <fo:block-container height="13.2mm">
531
- <fo:block>
532
- <xsl:text>FAST TRACK PROCEDURE</xsl:text>
533
- </fo:block>
534
- </fo:block-container>
535
- </fo:block>
536
- </fo:block-container>
583
+ <xsl:if test="normalize-space($iso-fast-track) = 'true'">
584
+ <fo:block-container space-before="2mm">
585
+ <fo:block background-color="rgb(77,77,77)" color="white" fox:border-radius="5pt" text-align="center" display-align="center" font-size="19pt" font-weight="bold">
586
+ <fo:block-container height="13.2mm">
587
+ <fo:block>
588
+ <xsl:text>FAST TRACK PROCEDURE</xsl:text>
589
+ </fo:block>
590
+ </fo:block-container>
591
+ </fo:block>
592
+ </fo:block-container>
593
+ </xsl:if>
537
594
  </xsl:if>
538
- </xsl:if>
539
- </fo:block>
540
- </fo:block-container>
541
- <fo:block>
542
- <xsl:call-template name="insertTripleLine"/>
543
- <fo:table table-layout="fixed" width="100%"> <!-- margin-bottom="3mm" -->
544
- <fo:table-column column-width="50%"/>
545
- <fo:table-column column-width="50%"/>
546
- <fo:table-body>
547
- <fo:table-row height="34mm">
548
- <fo:table-cell display-align="center">
549
-
550
- <xsl:if test="$copyrightAbbrIEEE != ''">
551
- <xsl:attribute name="display-align">before</xsl:attribute>
552
- </xsl:if>
553
-
554
- <fo:block text-align="left" margin-top="2mm">
595
+ </fo:block>
596
+ </fo:block-container>
597
+ <fo:block>
598
+ <xsl:call-template name="insertTripleLine"/>
599
+ <fo:table table-layout="fixed" width="100%"> <!-- margin-bottom="3mm" -->
600
+ <fo:table-column column-width="50%"/>
601
+ <fo:table-column column-width="50%"/>
602
+ <fo:table-body>
603
+ <fo:table-row height="34mm">
604
+ <fo:table-cell display-align="center">
555
605
 
556
606
  <xsl:if test="$copyrightAbbrIEEE != ''">
557
- <xsl:attribute name="margin-top">0</xsl:attribute>
607
+ <xsl:attribute name="display-align">before</xsl:attribute>
558
608
  </xsl:if>
559
609
 
560
- <!-- <xsl:variable name="docid" select="substring-before(/iso:iso-standard/iso:bibdata/iso:docidentifier, ' ')"/>
561
- <xsl:for-each select="xalan:tokenize($docid, '/')"> -->
562
- <xsl:variable name="content-height">
563
- <xsl:choose>
564
- <xsl:when test="$copyrightAbbrIEEE != ''">13.9</xsl:when>
565
- <xsl:otherwise>19</xsl:otherwise>
566
- </xsl:choose>
567
- </xsl:variable>
568
-
569
- <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:copyright/iso:owner/iso:organization/iso:abbreviation[. != 'IEEE']">
570
- <xsl:choose>
571
- <xsl:when test=". = 'ISO'">
572
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-ISO-Logo))}" content-height="{$content-height}mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
573
- </xsl:when>
574
- <xsl:when test=". = 'IEC'">
575
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-IEC-Logo))}" content-height="{$content-height}mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
576
- </xsl:when>
577
- <xsl:otherwise/>
578
- </xsl:choose>
579
- <xsl:if test="position() != last()">
580
- <fo:inline padding-right="1mm"> </fo:inline>
581
- </xsl:if>
582
- </xsl:for-each>
583
- <xsl:if test="$copyrightAbbrIEEE != ''">
584
- <fo:block>
585
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-IEEE-Logo))}" content-height="11mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
586
- </fo:block>
587
- </xsl:if>
588
- </fo:block>
589
- </fo:table-cell>
590
- <fo:table-cell display-align="center">
591
- <fo:block text-align="right">
592
- <!-- Reference number -->
593
- <fo:block>
594
- <xsl:call-template name="getLocalizedString">
595
- <xsl:with-param name="key">reference_number</xsl:with-param>
596
- </xsl:call-template>
597
- </fo:block>
598
- <fo:block>
599
- <xsl:value-of select="$ISOname"/>
600
- </fo:block>
601
- <fo:block space-before="28pt">
610
+ <fo:block text-align="left" margin-top="2mm">
611
+
602
612
  <xsl:if test="$copyrightAbbrIEEE != ''">
603
- <xsl:attribute name="space-before">14pt</xsl:attribute>
613
+ <xsl:attribute name="margin-top">0</xsl:attribute>
604
614
  </xsl:if>
605
- <fo:inline font-size="9pt">©</fo:inline><xsl:value-of select="concat(' ', $copyrightAbbr, ' ', $copyrightYear)"/>
615
+
616
+ <!-- <xsl:variable name="docid" select="substring-before(/iso:iso-standard/iso:bibdata/iso:docidentifier, ' ')"/>
617
+ <xsl:for-each select="xalan:tokenize($docid, '/')"> -->
618
+ <xsl:variable name="content-height">
619
+ <xsl:choose>
620
+ <xsl:when test="$copyrightAbbrIEEE != ''">13.9</xsl:when>
621
+ <xsl:otherwise>19</xsl:otherwise>
622
+ </xsl:choose>
623
+ </xsl:variable>
624
+
625
+ <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:copyright/iso:owner/iso:organization/iso:abbreviation[. != 'IEEE']">
626
+ <xsl:choose>
627
+ <xsl:when test=". = 'ISO'">
628
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-ISO-Logo))}" content-height="{$content-height}mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
629
+ </xsl:when>
630
+ <xsl:when test=". = 'IEC'">
631
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-IEC-Logo))}" content-height="{$content-height}mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
632
+ </xsl:when>
633
+ <xsl:otherwise/>
634
+ </xsl:choose>
635
+ <xsl:if test="position() != last()">
636
+ <fo:inline padding-right="1mm"> </fo:inline>
637
+ </xsl:if>
638
+ </xsl:for-each>
606
639
  <xsl:if test="$copyrightAbbrIEEE != ''">
607
- <xsl:value-of select="$linebreak"/>
608
- <fo:inline font-size="9pt">©</fo:inline>
609
- <xsl:value-of select="concat(' ', $copyrightAbbrIEEE, ' ', $copyrightYear)"/>
640
+ <fo:block>
641
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-IEEE-Logo))}" content-height="11mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
642
+ </fo:block>
610
643
  </xsl:if>
611
644
  </fo:block>
612
- </fo:block>
613
- </fo:table-cell>
614
- </fo:table-row>
615
- </fo:table-body>
616
- </fo:table>
645
+ </fo:table-cell>
646
+ <fo:table-cell display-align="center">
647
+ <fo:block text-align="right">
648
+ <!-- Reference number -->
649
+ <fo:block>
650
+ <xsl:call-template name="getLocalizedString">
651
+ <xsl:with-param name="key">reference_number</xsl:with-param>
652
+ </xsl:call-template>
653
+ </fo:block>
654
+ <fo:block>
655
+ <xsl:value-of select="$ISOname"/>
656
+ </fo:block>
657
+ <fo:block space-before="28pt">
658
+ <xsl:if test="$copyrightAbbrIEEE != ''">
659
+ <xsl:attribute name="space-before">14pt</xsl:attribute>
660
+ </xsl:if>
661
+ <fo:inline font-size="9pt">©</fo:inline><xsl:value-of select="concat(' ', $copyrightAbbr, ' ', $copyrightYear)"/>
662
+ <xsl:if test="$copyrightAbbrIEEE != ''">
663
+ <xsl:value-of select="$linebreak"/>
664
+ <fo:inline font-size="9pt">©</fo:inline>
665
+ <xsl:value-of select="concat(' ', $copyrightAbbrIEEE, ' ', $copyrightYear)"/>
666
+ </xsl:if>
667
+ </fo:block>
668
+ </fo:block>
669
+ </fo:table-cell>
670
+ </fo:table-row>
671
+ </fo:table-body>
672
+ </fo:table>
673
+ </fo:block>
674
+ </fo:table-cell>
675
+ </fo:table-row>
676
+ </fo:table-body>
677
+ </fo:table>
678
+ </fo:static-content>
679
+
680
+ <xsl:choose>
681
+ <!-- COVER PAGE for DIS document only -->
682
+ <xsl:when test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
683
+ <fo:flow flow-name="xsl-region-body">
684
+ <fo:block-container>
685
+ <fo:block margin-top="-1mm" font-size="20pt" text-align="right">
686
+ <xsl:value-of select="$stage-fullname-uppercased"/>
687
+ </fo:block>
688
+ <fo:block font-size="20pt" font-weight="bold" text-align="right">
689
+ <xsl:value-of select="$docidentifierISO"/>
617
690
  </fo:block>
618
- </fo:table-cell>
619
- </fo:table-row>
620
- </fo:table-body>
621
- </fo:table>
622
- </fo:static-content>
623
691
 
624
- <xsl:choose>
625
- <!-- COVER PAGE for DIS document only -->
626
- <xsl:when test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
627
- <fo:flow flow-name="xsl-region-body">
628
- <fo:block-container>
629
- <fo:block margin-top="-1mm" font-size="20pt" text-align="right">
630
- <xsl:value-of select="$stage-fullname-uppercased"/>
631
- </fo:block>
632
- <fo:block font-size="20pt" font-weight="bold" text-align="right">
633
- <xsl:value-of select="$docidentifierISO"/>
634
- </fo:block>
692
+ <fo:table table-layout="fixed" width="100%" margin-top="18mm">
693
+ <fo:table-column column-width="59.5mm"/>
694
+ <fo:table-column column-width="52mm"/>
695
+ <fo:table-column column-width="59mm"/>
696
+ <fo:table-body>
697
+ <fo:table-row>
698
+ <fo:table-cell>
699
+ <fo:block> </fo:block>
700
+ </fo:table-cell>
701
+ <fo:table-cell>
702
+ <fo:block margin-bottom="3mm">
703
+ <xsl:copy-of select="$editorialgroup"/>
704
+ </fo:block>
705
+ </fo:table-cell>
706
+ <fo:table-cell>
707
+ <fo:block margin-bottom="3mm">
708
+ <xsl:copy-of select="$secretariat"/>
709
+ </fo:block>
710
+ </fo:table-cell>
711
+ </fo:table-row>
712
+ <fo:table-row>
713
+ <fo:table-cell>
714
+ <fo:block> </fo:block>
715
+ </fo:table-cell>
716
+ <fo:table-cell>
717
+ <fo:block>Voting begins on:</fo:block>
718
+ </fo:table-cell>
719
+ <fo:table-cell>
720
+ <fo:block>Voting terminates on:</fo:block>
721
+ </fo:table-cell>
722
+ </fo:table-row>
723
+ <fo:table-row>
724
+ <fo:table-cell>
725
+ <fo:block> </fo:block>
726
+ </fo:table-cell>
727
+ <fo:table-cell>
728
+ <fo:block font-weight="bold">
729
+ <xsl:choose>
730
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on">
731
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on"/>
732
+ </xsl:when>
733
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
734
+ </xsl:choose>
735
+ </fo:block>
736
+ </fo:table-cell>
737
+ <fo:table-cell>
738
+ <fo:block font-weight="bold">
739
+ <xsl:choose>
740
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on">
741
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on"/>
742
+ </xsl:when>
743
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
744
+ </xsl:choose>
745
+ </fo:block>
746
+ </fo:table-cell>
747
+ </fo:table-row>
748
+ </fo:table-body>
749
+ </fo:table>
635
750
 
636
- <fo:table table-layout="fixed" width="100%" margin-top="18mm">
637
- <fo:table-column column-width="59.5mm"/>
638
- <fo:table-column column-width="52mm"/>
639
- <fo:table-column column-width="59mm"/>
640
- <fo:table-body>
641
- <fo:table-row>
642
- <fo:table-cell>
643
- <fo:block> </fo:block>
644
- </fo:table-cell>
645
- <fo:table-cell>
646
- <fo:block margin-bottom="3mm">
647
- <xsl:copy-of select="$editorialgroup"/>
648
- </fo:block>
649
- </fo:table-cell>
650
- <fo:table-cell>
651
- <fo:block margin-bottom="3mm">
652
- <xsl:copy-of select="$secretariat"/>
653
- </fo:block>
654
- </fo:table-cell>
655
- </fo:table-row>
656
- <fo:table-row>
657
- <fo:table-cell>
658
- <fo:block> </fo:block>
659
- </fo:table-cell>
660
- <fo:table-cell>
661
- <fo:block>Voting begins on:</fo:block>
662
- </fo:table-cell>
663
- <fo:table-cell>
664
- <fo:block>Voting terminates on:</fo:block>
665
- </fo:table-cell>
666
- </fo:table-row>
667
- <fo:table-row>
668
- <fo:table-cell>
669
- <fo:block> </fo:block>
670
- </fo:table-cell>
671
- <fo:table-cell>
672
- <fo:block font-weight="bold">
673
- <xsl:choose>
674
- <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on">
675
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on"/>
676
- </xsl:when>
677
- <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
678
- </xsl:choose>
679
- </fo:block>
680
- </fo:table-cell>
681
- <fo:table-cell>
682
- <fo:block font-weight="bold">
683
- <xsl:choose>
684
- <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on">
685
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on"/>
686
- </xsl:when>
687
- <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
688
- </xsl:choose>
689
- </fo:block>
690
- </fo:table-cell>
691
- </fo:table-row>
692
- </fo:table-body>
693
- </fo:table>
751
+ <fo:block-container line-height="1.1" margin-top="3mm">
752
+ <xsl:call-template name="insertTripleLine"/>
753
+ <fo:block margin-right="5mm">
754
+ <fo:block font-size="18pt" font-weight="bold" margin-top="6pt" role="H1">
694
755
 
695
- <fo:block-container line-height="1.1" margin-top="3mm">
696
- <xsl:call-template name="insertTripleLine"/>
697
- <fo:block margin-right="5mm">
698
- <fo:block font-size="18pt" font-weight="bold" margin-top="6pt" role="H1">
756
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
699
757
 
700
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
758
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
701
759
 
702
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
760
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
761
+ <xsl:with-param name="isMainLang">true</xsl:with-param>
762
+ </xsl:apply-templates>
703
763
 
704
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
705
- <xsl:with-param name="isMainLang">true</xsl:with-param>
706
- </xsl:apply-templates>
764
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
765
+ <xsl:with-param name="isMainLang">true</xsl:with-param>
766
+ </xsl:apply-templates>
707
767
 
708
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
709
- <xsl:with-param name="isMainLang">true</xsl:with-param>
710
- </xsl:apply-templates>
768
+ </fo:block>
711
769
 
712
- </fo:block>
770
+ <xsl:for-each select="xalan:nodeset($lang_other)/lang">
771
+ <xsl:variable name="lang_other" select="."/>
713
772
 
714
- <xsl:for-each select="xalan:nodeset($lang_other)/lang">
715
- <xsl:variable name="lang_other" select="."/>
773
+ <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
774
+ <fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
716
775
 
717
- <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
718
- <fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
776
+ <!-- Example: title-intro fr -->
777
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
719
778
 
720
- <!-- Example: title-intro fr -->
721
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
779
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
722
780
 
723
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
781
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
782
+ <xsl:with-param name="curr_lang" select="$lang_other"/>
783
+ </xsl:apply-templates>
724
784
 
725
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
726
- <xsl:with-param name="curr_lang" select="$lang_other"/>
727
- </xsl:apply-templates>
785
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-amd']">
786
+ <xsl:with-param name="curr_lang" select="$lang_other"/>
787
+ </xsl:apply-templates>
728
788
 
729
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-amd']">
730
- <xsl:with-param name="curr_lang" select="$lang_other"/>
731
- </xsl:apply-templates>
789
+ </fo:block>
790
+ </xsl:for-each>
791
+ </fo:block>
732
792
 
733
- </fo:block>
734
- </xsl:for-each>
735
- </fo:block>
793
+ <fo:block margin-top="10mm">
794
+ <xsl:copy-of select="$ics"/>
795
+ </fo:block>
736
796
 
737
- <fo:block margin-top="10mm">
738
- <xsl:copy-of select="$ics"/>
739
- </fo:block>
797
+ </fo:block-container>
740
798
 
741
799
  </fo:block-container>
800
+ </fo:flow>
742
801
 
743
- </fo:block-container>
744
- </fo:flow>
745
-
746
- </xsl:when> <!-- END: $stage-abbreviation = 'DIS' 'DAmd' 'DAM'-->
747
- <xsl:otherwise>
748
-
749
- <!-- COVER PAGE for all documents except DIS, DAmd and DAM -->
750
- <fo:flow flow-name="xsl-region-body">
751
- <fo:block-container>
752
- <fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1"> <!-- margin-bottom="35mm" -->
753
- <fo:table-column column-width="59.5mm"/>
754
- <fo:table-column column-width="67.5mm"/>
755
- <fo:table-column column-width="45.5mm"/>
756
- <fo:table-body>
757
- <fo:table-row>
758
- <fo:table-cell>
759
- <fo:block font-size="18pt">
760
-
761
- <xsl:value-of select="translate($stagename-header-coverpage, ' ', $linebreak)"/>
762
-
763
- <!-- if there is iteration number, then print it -->
764
- <xsl:variable name="iteration" select="number(/iso:iso-standard/iso:bibdata/iso:status/iso:iteration)"/>
765
-
766
- <xsl:if test="number($iteration) = $iteration and ($stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD')">
767
- <xsl:text> </xsl:text><xsl:value-of select="$iteration"/>
768
- </xsl:if>
769
- <!-- <xsl:if test="$stage-name = 'draft'">DRAFT</xsl:if>
770
- <xsl:if test="$stage-name = 'final-draft'">FINAL<xsl:value-of select="$linebreak"/>DRAFT</xsl:if> -->
771
- </fo:block>
772
- </fo:table-cell>
802
+ </xsl:when> <!-- END: $stage-abbreviation = 'DIS' 'DAmd' 'DAM'-->
803
+ <xsl:otherwise>
773
804
 
774
- <xsl:variable name="lastWord">
775
- <xsl:call-template name="substring-after-last">
776
- <xsl:with-param name="value" select="$doctype_uppercased"/>
777
- <xsl:with-param name="delimiter" select="' '"/>
778
- </xsl:call-template>
779
- </xsl:variable>
780
- <xsl:variable name="font-size"><xsl:if test="string-length($lastWord) &gt;= 12">90%</xsl:if></xsl:variable> <!-- to prevent overlapping 'NORME INTERNATIONALE' to number -->
805
+ <!-- COVER PAGE for all documents except DIS, DAmd and DAM -->
806
+ <fo:flow flow-name="xsl-region-body">
807
+ <fo:block-container>
808
+ <fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1"> <!-- margin-bottom="35mm" -->
809
+ <fo:table-column column-width="59.5mm"/>
810
+ <fo:table-column column-width="67.5mm"/>
811
+ <fo:table-column column-width="45.5mm"/>
812
+ <fo:table-body>
813
+ <fo:table-row>
814
+ <fo:table-cell>
815
+ <fo:block font-size="18pt">
816
+
817
+ <xsl:value-of select="translate($stagename-header-coverpage, ' ', $linebreak)"/>
818
+
819
+ <!-- if there is iteration number, then print it -->
820
+ <xsl:variable name="iteration" select="number(/iso:iso-standard/iso:bibdata/iso:status/iso:iteration)"/>
821
+
822
+ <xsl:if test="number($iteration) = $iteration and ($stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD')">
823
+ <xsl:text> </xsl:text><xsl:value-of select="$iteration"/>
824
+ </xsl:if>
825
+ <!-- <xsl:if test="$stage-name = 'draft'">DRAFT</xsl:if>
826
+ <xsl:if test="$stage-name = 'final-draft'">FINAL<xsl:value-of select="$linebreak"/>DRAFT</xsl:if> -->
827
+ </fo:block>
828
+ </fo:table-cell>
781
829
 
782
- <fo:table-cell>
783
- <fo:block text-align="left">
784
- <xsl:choose>
785
- <xsl:when test="$stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'"><xsl:value-of select="$doctype_uppercased"/></xsl:when>
786
- <xsl:when test="$doctype = 'amendment'">
787
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(/iso:iso-standard/iso:bibdata/iso:ext/iso:updates-document-type,'-',' ')))"/>
788
- </xsl:when>
789
- <xsl:otherwise>
790
- <xsl:if test="$font-size != ''">
791
- <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
792
- </xsl:if>
793
- <xsl:value-of select="$doctype_uppercased"/>
794
- </xsl:otherwise>
795
- </xsl:choose>
796
- </fo:block>
797
- </fo:table-cell>
798
- <fo:table-cell>
799
- <fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
800
- <xsl:if test="$font-size != ''">
801
- <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
802
- </xsl:if>
803
- <xsl:value-of select="$docidentifierISO"/>
804
- </fo:block>
805
- </fo:table-cell>
806
- </fo:table-row>
807
- <fo:table-row height="25mm">
808
- <fo:table-cell number-columns-spanned="3" font-size="10pt" line-height="1.2">
809
- <fo:block text-align="right">
810
- <xsl:if test="$stage-abbreviation = 'PRF' or $stage-abbreviation = 'IS' or $stage-abbreviation = 'D' or $stage-abbreviation = 'published'">
811
- <xsl:call-template name="printEdition"/>
812
- </xsl:if>
813
- <xsl:choose>
814
- <xsl:when test="($stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FDIS') and /iso:iso-standard/iso:bibdata/iso:version/iso:revision-date">
815
- <xsl:value-of select="$linebreak"/>
816
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/>
817
- </xsl:when>
818
- <xsl:when test="$stage-abbreviation = 'IS' and /iso:iso-standard/iso:bibdata/iso:date[@type = 'published']">
819
- <xsl:value-of select="$linebreak"/>
820
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'published']"/>
821
- </xsl:when>
822
- <xsl:when test="($stage-abbreviation = 'IS' or $stage-abbreviation = 'D') and /iso:iso-standard/iso:bibdata/iso:date[@type = 'created']">
823
- <xsl:value-of select="$linebreak"/>
824
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'created']"/>
825
- </xsl:when>
826
- <xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
827
- <xsl:value-of select="$linebreak"/>
828
- <xsl:value-of select="substring(/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date,1, 7)"/>
829
- </xsl:when>
830
- </xsl:choose>
831
- </fo:block>
832
- <!-- <xsl:value-of select="$linebreak"/>
833
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
834
- <xsl:if test="$doctype = 'amendment' and not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
835
- <fo:block text-align="right" margin-right="0.5mm">
836
- <fo:block font-weight="bold" margin-top="4pt" role="H1">
837
- <xsl:value-of select="$doctype_uppercased"/>
838
- <xsl:text> </xsl:text>
839
- <xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
840
- <xsl:if test="normalize-space($amendment-number) != ''">
841
- <xsl:value-of select="$amendment-number"/><xsl:text> </xsl:text>
842
- </xsl:if>
843
- </fo:block>
844
- <fo:block>
845
- <xsl:if test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']">
846
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']"/>
847
- </xsl:if>
830
+ <xsl:variable name="lastWord">
831
+ <xsl:call-template name="substring-after-last">
832
+ <xsl:with-param name="value" select="$doctype_uppercased"/>
833
+ <xsl:with-param name="delimiter" select="' '"/>
834
+ </xsl:call-template>
835
+ </xsl:variable>
836
+ <xsl:variable name="font-size"><xsl:if test="string-length($lastWord) &gt;= 12">90%</xsl:if></xsl:variable> <!-- to prevent overlapping 'NORME INTERNATIONALE' to number -->
837
+
838
+ <fo:table-cell>
839
+ <fo:block text-align="left">
840
+ <xsl:choose>
841
+ <xsl:when test="$stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'"><xsl:value-of select="$doctype_uppercased"/></xsl:when>
842
+ <xsl:when test="$doctype = 'amendment'">
843
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(/iso:iso-standard/iso:bibdata/iso:ext/iso:updates-document-type,'-',' ')))"/>
844
+ </xsl:when>
845
+ <xsl:otherwise>
846
+ <xsl:if test="$font-size != ''">
847
+ <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
848
+ </xsl:if>
849
+ <xsl:value-of select="$doctype_uppercased"/>
850
+ </xsl:otherwise>
851
+ </xsl:choose>
852
+ </fo:block>
853
+ </fo:table-cell>
854
+ <fo:table-cell>
855
+ <fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
856
+ <xsl:if test="$font-size != ''">
857
+ <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
858
+ </xsl:if>
859
+ <xsl:value-of select="$docidentifierISO"/>
860
+ </fo:block>
861
+ </fo:table-cell>
862
+ </fo:table-row>
863
+ <fo:table-row height="25mm">
864
+ <fo:table-cell number-columns-spanned="3" font-size="10pt" line-height="1.2">
865
+ <fo:block text-align="right">
866
+ <xsl:if test="$stage-abbreviation = 'PRF' or $stage-abbreviation = 'IS' or $stage-abbreviation = 'D' or $stage-abbreviation = 'published'">
867
+ <xsl:call-template name="printEdition"/>
868
+ </xsl:if>
869
+ <xsl:choose>
870
+ <xsl:when test="($stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FDIS') and /iso:iso-standard/iso:bibdata/iso:version/iso:revision-date">
871
+ <xsl:value-of select="$linebreak"/>
872
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/>
873
+ </xsl:when>
874
+ <xsl:when test="$stage-abbreviation = 'IS' and /iso:iso-standard/iso:bibdata/iso:date[@type = 'published']">
875
+ <xsl:value-of select="$linebreak"/>
876
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'published']"/>
877
+ </xsl:when>
878
+ <xsl:when test="($stage-abbreviation = 'IS' or $stage-abbreviation = 'D') and /iso:iso-standard/iso:bibdata/iso:date[@type = 'created']">
879
+ <xsl:value-of select="$linebreak"/>
880
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'created']"/>
881
+ </xsl:when>
882
+ <xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
883
+ <xsl:value-of select="$linebreak"/>
884
+ <xsl:value-of select="substring(/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date,1, 7)"/>
885
+ </xsl:when>
886
+ </xsl:choose>
887
+ </fo:block>
888
+ <!-- <xsl:value-of select="$linebreak"/>
889
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
890
+ <xsl:if test="$doctype = 'amendment' and not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
891
+ <fo:block text-align="right" margin-right="0.5mm">
892
+ <fo:block font-weight="bold" margin-top="4pt" role="H1">
893
+ <xsl:value-of select="$doctype_uppercased"/>
894
+ <xsl:text> </xsl:text>
895
+ <xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
896
+ <xsl:if test="normalize-space($amendment-number) != ''">
897
+ <xsl:value-of select="$amendment-number"/><xsl:text> </xsl:text>
898
+ </xsl:if>
899
+ </fo:block>
900
+ <fo:block>
901
+ <xsl:if test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']">
902
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']"/>
903
+ </xsl:if>
904
+ </fo:block>
848
905
  </fo:block>
906
+ </xsl:if>
907
+ </fo:table-cell>
908
+ </fo:table-row>
909
+ <fo:table-row height="17mm">
910
+ <fo:table-cell><fo:block/></fo:table-cell>
911
+ <fo:table-cell number-columns-spanned="2" font-size="10pt" line-height="1.2" display-align="center">
912
+ <fo:block>
913
+ <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FDIS'">
914
+ <fo:table table-layout="fixed" width="100%">
915
+ <fo:table-column column-width="50%"/>
916
+ <fo:table-column column-width="50%"/>
917
+ <fo:table-body>
918
+ <fo:table-row>
919
+ <fo:table-cell>
920
+ <fo:block>
921
+ <xsl:copy-of select="$editorialgroup"/>
922
+ </fo:block>
923
+ </fo:table-cell>
924
+ <fo:table-cell>
925
+ <fo:block>
926
+ <xsl:copy-of select="$secretariat"/>
927
+ </fo:block>
928
+ </fo:table-cell>
929
+ </fo:table-row>
930
+ </fo:table-body>
931
+ </fo:table>
932
+ </xsl:if>
849
933
  </fo:block>
850
- </xsl:if>
851
- </fo:table-cell>
852
- </fo:table-row>
853
- <fo:table-row height="17mm">
854
- <fo:table-cell><fo:block/></fo:table-cell>
855
- <fo:table-cell number-columns-spanned="2" font-size="10pt" line-height="1.2" display-align="center">
856
- <fo:block>
857
- <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FDIS'">
858
- <fo:table table-layout="fixed" width="100%">
859
- <fo:table-column column-width="50%"/>
860
- <fo:table-column column-width="50%"/>
861
- <fo:table-body>
862
- <fo:table-row>
863
- <fo:table-cell>
864
- <fo:block>
865
- <xsl:copy-of select="$editorialgroup"/>
934
+ </fo:table-cell>
935
+ </fo:table-row>
936
+
937
+ </fo:table-body>
938
+ </fo:table>
939
+
940
+ <fo:table table-layout="fixed" width="100%">
941
+ <fo:table-column column-width="52mm"/>
942
+ <fo:table-column column-width="7.5mm"/>
943
+ <fo:table-column column-width="112.5mm"/>
944
+ <fo:table-body>
945
+ <fo:table-row> <!-- border="1pt solid black" height="150mm" -->
946
+ <fo:table-cell font-size="11pt">
947
+ <fo:block>
948
+ <xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'">
949
+ <fo:block-container border="0.5mm solid black" width="51mm">
950
+ <fo:block margin="2mm">
951
+ <fo:block margin-bottom="8pt"><xsl:copy-of select="$editorialgroup"/></fo:block>
952
+ <fo:block margin-bottom="6pt"><xsl:copy-of select="$secretariat"/></fo:block>
953
+ <fo:block margin-bottom="6pt">Voting begins on:<xsl:value-of select="$linebreak"/>
954
+ <fo:inline font-weight="bold">
955
+ <xsl:choose>
956
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on">
957
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on"/>
958
+ </xsl:when>
959
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
960
+ </xsl:choose>
961
+ </fo:inline>
866
962
  </fo:block>
867
- </fo:table-cell>
868
- <fo:table-cell>
869
- <fo:block>
870
- <xsl:copy-of select="$secretariat"/>
963
+ <fo:block>Voting terminates on:<xsl:value-of select="$linebreak"/>
964
+ <fo:inline font-weight="bold">
965
+ <xsl:choose>
966
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on">
967
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on"/>
968
+ </xsl:when>
969
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
970
+ </xsl:choose>
971
+ </fo:inline>
871
972
  </fo:block>
872
- </fo:table-cell>
873
- </fo:table-row>
874
- </fo:table-body>
875
- </fo:table>
876
- </xsl:if>
877
- </fo:block>
878
- </fo:table-cell>
879
- </fo:table-row>
973
+ </fo:block>
974
+ </fo:block-container>
975
+ </xsl:if>
976
+ </fo:block>
977
+ </fo:table-cell>
978
+ <fo:table-cell>
979
+ <fo:block> </fo:block>
980
+ </fo:table-cell>
981
+ <fo:table-cell>
982
+ <xsl:call-template name="insertTripleLine"/>
983
+ <fo:block-container line-height="1.1">
984
+ <fo:block margin-right="3.5mm">
985
+ <fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
880
986
 
881
- </fo:table-body>
882
- </fo:table>
987
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
883
988
 
884
- <fo:table table-layout="fixed" width="100%">
885
- <fo:table-column column-width="52mm"/>
886
- <fo:table-column column-width="7.5mm"/>
887
- <fo:table-column column-width="112.5mm"/>
888
- <fo:table-body>
889
- <fo:table-row> <!-- border="1pt solid black" height="150mm" -->
890
- <fo:table-cell font-size="11pt">
891
- <fo:block>
892
- <xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'">
893
- <fo:block-container border="0.5mm solid black" width="51mm">
894
- <fo:block margin="2mm">
895
- <fo:block margin-bottom="8pt"><xsl:copy-of select="$editorialgroup"/></fo:block>
896
- <fo:block margin-bottom="6pt"><xsl:copy-of select="$secretariat"/></fo:block>
897
- <fo:block margin-bottom="6pt">Voting begins on:<xsl:value-of select="$linebreak"/>
898
- <fo:inline font-weight="bold">
899
- <xsl:choose>
900
- <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on">
901
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on"/>
902
- </xsl:when>
903
- <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
904
- </xsl:choose>
905
- </fo:inline>
906
- </fo:block>
907
- <fo:block>Voting terminates on:<xsl:value-of select="$linebreak"/>
908
- <fo:inline font-weight="bold">
909
- <xsl:choose>
910
- <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on">
911
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on"/>
912
- </xsl:when>
913
- <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
914
- </xsl:choose>
915
- </fo:inline>
916
- </fo:block>
917
- </fo:block>
918
- </fo:block-container>
919
- </xsl:if>
920
- </fo:block>
921
- </fo:table-cell>
922
- <fo:table-cell>
923
- <fo:block> </fo:block>
924
- </fo:table-cell>
925
- <fo:table-cell>
926
- <xsl:call-template name="insertTripleLine"/>
927
- <fo:block-container line-height="1.1">
928
- <fo:block margin-right="3.5mm">
929
- <fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
989
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
930
990
 
931
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
991
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
992
+ <xsl:with-param name="isMainLang">true</xsl:with-param>
993
+ </xsl:apply-templates>
932
994
 
933
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
995
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
996
+ <xsl:with-param name="isMainLang">true</xsl:with-param>
997
+ </xsl:apply-templates>
934
998
 
935
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
936
- <xsl:with-param name="isMainLang">true</xsl:with-param>
937
- </xsl:apply-templates>
938
-
939
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
940
- <xsl:with-param name="isMainLang">true</xsl:with-param>
941
- </xsl:apply-templates>
999
+ </fo:block>
942
1000
 
943
- </fo:block>
1001
+ <xsl:if test="not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
1002
+ <xsl:for-each select="xalan:nodeset($lang_other)/lang">
1003
+ <xsl:variable name="lang_other" select="."/>
944
1004
 
945
- <xsl:if test="not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
946
- <xsl:for-each select="xalan:nodeset($lang_other)/lang">
947
- <xsl:variable name="lang_other" select="."/>
1005
+ <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
1006
+ <fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
948
1007
 
949
- <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
950
- <fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
1008
+ <!-- Example: title-intro fr -->
1009
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
951
1010
 
952
- <!-- Example: title-intro fr -->
953
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
1011
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
954
1012
 
955
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
1013
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
1014
+ <xsl:with-param name="curr_lang" select="$lang_other"/>
1015
+ </xsl:apply-templates>
956
1016
 
957
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
958
- <xsl:with-param name="curr_lang" select="$lang_other"/>
959
- </xsl:apply-templates>
1017
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-amd']">
1018
+ <xsl:with-param name="curr_lang" select="$lang_other"/>
1019
+ </xsl:apply-templates>
960
1020
 
961
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-amd']">
962
- <xsl:with-param name="curr_lang" select="$lang_other"/>
963
- </xsl:apply-templates>
1021
+ </fo:block>
1022
+ </xsl:for-each>
1023
+ </xsl:if>
964
1024
 
1025
+ <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FDIS'">
1026
+ <fo:block margin-top="10mm">
1027
+ <xsl:copy-of select="$ics"/>
965
1028
  </fo:block>
966
- </xsl:for-each>
967
- </xsl:if>
968
-
969
- <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FDIS'">
970
- <fo:block margin-top="10mm">
971
- <xsl:copy-of select="$ics"/>
972
- </fo:block>
973
- </xsl:if>
1029
+ </xsl:if>
974
1030
 
975
- </fo:block>
976
- </fo:block-container>
977
- </fo:table-cell>
978
- </fo:table-row>
979
- </fo:table-body>
980
- </fo:table>
981
- </fo:block-container>
982
- <fo:block-container position="absolute" left="60mm" top="222mm" height="25mm" display-align="after">
983
- <fo:block margin-bottom="2mm">
984
- <xsl:if test="$stage-abbreviation = 'PRF'">
985
- <fo:block font-size="36pt" font-weight="bold" margin-left="1mm">
986
- <xsl:call-template name="add-letter-spacing">
987
- <xsl:with-param name="text" select="$proof-text"/>
988
- <xsl:with-param name="letter-spacing" select="0.65"/>
989
- </xsl:call-template>
990
- </fo:block>
991
- </xsl:if>
992
- </fo:block>
993
- </fo:block-container>
994
- </fo:flow>
995
- </xsl:otherwise>
996
- </xsl:choose>
1031
+ </fo:block>
1032
+ </fo:block-container>
1033
+ </fo:table-cell>
1034
+ </fo:table-row>
1035
+ </fo:table-body>
1036
+ </fo:table>
1037
+ </fo:block-container>
1038
+ <fo:block-container position="absolute" left="60mm" top="222mm" height="25mm" display-align="after">
1039
+ <fo:block margin-bottom="2mm">
1040
+ <xsl:if test="$stage-abbreviation = 'PRF'">
1041
+ <fo:block font-size="36pt" font-weight="bold" margin-left="1mm">
1042
+ <xsl:call-template name="add-letter-spacing">
1043
+ <xsl:with-param name="text" select="$proof-text"/>
1044
+ <xsl:with-param name="letter-spacing" select="0.65"/>
1045
+ </xsl:call-template>
1046
+ </fo:block>
1047
+ </xsl:if>
1048
+ </fo:block>
1049
+ </fo:block-container>
1050
+ </fo:flow>
1051
+ </xsl:otherwise>
1052
+ </xsl:choose>
997
1053
 
998
- </fo:page-sequence>
999
- </xsl:when>
1054
+ </fo:page-sequence>
1055
+ </xsl:when>
1000
1056
 
1001
- <xsl:when test="$isPublished = 'true'">
1002
- <fo:page-sequence master-reference="cover-page-published" force-page-count="no-force">
1003
- <fo:static-content flow-name="cover-page-footer" font-size="10pt">
1004
- <xsl:call-template name="insertTripleLine"/>
1005
- <fo:table table-layout="fixed" width="100%" margin-bottom="3mm">
1006
- <fo:table-column column-width="50%"/>
1007
- <fo:table-column column-width="50%"/>
1008
- <fo:table-body>
1009
- <fo:table-row height="32mm">
1010
- <fo:table-cell display-align="center">
1011
- <fo:block text-align="left">
1012
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-ISO-Logo))}" width="21mm" content-height="21mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
1013
- </fo:block>
1014
- </fo:table-cell>
1015
- <fo:table-cell display-align="center">
1016
- <fo:block text-align="right">
1017
- <fo:block>
1018
- <xsl:call-template name="getLocalizedString">
1019
- <xsl:with-param name="key">reference_number</xsl:with-param>
1020
- </xsl:call-template>
1021
- </fo:block>
1022
- <fo:block><xsl:value-of select="$ISOname"/></fo:block>
1023
- <fo:block> </fo:block>
1024
- <fo:block> </fo:block>
1025
- <fo:block><fo:inline font-size="9pt">©</fo:inline><xsl:value-of select="concat(' ', $copyrightAbbr, ' ', $copyrightYear)"/>
1026
- <xsl:if test="$copyrightAbbrIEEE != ''">
1027
- <xsl:value-of select="$linebreak"/>
1028
- <fo:inline font-size="9pt">©</fo:inline>
1029
- <xsl:value-of select="concat(' ', $copyrightAbbrIEEE, ' ', $copyrightYear)"/>
1030
- </xsl:if>
1031
- </fo:block>
1032
- </fo:block>
1033
- </fo:table-cell>
1034
- </fo:table-row>
1035
- </fo:table-body>
1036
- </fo:table>
1037
- </fo:static-content>
1038
- <fo:flow flow-name="xsl-region-body">
1039
- <fo:block-container>
1040
- <fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1" margin-bottom="35mm">
1041
- <fo:table-column column-width="60%"/>
1042
- <fo:table-column column-width="40%"/>
1057
+ <xsl:when test="$isPublished = 'true'">
1058
+ <fo:page-sequence master-reference="cover-page-published" force-page-count="no-force">
1059
+ <fo:static-content flow-name="cover-page-footer" font-size="10pt">
1060
+ <xsl:call-template name="insertTripleLine"/>
1061
+ <fo:table table-layout="fixed" width="100%" margin-bottom="3mm">
1062
+ <fo:table-column column-width="50%"/>
1063
+ <fo:table-column column-width="50%"/>
1043
1064
  <fo:table-body>
1044
- <fo:table-row>
1045
- <fo:table-cell>
1065
+ <fo:table-row height="32mm">
1066
+ <fo:table-cell display-align="center">
1046
1067
  <fo:block text-align="left">
1047
- <xsl:value-of select="$doctype_uppercased"/>
1048
- </fo:block>
1049
- </fo:table-cell>
1050
- <fo:table-cell>
1051
- <fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
1052
- <xsl:value-of select="$docidentifierISO"/>
1068
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-ISO-Logo))}" width="21mm" content-height="21mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
1053
1069
  </fo:block>
1054
1070
  </fo:table-cell>
1055
- </fo:table-row>
1056
- <fo:table-row>
1057
- <fo:table-cell number-columns-spanned="2" font-size="10pt" line-height="1.2">
1071
+ <fo:table-cell display-align="center">
1058
1072
  <fo:block text-align="right">
1059
- <xsl:call-template name="printEdition"/>
1060
- <xsl:value-of select="$linebreak"/>
1061
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/></fo:block>
1073
+ <fo:block>
1074
+ <xsl:call-template name="getLocalizedString">
1075
+ <xsl:with-param name="key">reference_number</xsl:with-param>
1076
+ </xsl:call-template>
1077
+ </fo:block>
1078
+ <fo:block><xsl:value-of select="$ISOname"/></fo:block>
1079
+ <fo:block> </fo:block>
1080
+ <fo:block> </fo:block>
1081
+ <fo:block><fo:inline font-size="9pt">©</fo:inline><xsl:value-of select="concat(' ', $copyrightAbbr, ' ', $copyrightYear)"/>
1082
+ <xsl:if test="$copyrightAbbrIEEE != ''">
1083
+ <xsl:value-of select="$linebreak"/>
1084
+ <fo:inline font-size="9pt">©</fo:inline>
1085
+ <xsl:value-of select="concat(' ', $copyrightAbbrIEEE, ' ', $copyrightYear)"/>
1086
+ </xsl:if>
1087
+ </fo:block>
1088
+ </fo:block>
1062
1089
  </fo:table-cell>
1063
1090
  </fo:table-row>
1064
1091
  </fo:table-body>
1065
1092
  </fo:table>
1093
+ </fo:static-content>
1094
+ <fo:flow flow-name="xsl-region-body">
1095
+ <fo:block-container>
1096
+ <fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1" margin-bottom="35mm">
1097
+ <fo:table-column column-width="60%"/>
1098
+ <fo:table-column column-width="40%"/>
1099
+ <fo:table-body>
1100
+ <fo:table-row>
1101
+ <fo:table-cell>
1102
+ <fo:block text-align="left">
1103
+ <xsl:value-of select="$doctype_uppercased"/>
1104
+ </fo:block>
1105
+ </fo:table-cell>
1106
+ <fo:table-cell>
1107
+ <fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
1108
+ <xsl:value-of select="$docidentifierISO"/>
1109
+ </fo:block>
1110
+ </fo:table-cell>
1111
+ </fo:table-row>
1112
+ <fo:table-row>
1113
+ <fo:table-cell number-columns-spanned="2" font-size="10pt" line-height="1.2">
1114
+ <fo:block text-align="right">
1115
+ <xsl:call-template name="printEdition"/>
1116
+ <xsl:value-of select="$linebreak"/>
1117
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/></fo:block>
1118
+ </fo:table-cell>
1119
+ </fo:table-row>
1120
+ </fo:table-body>
1121
+ </fo:table>
1066
1122
 
1067
- <xsl:call-template name="insertTripleLine"/>
1068
- <fo:block-container line-height="1.1">
1069
- <fo:block margin-right="40mm">
1070
- <fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
1123
+ <xsl:call-template name="insertTripleLine"/>
1124
+ <fo:block-container line-height="1.1">
1125
+ <fo:block margin-right="40mm">
1126
+ <fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
1127
+
1128
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1129
+
1130
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
1131
+
1132
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
1133
+ <xsl:with-param name="isMainLang">true</xsl:with-param>
1134
+ </xsl:apply-templates>
1135
+
1136
+ </fo:block>
1137
+
1138
+ <xsl:for-each select="xalan:nodeset($lang_other)/lang">
1139
+ <xsl:variable name="lang_other" select="."/>
1140
+
1141
+ <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
1142
+ <fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
1143
+
1144
+ <!-- Example: title-intro fr -->
1145
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
1146
+
1147
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
1148
+
1149
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
1150
+ <xsl:with-param name="curr_lang" select="$lang_other"/>
1151
+ </xsl:apply-templates>
1152
+
1153
+ </fo:block>
1154
+ </xsl:for-each>
1155
+ </fo:block>
1156
+ </fo:block-container>
1157
+ </fo:block-container>
1158
+ </fo:flow>
1159
+ </fo:page-sequence>
1160
+ </xsl:when>
1161
+ <xsl:otherwise>
1162
+ <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
1163
+ <fo:static-content flow-name="cover-page-header" font-size="10pt">
1164
+ <fo:block-container height="24mm" display-align="before">
1165
+ <fo:block padding-top="12.5mm">
1166
+ <xsl:value-of select="$copyrightText"/>
1167
+ </fo:block>
1168
+ </fo:block-container>
1169
+ </fo:static-content>
1170
+ <fo:flow flow-name="xsl-region-body">
1171
+ <fo:block-container text-align="right">
1172
+ <xsl:choose>
1173
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']">
1174
+ <!-- 17301 -->
1175
+ <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
1176
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']"/>
1177
+ </fo:block>
1178
+ <!-- Date: 2016-05-01 -->
1179
+ <fo:block margin-bottom="12pt">
1180
+ <xsl:text>Date: </xsl:text><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/>
1181
+ </fo:block>
1182
+
1183
+ <!-- ISO/CD 17301-1(E) -->
1184
+ <fo:block margin-bottom="12pt">
1185
+ <xsl:value-of select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, $lang-1st-letter)"/>
1186
+ </fo:block>
1187
+ </xsl:when>
1188
+ <xsl:otherwise>
1189
+ <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
1190
+ <!-- ISO/WD 24229(E) -->
1191
+ <xsl:value-of select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, $lang-1st-letter)"/>
1192
+ </fo:block>
1193
+
1194
+ </xsl:otherwise>
1195
+ </xsl:choose>
1196
+
1197
+ <xsl:if test="normalize-space($editorialgroup) != ''">
1198
+ <!-- ISO/TC 34/SC 4/WG 3 -->
1199
+ <fo:block margin-bottom="12pt">
1200
+ <xsl:copy-of select="$editorialgroup"/>
1201
+ </fo:block>
1202
+ </xsl:if>
1203
+
1204
+ <!-- Secretariat: AFNOR -->
1205
+ <fo:block margin-bottom="100pt">
1206
+ <xsl:value-of select="$secretariat"/>
1207
+ <xsl:text> </xsl:text>
1208
+ </fo:block>
1209
+
1210
+ </fo:block-container>
1211
+ <fo:block-container font-size="16pt">
1212
+ <!-- Information and documentation — Codes for transcription systems -->
1213
+ <fo:block font-weight="bold" role="H1">
1071
1214
 
1072
1215
  <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1073
1216
 
@@ -1083,7 +1226,7 @@
1083
1226
  <xsl:variable name="lang_other" select="."/>
1084
1227
 
1085
1228
  <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
1086
- <fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
1229
+ <fo:block role="H1">
1087
1230
 
1088
1231
  <!-- Example: title-intro fr -->
1089
1232
  <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
@@ -1095,444 +1238,364 @@
1095
1238
  </xsl:apply-templates>
1096
1239
 
1097
1240
  </fo:block>
1241
+
1098
1242
  </xsl:for-each>
1099
- </fo:block>
1243
+
1100
1244
  </fo:block-container>
1101
- </fo:block-container>
1102
- </fo:flow>
1103
- </fo:page-sequence>
1104
- </xsl:when>
1105
- <xsl:otherwise>
1106
- <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
1107
- <fo:static-content flow-name="cover-page-header" font-size="10pt">
1108
- <fo:block-container height="24mm" display-align="before">
1109
- <fo:block padding-top="12.5mm">
1110
- <xsl:value-of select="$copyrightText"/>
1111
- </fo:block>
1112
- </fo:block-container>
1113
- </fo:static-content>
1114
- <fo:flow flow-name="xsl-region-body">
1115
- <fo:block-container text-align="right">
1116
- <xsl:choose>
1117
- <xsl:when test="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']">
1118
- <!-- 17301 -->
1119
- <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
1120
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']"/>
1121
- </fo:block>
1122
- <!-- Date: 2016-05-01 -->
1123
- <fo:block margin-bottom="12pt">
1124
- <xsl:text>Date: </xsl:text><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/>
1125
- </fo:block>
1245
+ <fo:block font-size="11pt" margin-bottom="8pt"><xsl:value-of select="$linebreak"/></fo:block>
1246
+ <fo:block-container font-size="40pt" text-align="center" margin-bottom="12pt" border="0.5pt solid black">
1247
+ <xsl:variable name="stage-title" select="substring-after(substring-before($docidentifierISO, ' '), '/')"/>
1248
+ <xsl:choose>
1249
+ <xsl:when test="normalize-space($stage-title) != ''">
1250
+ <fo:block padding-top="2mm"><xsl:value-of select="$stage-title"/><xsl:text> stage</xsl:text></fo:block>
1251
+ </xsl:when>
1252
+ <xsl:otherwise>
1253
+ <xsl:attribute name="border">0pt solid white</xsl:attribute>
1254
+ <fo:block> </fo:block>
1255
+ </xsl:otherwise>
1256
+ </xsl:choose>
1257
+ </fo:block-container>
1258
+ <fo:block><xsl:value-of select="$linebreak"/></fo:block>
1126
1259
 
1127
- <!-- ISO/CD 17301-1(E) -->
1128
- <fo:block margin-bottom="12pt">
1129
- <xsl:value-of select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, $lang-1st-letter)"/>
1260
+ <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:license-statement">
1261
+ <fo:block-container font-size="10pt" margin-top="12pt" margin-bottom="6pt" border="0.5pt solid black">
1262
+ <fo:block padding-top="1mm">
1263
+ <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:license-statement"/>
1130
1264
  </fo:block>
1131
- </xsl:when>
1132
- <xsl:otherwise>
1133
- <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
1134
- <!-- ISO/WD 24229(E) -->
1135
- <xsl:value-of select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, $lang-1st-letter)"/>
1136
- </fo:block>
1137
-
1138
- </xsl:otherwise>
1139
- </xsl:choose>
1140
-
1141
- <xsl:if test="normalize-space($editorialgroup) != ''">
1142
- <!-- ISO/TC 34/SC 4/WG 3 -->
1143
- <fo:block margin-bottom="12pt">
1144
- <xsl:copy-of select="$editorialgroup"/>
1145
- </fo:block>
1265
+ </fo:block-container>
1146
1266
  </xsl:if>
1267
+ </fo:flow>
1268
+ </fo:page-sequence>
1269
+ </xsl:otherwise>
1270
+ </xsl:choose>
1147
1271
 
1148
- <!-- Secretariat: AFNOR -->
1149
- <fo:block margin-bottom="100pt">
1150
- <xsl:value-of select="$secretariat"/>
1151
- <xsl:text> </xsl:text>
1152
- </fo:block>
1153
-
1154
- </fo:block-container>
1155
- <fo:block-container font-size="16pt">
1156
- <!-- Information and documentation — Codes for transcription systems -->
1157
- <fo:block font-weight="bold" role="H1">
1158
-
1159
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1160
-
1161
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
1162
-
1163
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
1164
- <xsl:with-param name="isMainLang">true</xsl:with-param>
1165
- </xsl:apply-templates>
1166
-
1167
- </fo:block>
1168
-
1169
- <xsl:for-each select="xalan:nodeset($lang_other)/lang">
1170
- <xsl:variable name="lang_other" select="."/>
1171
-
1172
- <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
1173
- <fo:block role="H1">
1272
+ <!-- STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
1273
+ <xsl:variable name="updated_xml_step1">
1274
+ <xsl:apply-templates mode="update_xml_step1"/>
1275
+ </xsl:variable>
1276
+ <!-- DEBUG: updated_xml_step1=<xsl:copy-of select="$updated_xml_step1"/> -->
1174
1277
 
1175
- <!-- Example: title-intro fr -->
1176
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
1278
+ <!-- STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
1279
+ <xsl:variable name="updated_xml_step2">
1280
+ <xsl:apply-templates select="xalan:nodeset($updated_xml_step1)" mode="update_xml_step2"/>
1281
+ </xsl:variable>
1282
+ <!-- DEBUG: updated_xml_step2=<xsl:copy-of select="$updated_xml_step2"/> -->
1177
1283
 
1178
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
1284
+ <xsl:variable name="updated_xml_step3">
1285
+ <xsl:apply-templates select="xalan:nodeset($updated_xml_step2)" mode="update_xml_enclose_keep-together_within-line"/>
1286
+ </xsl:variable>
1287
+ <!-- DEBUG: updated_xml_step3=<xsl:copy-of select="$updated_xml_step3"/> -->
1179
1288
 
1180
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
1181
- <xsl:with-param name="curr_lang" select="$lang_other"/>
1182
- </xsl:apply-templates>
1289
+ <xsl:for-each select="xalan:nodeset($updated_xml_step3)">
1183
1290
 
1291
+ <fo:page-sequence master-reference="preface{$document-master-reference}" format="i" force-page-count="{$force-page-count-preface}">
1292
+ <xsl:call-template name="insertHeaderFooter">
1293
+ <xsl:with-param name="font-weight">normal</xsl:with-param>
1294
+ </xsl:call-template>
1295
+ <fo:flow flow-name="xsl-region-body" line-height="115%">
1296
+ <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
1297
+
1298
+ <fo:block-container height="252mm" display-align="after">
1299
+ <!-- <fo:block margin-bottom="3mm">
1300
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Attention))}" width="14mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
1301
+ <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold"></fo:inline>
1302
+ </fo:block> -->
1303
+ <fo:block line-height="90%">
1304
+ <fo:block font-size="9pt" text-align="justify">
1305
+ <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:copyright-statement"/>
1184
1306
  </fo:block>
1185
-
1186
- </xsl:for-each>
1187
-
1188
- </fo:block-container>
1189
- <fo:block font-size="11pt" margin-bottom="8pt"><xsl:value-of select="$linebreak"/></fo:block>
1190
- <fo:block-container font-size="40pt" text-align="center" margin-bottom="12pt" border="0.5pt solid black">
1191
- <xsl:variable name="stage-title" select="substring-after(substring-before($docidentifierISO, ' '), '/')"/>
1192
- <xsl:choose>
1193
- <xsl:when test="normalize-space($stage-title) != ''">
1194
- <fo:block padding-top="2mm"><xsl:value-of select="$stage-title"/><xsl:text> stage</xsl:text></fo:block>
1195
- </xsl:when>
1196
- <xsl:otherwise>
1197
- <xsl:attribute name="border">0pt solid white</xsl:attribute>
1198
- <fo:block> </fo:block>
1199
- </xsl:otherwise>
1200
- </xsl:choose>
1201
- </fo:block-container>
1202
- <fo:block><xsl:value-of select="$linebreak"/></fo:block>
1203
-
1204
- <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:license-statement">
1205
- <fo:block-container font-size="10pt" margin-top="12pt" margin-bottom="6pt" border="0.5pt solid black">
1206
- <fo:block padding-top="1mm">
1207
- <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:license-statement"/>
1208
1307
  </fo:block>
1209
1308
  </fo:block-container>
1210
1309
  </xsl:if>
1211
- </fo:flow>
1212
- </fo:page-sequence>
1213
- </xsl:otherwise>
1214
- </xsl:choose>
1215
-
1216
- <xsl:variable name="updated_xml_step1">
1217
- <xsl:apply-templates mode="update_xml_step1"/>
1218
- </xsl:variable>
1219
- <!-- DEBUG: updated_xml_step1=<xsl:copy-of select="$updated_xml_step1"/> -->
1220
-
1221
- <xsl:variable name="updated_xml_step2">
1222
- <xsl:apply-templates select="xalan:nodeset($updated_xml_step1)" mode="update_xml_step2"/>
1223
- </xsl:variable>
1224
- <!-- DEBUG: updated_xml_step2=<xsl:copy-of select="$updated_xml_step2"/> -->
1225
-
1226
- <xsl:variable name="updated_xml_step3">
1227
- <xsl:apply-templates select="xalan:nodeset($updated_xml_step2)" mode="update_xml_enclose_keep-together_within-line"/>
1228
- </xsl:variable>
1229
- <!-- DEBUG: updated_xml_step3=<xsl:copy-of select="$updated_xml_step3"/> -->
1230
-
1231
- <xsl:for-each select="xalan:nodeset($updated_xml_step3)">
1232
1310
 
1233
- <fo:page-sequence master-reference="preface{$document-master-reference}" format="i" force-page-count="{$force-page-count-preface}">
1234
- <xsl:call-template name="insertHeaderFooter">
1235
- <xsl:with-param name="font-weight">normal</xsl:with-param>
1236
- </xsl:call-template>
1237
- <fo:flow flow-name="xsl-region-body" line-height="115%">
1238
- <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
1239
-
1240
- <fo:block-container height="252mm" display-align="after">
1241
- <!-- <fo:block margin-bottom="3mm">
1242
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Attention))}" width="14mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
1243
- <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold"></fo:inline>
1244
- </fo:block> -->
1245
- <fo:block line-height="90%">
1246
- <fo:block font-size="9pt" text-align="justify">
1247
- <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:copyright-statement"/>
1248
- </fo:block>
1249
- </fo:block>
1250
- </fo:block-container>
1251
- </xsl:if>
1252
-
1253
- <xsl:choose>
1254
- <xsl:when test="$doctype = 'amendment'"/><!-- ToC shouldn't be generated in amendments. -->
1311
+ <xsl:choose>
1312
+ <xsl:when test="$doctype = 'amendment'"/><!-- ToC shouldn't be generated in amendments. -->
1255
1313
 
1256
- <xsl:otherwise>
1257
- <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
1258
- <fo:block break-after="page"/>
1259
- </xsl:if>
1260
- <fo:block-container font-weight="bold">
1261
- <fo:block role="TOC">
1262
- <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
1263
- <fo:inline font-size="16pt" font-weight="bold" role="H1">
1264
- <!-- Contents -->
1265
- <xsl:call-template name="getLocalizedString">
1266
- <xsl:with-param name="key">table_of_contents</xsl:with-param>
1267
- </xsl:call-template>
1268
- </fo:inline>
1269
- <fo:inline keep-together.within-line="always">
1270
- <fo:leader leader-pattern="space"/>
1271
- <fo:inline font-weight="normal" font-size="10pt">
1272
- <!-- Page -->
1314
+ <xsl:otherwise>
1315
+ <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
1316
+ <fo:block break-after="page"/>
1317
+ </xsl:if>
1318
+ <fo:block-container font-weight="bold">
1319
+ <fo:block role="TOC">
1320
+ <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
1321
+ <fo:inline font-size="16pt" font-weight="bold" role="H1">
1322
+ <!-- Contents -->
1273
1323
  <xsl:call-template name="getLocalizedString">
1274
- <xsl:with-param name="key">locality.page</xsl:with-param>
1275
- </xsl:call-template>
1324
+ <xsl:with-param name="key">table_of_contents</xsl:with-param>
1325
+ </xsl:call-template>
1276
1326
  </fo:inline>
1277
- </fo:inline>
1278
- </fo:block>
1327
+ <fo:inline keep-together.within-line="always">
1328
+ <fo:leader leader-pattern="space"/>
1329
+ <fo:inline font-weight="normal" font-size="10pt">
1330
+ <!-- Page -->
1331
+ <xsl:call-template name="getLocalizedString">
1332
+ <xsl:with-param name="key">locality.page</xsl:with-param>
1333
+ </xsl:call-template>
1334
+ </fo:inline>
1335
+ </fo:inline>
1336
+ </fo:block>
1279
1337
 
1280
- <xsl:if test="$debug = 'true'">
1281
- <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
1282
- DEBUG
1283
- contents=<xsl:copy-of select="$contents"/>
1284
- <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
1285
- </xsl:if>
1338
+ <xsl:if test="$debug = 'true'">
1339
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
1340
+ DEBUG
1341
+ contents=<xsl:copy-of select="$contents"/>
1342
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
1343
+ </xsl:if>
1286
1344
 
1287
- <xsl:variable name="margin-left">12</xsl:variable>
1288
- <xsl:for-each select="$contents//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
1345
+ <xsl:variable name="margin-left">12</xsl:variable>
1346
+ <xsl:for-each select="$contents//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
1289
1347
 
1290
- <fo:block role="TOCI">
1291
- <xsl:if test="@level = 1">
1292
- <xsl:attribute name="margin-top">5pt</xsl:attribute>
1293
- </xsl:if>
1294
- <xsl:if test="@level = 3">
1295
- <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
1296
- </xsl:if>
1297
- <fo:list-block>
1298
- <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
1299
- <xsl:if test="@level &gt;= 2 or @type = 'annex'">
1300
- <xsl:attribute name="font-weight">normal</xsl:attribute>
1348
+ <fo:block role="TOCI">
1349
+ <xsl:if test="@level = 1">
1350
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
1301
1351
  </xsl:if>
1302
- <xsl:attribute name="provisional-distance-between-starts">
1303
- <xsl:choose>
1304
- <!-- skip 0 section without subsections -->
1305
- <xsl:when test="@level &gt;= 3"><xsl:value-of select="$margin-left * 1.2"/>mm</xsl:when>
1306
- <xsl:when test="@section != ''"><xsl:value-of select="$margin-left"/>mm</xsl:when>
1307
- <xsl:otherwise>0mm</xsl:otherwise>
1308
- </xsl:choose>
1309
- </xsl:attribute>
1310
- <fo:list-item>
1311
- <fo:list-item-label end-indent="label-end()">
1312
- <fo:block>
1313
- <xsl:value-of select="@section"/>
1314
- </fo:block>
1315
- </fo:list-item-label>
1316
- <fo:list-item-body start-indent="body-start()">
1317
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
1318
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1319
-
1320
- <xsl:apply-templates select="title"/>
1321
-
1322
- <fo:inline keep-together.within-line="always">
1323
- <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
1324
- <fo:inline>
1325
- <xsl:if test="@level = 1 and @type = 'annex'">
1326
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1327
- </xsl:if>
1328
- <fo:page-number-citation ref-id="{@id}"/>
1352
+ <xsl:if test="@level = 3">
1353
+ <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
1354
+ </xsl:if>
1355
+ <fo:list-block>
1356
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
1357
+ <xsl:if test="@level &gt;= 2 or @type = 'annex'">
1358
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1359
+ </xsl:if>
1360
+ <xsl:attribute name="provisional-distance-between-starts">
1361
+ <xsl:choose>
1362
+ <!-- skip 0 section without subsections -->
1363
+ <xsl:when test="@level &gt;= 3"><xsl:value-of select="$margin-left * 1.2"/>mm</xsl:when>
1364
+ <xsl:when test="@section != ''"><xsl:value-of select="$margin-left"/>mm</xsl:when>
1365
+ <xsl:otherwise>0mm</xsl:otherwise>
1366
+ </xsl:choose>
1367
+ </xsl:attribute>
1368
+ <fo:list-item>
1369
+ <fo:list-item-label end-indent="label-end()">
1370
+ <fo:block>
1371
+ <xsl:value-of select="@section"/>
1372
+ </fo:block>
1373
+ </fo:list-item-label>
1374
+ <fo:list-item-body start-indent="body-start()">
1375
+ <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
1376
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1377
+
1378
+ <xsl:apply-templates select="title"/>
1379
+
1380
+ <fo:inline keep-together.within-line="always">
1381
+ <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
1382
+ <fo:inline>
1383
+ <xsl:if test="@level = 1 and @type = 'annex'">
1384
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1385
+ </xsl:if>
1386
+ <fo:page-number-citation ref-id="{@id}"/>
1387
+ </fo:inline>
1329
1388
  </fo:inline>
1330
- </fo:inline>
1331
- </fo:basic-link>
1332
- </fo:block>
1333
- </fo:list-item-body>
1334
- </fo:list-item>
1335
- </fo:list-block>
1336
- </fo:block>
1337
-
1338
- </xsl:for-each>
1389
+ </fo:basic-link>
1390
+ </fo:block>
1391
+ </fo:list-item-body>
1392
+ </fo:list-item>
1393
+ </fo:list-block>
1394
+ </fo:block>
1339
1395
 
1340
- <!-- List of Tables -->
1341
- <xsl:if test="$contents//tables/table">
1342
- <xsl:call-template name="insertListOf_Title">
1343
- <xsl:with-param name="title" select="$title-list-tables"/>
1344
- </xsl:call-template>
1345
- <xsl:for-each select="$contents//tables/table">
1346
- <xsl:call-template name="insertListOf_Item"/>
1347
1396
  </xsl:for-each>
1348
- </xsl:if>
1349
1397
 
1350
- <!-- List of Figures -->
1351
- <xsl:if test="$contents//figures/figure">
1352
- <xsl:call-template name="insertListOf_Title">
1353
- <xsl:with-param name="title" select="$title-list-figures"/>
1354
- </xsl:call-template>
1355
- <xsl:for-each select="$contents//figures/figure">
1356
- <xsl:call-template name="insertListOf_Item"/>
1357
- </xsl:for-each>
1358
- </xsl:if>
1398
+ <!-- List of Tables -->
1399
+ <xsl:if test="$contents//tables/table">
1400
+ <xsl:call-template name="insertListOf_Title">
1401
+ <xsl:with-param name="title" select="$title-list-tables"/>
1402
+ </xsl:call-template>
1403
+ <xsl:for-each select="$contents//tables/table">
1404
+ <xsl:call-template name="insertListOf_Item"/>
1405
+ </xsl:for-each>
1406
+ </xsl:if>
1359
1407
 
1360
- </fo:block>
1361
- </fo:block-container>
1362
- </xsl:otherwise>
1363
- </xsl:choose>
1408
+ <!-- List of Figures -->
1409
+ <xsl:if test="$contents//figures/figure">
1410
+ <xsl:call-template name="insertListOf_Title">
1411
+ <xsl:with-param name="title" select="$title-list-figures"/>
1412
+ </xsl:call-template>
1413
+ <xsl:for-each select="$contents//figures/figure">
1414
+ <xsl:call-template name="insertListOf_Item"/>
1415
+ </xsl:for-each>
1416
+ </xsl:if>
1364
1417
 
1365
- <!-- Foreword, Introduction -->
1366
- <xsl:call-template name="processPrefaceSectionsDefault"/>
1418
+ </fo:block>
1419
+ </fo:block-container>
1420
+ </xsl:otherwise>
1421
+ </xsl:choose>
1367
1422
 
1368
- </fo:flow>
1369
- </fo:page-sequence>
1423
+ <!-- Foreword, Introduction -->
1424
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
1370
1425
 
1371
- <!-- BODY -->
1372
- <fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="1" force-page-count="no-force">
1373
- <fo:static-content flow-name="xsl-footnote-separator">
1374
- <fo:block>
1375
- <fo:leader leader-pattern="rule" leader-length="30%"/>
1376
- </fo:block>
1377
- </fo:static-content>
1378
- <xsl:call-template name="insertHeaderFooter"/>
1379
- <fo:flow flow-name="xsl-region-body">
1380
-
1381
- <fo:block-container>
1382
- <!-- Information and documentation — Codes for transcription systems -->
1383
- <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
1384
- <xsl:value-of select="$title-en"/>
1426
+ </fo:flow>
1427
+ </fo:page-sequence>
1428
+
1429
+ <!-- BODY -->
1430
+ <fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="1" force-page-count="no-force">
1431
+ <fo:static-content flow-name="xsl-footnote-separator">
1432
+ <fo:block>
1433
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
1385
1434
  </fo:block>
1386
- -->
1387
- <fo:block font-size="18pt" font-weight="bold" margin-top="40pt" margin-bottom="20pt" line-height="1.1">
1435
+ </fo:static-content>
1436
+ <xsl:call-template name="insertHeaderFooter"/>
1437
+ <fo:flow flow-name="xsl-region-body">
1388
1438
 
1389
- <fo:block role="H1">
1439
+ <fo:block-container>
1440
+ <!-- Information and documentation — Codes for transcription systems -->
1441
+ <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
1442
+ <xsl:value-of select="$title-en"/>
1443
+ </fo:block>
1444
+ -->
1445
+ <fo:block font-size="18pt" font-weight="bold" margin-top="40pt" margin-bottom="20pt" line-height="1.1">
1390
1446
 
1391
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1447
+ <fo:block role="H1">
1448
+
1449
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1392
1450
 
1393
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
1451
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
1452
+
1453
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
1454
+ <xsl:with-param name="isMainLang">true</xsl:with-param>
1455
+ <xsl:with-param name="isMainBody">true</xsl:with-param>
1456
+ </xsl:apply-templates>
1457
+
1458
+ </fo:block>
1459
+ <fo:block role="H1">
1460
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']/node()"/>
1461
+ </fo:block>
1394
1462
 
1395
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
1463
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
1396
1464
  <xsl:with-param name="isMainLang">true</xsl:with-param>
1397
1465
  <xsl:with-param name="isMainBody">true</xsl:with-param>
1398
1466
  </xsl:apply-templates>
1399
1467
 
1400
1468
  </fo:block>
1401
- <fo:block role="H1">
1402
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']/node()"/>
1403
- </fo:block>
1404
-
1405
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
1406
- <xsl:with-param name="isMainLang">true</xsl:with-param>
1407
- <xsl:with-param name="isMainBody">true</xsl:with-param>
1408
- </xsl:apply-templates>
1409
1469
 
1410
- </fo:block>
1411
-
1412
- </fo:block-container>
1413
- <!-- Clause(s) -->
1414
- <fo:block>
1470
+ </fo:block-container>
1471
+ <!-- Clause(s) -->
1472
+ <fo:block>
1415
1473
 
1416
- <xsl:choose>
1417
- <xsl:when test="$doctype = 'amendment'">
1418
- <xsl:apply-templates select="/iso:iso-standard/iso:sections/*"/>
1419
- </xsl:when>
1420
- <xsl:otherwise>
1421
- <xsl:call-template name="processMainSectionsDefault"/>
1422
- </xsl:otherwise>
1423
- </xsl:choose>
1474
+ <xsl:choose>
1475
+ <xsl:when test="$doctype = 'amendment'">
1476
+ <xsl:apply-templates select="/iso:iso-standard/iso:sections/*"/>
1477
+ </xsl:when>
1478
+ <xsl:otherwise>
1479
+ <xsl:call-template name="processMainSectionsDefault"/>
1480
+ </xsl:otherwise>
1481
+ </xsl:choose>
1424
1482
 
1425
- <fo:block id="lastBlock" font-size="1pt"> </fo:block>
1426
- </fo:block>
1483
+ <fo:block id="lastBlock" font-size="1pt"> </fo:block>
1484
+ </fo:block>
1427
1485
 
1428
- </fo:flow>
1429
- </fo:page-sequence>
1486
+ </fo:flow>
1487
+ </fo:page-sequence>
1430
1488
 
1431
- <!-- Index -->
1432
- <xsl:variable name="docid">
1433
- <xsl:call-template name="getDocumentId"/>
1434
- </xsl:variable>
1489
+ <xsl:variable name="docid">
1490
+ <xsl:call-template name="getDocumentId"/>
1491
+ </xsl:variable>
1435
1492
 
1436
- <xsl:variable name="current_document_index_id">
1437
- <xsl:apply-templates select="//iso:indexsect" mode="index_add_id">
1438
- <xsl:with-param name="docid" select="$docid"/>
1439
- </xsl:apply-templates>
1493
+ <xsl:variable name="current_document_index_id">
1494
+ <xsl:apply-templates select="//iso:indexsect" mode="index_add_id">
1495
+ <xsl:with-param name="docid" select="$docid"/>
1496
+ </xsl:apply-templates>
1497
+ </xsl:variable>
1440
1498
 
1441
- </xsl:variable>
1499
+ <xsl:variable name="current_document_index">
1500
+ <xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
1501
+ </xsl:variable>
1442
1502
 
1443
- <xsl:variable name="current_document_index">
1444
- <xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
1445
- </xsl:variable>
1503
+ <xsl:apply-templates select="xalan:nodeset($current_document_index)" mode="index"/>
1446
1504
 
1447
- <!-- <xsl:apply-templates select="//iso:indexsect" mode="index"/> -->
1448
- <xsl:apply-templates select="xalan:nodeset($current_document_index)" mode="index"/>
1449
-
1450
- <xsl:if test="$isPublished = 'true'">
1451
- <fo:page-sequence master-reference="last-page" force-page-count="no-force">
1452
- <xsl:call-template name="insertHeaderEven"/>
1453
- <fo:static-content flow-name="last-page-footer" font-size="10pt">
1454
- <fo:table table-layout="fixed" width="100%">
1455
- <fo:table-column column-width="33%"/>
1456
- <fo:table-column column-width="33%"/>
1457
- <fo:table-column column-width="34%"/>
1458
- <fo:table-body>
1459
- <fo:table-row>
1460
- <fo:table-cell display-align="center">
1461
- <fo:block font-size="9pt"><xsl:value-of select="$copyrightText"/></fo:block>
1462
- </fo:table-cell>
1463
- <fo:table-cell>
1464
- <fo:block font-size="10pt" font-weight="bold" text-align="center">
1465
- <xsl:if test="$stage-abbreviation = 'PRF'">
1466
- <xsl:value-of select="$proof-text"/>
1467
- </xsl:if>
1505
+ <xsl:if test="$isPublished = 'true'">
1506
+ <fo:page-sequence master-reference="last-page" force-page-count="no-force">
1507
+ <xsl:call-template name="insertHeaderEven"/>
1508
+ <fo:static-content flow-name="last-page-footer" font-size="10pt">
1509
+ <fo:table table-layout="fixed" width="100%">
1510
+ <fo:table-column column-width="33%"/>
1511
+ <fo:table-column column-width="33%"/>
1512
+ <fo:table-column column-width="34%"/>
1513
+ <fo:table-body>
1514
+ <fo:table-row>
1515
+ <fo:table-cell display-align="center">
1516
+ <fo:block font-size="9pt"><xsl:value-of select="$copyrightText"/></fo:block>
1517
+ </fo:table-cell>
1518
+ <fo:table-cell>
1519
+ <fo:block font-size="10pt" font-weight="bold" text-align="center">
1520
+ <xsl:if test="$stage-abbreviation = 'PRF'">
1521
+ <xsl:value-of select="$proof-text"/>
1522
+ </xsl:if>
1523
+ </fo:block>
1524
+ </fo:table-cell>
1525
+ <fo:table-cell>
1526
+ <fo:block> </fo:block>
1527
+ </fo:table-cell>
1528
+ </fo:table-row>
1529
+ </fo:table-body>
1530
+ </fo:table>
1531
+ </fo:static-content>
1532
+ <fo:flow flow-name="xsl-region-body">
1533
+ <fo:block-container height="252mm" display-align="after">
1534
+ <xsl:call-template name="insertTripleLine"/>
1535
+ <fo:block-container>
1536
+ <fo:block font-size="12pt" font-weight="bold" padding-top="3.5mm" padding-bottom="0.5mm">
1537
+ <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
1538
+ <xsl:if test="position() = 1"><fo:inline>ICS  </fo:inline></xsl:if>
1539
+ <xsl:value-of select="."/>
1540
+ <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
1541
+ </xsl:for-each>
1542
+ <!-- <xsl:choose>
1543
+ <xsl:when test="$stage-name = 'FDIS'">ICS&#xA0;&#xA0;01.140.30</xsl:when>
1544
+ <xsl:when test="$stage-name = 'PRF'">ICS&#xA0;&#xA0;35.240.63</xsl:when>
1545
+ <xsl:when test="$stage-name = 'published'">ICS&#xA0;&#xA0;35.240.30</xsl:when>
1546
+ <xsl:otherwise>ICS&#xA0;&#xA0;67.060</xsl:otherwise>
1547
+ </xsl:choose> -->
1468
1548
  </fo:block>
1469
- </fo:table-cell>
1470
- <fo:table-cell>
1471
- <fo:block> </fo:block>
1472
- </fo:table-cell>
1473
- </fo:table-row>
1474
- </fo:table-body>
1475
- </fo:table>
1476
- </fo:static-content>
1477
- <fo:flow flow-name="xsl-region-body">
1478
- <fo:block-container height="252mm" display-align="after">
1479
- <xsl:call-template name="insertTripleLine"/>
1480
- <fo:block-container>
1481
- <fo:block font-size="12pt" font-weight="bold" padding-top="3.5mm" padding-bottom="0.5mm">
1482
- <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
1483
- <xsl:if test="position() = 1"><fo:inline>ICS  </fo:inline></xsl:if>
1484
- <xsl:value-of select="."/>
1485
- <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
1486
- </xsl:for-each>
1487
- <!-- <xsl:choose>
1488
- <xsl:when test="$stage-name = 'FDIS'">ICS&#xA0;&#xA0;01.140.30</xsl:when>
1489
- <xsl:when test="$stage-name = 'PRF'">ICS&#xA0;&#xA0;35.240.63</xsl:when>
1490
- <xsl:when test="$stage-name = 'published'">ICS&#xA0;&#xA0;35.240.30</xsl:when>
1491
- <xsl:otherwise>ICS&#xA0;&#xA0;67.060</xsl:otherwise>
1492
- </xsl:choose> -->
1493
- </fo:block>
1494
- <xsl:if test="/iso:iso-standard/iso:bibdata/iso:keyword">
1495
- <fo:block font-size="9pt" margin-bottom="6pt">
1496
- <xsl:variable name="title-descriptors">
1497
- <xsl:call-template name="getTitle">
1498
- <xsl:with-param name="name" select="'title-descriptors'"/>
1549
+ <xsl:if test="/iso:iso-standard/iso:bibdata/iso:keyword">
1550
+ <fo:block font-size="9pt" margin-bottom="6pt">
1551
+ <xsl:variable name="title-descriptors">
1552
+ <xsl:call-template name="getTitle">
1553
+ <xsl:with-param name="name" select="'title-descriptors'"/>
1554
+ </xsl:call-template>
1555
+ </xsl:variable>
1556
+ <fo:inline font-weight="bold"><xsl:value-of select="$title-descriptors"/>: </fo:inline>
1557
+ <xsl:call-template name="insertKeywords">
1558
+ <xsl:with-param name="sorting">no</xsl:with-param>
1499
1559
  </xsl:call-template>
1500
- </xsl:variable>
1501
- <fo:inline font-weight="bold"><xsl:value-of select="$title-descriptors"/>: </fo:inline>
1502
- <xsl:call-template name="insertKeywords">
1503
- <xsl:with-param name="sorting">no</xsl:with-param>
1560
+ </fo:block>
1561
+ </xsl:if>
1562
+ <xsl:variable name="countPages"/>
1563
+ <xsl:variable name="price_based_on">
1564
+ <xsl:call-template name="getLocalizedString">
1565
+ <xsl:with-param name="key">price_based_on</xsl:with-param>
1566
+ </xsl:call-template>
1567
+ </xsl:variable>
1568
+ <xsl:variable name="price_based_on_items">
1569
+ <xsl:call-template name="split">
1570
+ <xsl:with-param name="pText" select="$price_based_on"/>
1571
+ <xsl:with-param name="sep" select="'%'"/>
1572
+ <xsl:with-param name="normalize-space">false</xsl:with-param>
1504
1573
  </xsl:call-template>
1574
+ </xsl:variable>
1575
+ <!-- Price based on ... pages -->
1576
+ <fo:block font-size="9pt">
1577
+ <xsl:for-each select="xalan:nodeset($price_based_on_items)/item">
1578
+ <xsl:value-of select="."/>
1579
+ <xsl:if test="position() != last()">
1580
+ <fo:page-number-citation ref-id="lastBlock"/>
1581
+ </xsl:if>
1582
+ </xsl:for-each>
1505
1583
  </fo:block>
1506
- </xsl:if>
1507
- <xsl:variable name="countPages"/>
1508
- <xsl:variable name="price_based_on">
1509
- <xsl:call-template name="getLocalizedString">
1510
- <xsl:with-param name="key">price_based_on</xsl:with-param>
1511
- </xsl:call-template>
1512
- </xsl:variable>
1513
- <xsl:variable name="price_based_on_items">
1514
- <xsl:call-template name="split">
1515
- <xsl:with-param name="pText" select="$price_based_on"/>
1516
- <xsl:with-param name="sep" select="'%'"/>
1517
- <xsl:with-param name="normalize-space">false</xsl:with-param>
1518
- </xsl:call-template>
1519
- </xsl:variable>
1520
- <!-- Price based on ... pages -->
1521
- <fo:block font-size="9pt">
1522
- <xsl:for-each select="xalan:nodeset($price_based_on_items)/item">
1523
- <xsl:value-of select="."/>
1524
- <xsl:if test="position() != last()">
1525
- <fo:page-number-citation ref-id="lastBlock"/>
1526
- </xsl:if>
1527
- </xsl:for-each>
1528
- </fo:block>
1584
+ </fo:block-container>
1529
1585
  </fo:block-container>
1530
- </fo:block-container>
1531
- </fo:flow>
1532
- </fo:page-sequence>
1533
- </xsl:if>
1534
- </xsl:for-each>
1535
- </fo:root>
1586
+ </fo:flow>
1587
+ </fo:page-sequence>
1588
+ </xsl:if>
1589
+ </xsl:for-each>
1590
+ </fo:root>
1591
+ </xsl:variable>
1592
+
1593
+ <xsl:apply-templates select="xalan:nodeset($xslfo)" mode="landscape_portrait"/>
1594
+
1595
+ </xsl:template>
1596
+
1597
+ <xsl:template match="iso:pagebreak" priority="2">
1598
+ <xsl:copy-of select="."/>
1536
1599
  </xsl:template>
1537
1600
 
1538
1601
  <xsl:template name="insertListOf_Title">
@@ -2199,6 +2262,8 @@
2199
2262
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAFEAAABHCAIAAADwYjznAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA66SURBVHhezZt5sM/VG8fNVH7JruxkSZKQ3TAYS7aGajKpFBnRxBjjkhrLrRgmYwm59hrGjC0miSmmIgoVZYu00GJtxkyMkV2/1+fzPh7nfr7fe33v/X6/9/d7/3HmOc/nLM/7PM95zjnfS6F//xc4f/786dOnXaXAUdCcjx071rt373vvvbdChQrNmzdfuXKl+1CAKFDOR44cqVWrVqFChf4T4vbbb7/zzjsnT57sPhcUCo7ztWvX2rRpc9tttxUtWvSuEAgwp/z0009dowJBwXGeM2dO4cKFRZWySJEikvF2o0aNrly54tqlHwXE+cyZM9WrV4czJMW5WLFixv+OO+6YPn26a5p+FBDnjIwM/Ak9AHMcm5mZyWY2TeXKlf/66y/XOs0oCM4HDhwoU6aMMSSqs7Kyfv75Z5jjYXmeff7yyy+7DmlGQXB+7LHHcLKFcdu2bXft2vXtt9/Onz9fS8AnVqRkyZLff/+965NOpJ3zhg0bIsQ4k7/55psvv/xy9+7dnTp1MlezLp07d3bd0on0cr569WqTJk18VlxI9uzZs3XrVjhv37597dq199xzD2vBV9aFo2vVqlWuc9qQXs6zZs2CcLCJ77oLPlWqVOEohqo4U8L/hRdesEVBeOihhy5evOj6pwdp5Pz3339Xq1ZN5xOcEV577TXiWWxVfvXVV5R+M2Jh3Lhxboj0II2chw4dqtQF5EBtY+MsgXz2xhtvKKvTknAoX7780aNH3ShpQLo4Hzx4sFSpUmLCRgUzZsyAnlEVbZXo/XOLlSLg3UBpQLo4P/HEE+ZkhPbt23MOhXwdz5C1A+fWokWLuJmxNKwRK1W8eHG2vRsr1UgLZ51PArFaunRpzqevv/7aOAPJBpLZ448/zurQhWXC5xzjbrhUI/WcOZ+aNm2qQIUAwtNPPw0liBnbiADw6scff8xO9s8tnO8GTSlSz3n27NnwlLt0Pn3++edQEkNKE0KyNzWk9EGDBqkvIJPfd999586dc+OmDinmzPlUo0YN/3waNWrUvn37tmzZInohzWzMJYBt27ZxdMHTP7fGjBnjhk4dUsyZ84nXQuinIKrr1q3L+SRuKk0IWIbwZRL4pEmTlMkAYVK2bNnffvvNjZ4ipJLzL7/8wvsJQ7UhAa9iaEDGqOJJsvR3Ifi0Y8cOlPoK+Ep6b9GihdIBwNW9evVyE6QIqeTcs2dP/fQjW9u1a/fjjz+KqljBlgCePHlynz59eGwNHz58zZo1OrTVjJK4WLp0aYkSJexsZ7RNmza5OVKBlHH+7LPPMA4TMRRzeT+9//77uNHIQHjJkiV16tThK24E7FvigrylC6maUZLkWT4aMBRjIuD569evu5mSRmo4X7t2rXnz5hgXuDh08lNPPeUzwXscPDyhjInARqDxc889ZzcWQJLfuHFjxYoV+UpjwOrMmzfPTZY0UsOZ1z9myT4MxVzcrvNJ4ELCfdsWhWZWKobfeecd3cZZIMBuz8jI0Ji0QeA44FBw8yWHFHA+c+aMfz5BjOzt+w0yWVlZYVJzv3VSGqjSpWvXrsQFbGlPSTKjV+3atW1YMgWr4KZMDingPGLECEtdmPjAAw/gYXKVCIOdO3e++uqrClQRUGkCvZo1a0YzGhtt9j/PEv8Szh2WpOhmTQLJcj58+LB+6MAsefLtt9+2VCwCeAzrA4ohjLYEgJ8feeQRQkPt1RHs3bu3Y8eObHi1Z2XJ9m7iJJAsZw5PbJL1CJi4f/9+3boEOOD2Dz74QE/LkGkA0VAJ52eeeYY97PqEvQBZYPXq1bhXHeXw9evXu7nzi6Q4b9682UzBLA5Vzidi0r9pUhLnXLkrV66s64p4CsgAPXdMYjvk6wgDZDY5hznBr16sTsOGDXnGOAvyhaQ4t2rVCiNkOgLvp0h8SiAhQfv++++3sweol0pWjeC3vG3dAX2/+OKLqlWrWl8mYvs4C/KF/HPmvNXyAwziGcihShg7Y2+YTglYC65lWiAf9CVACPvly5cTydbe707Mv/766+Zq5uKtlswfPfLJ+ezZs3oAmR1DhgzRhpStQmB+CEL0ySefhHOwQmEXARnOnOeffPIJsRDpBVTlZla/fn1bYpJZMn/0yCdnXohKXQBTatWqRRAC31ArAXtVdwzxtBKgfPjhh1kvayz4IxACCxYsoDG7gJJlIrGR1Z01eUR+OP/+++9Esm0wLHjrrbf801UwGYHENm3aNFqqC3ZLAHBu3bq17jB+FxMASZGTuXPnzrbQCI8++qgzKI/ID+fnn3/e5iZcmzZtCiWZCGSlLwAcxQPDLhiAvhIYoXv37rYvcgIjcCj45xb46KOPnE15QZ45k6VkuiZGfvfdd0m5sjikeRMyF9Br3bp1ZcuWlatFWCV+HjZsmGI7FzAau7pfv35KCvRFYFNcvnzZWZYw8syZ9Os7uUePHrYVzTgJIOAdgq1O6ac9gBB6K/hpwQ5nYB0lhCMFAkmOc6t69eraVjJgypQpzrKEkTfOy5YtYz6sZD6Eu+++m1sRUWdmWWmgKg1L07JlS+OskqGIlPfee08HlaBe1lcIxgrPvMzMTOPMaJUqVTp16pSzLzHkgfOFCxd48bO0TAYQXnrpJeUewSzzrTSZ44rHE70wVxYDQj32oIoVDMQLl3muYmYGQTdw4EBnYmLIA+fx48crqrGYleZ82rFjh84nM06CEBp58xO29u/f3zgLOKpmzZoQ9ltK8OF/JV/OmTMHMxRurFrJkiVZUGdlAkiU8/HjxytUqKCgkq0sgX+o+rZKtlICO3bixIk2QuCjMDibNGnCclhLAxoprZQACC6FjAbBEzzLnKEJIFHOJEw/dWEoHMzJMgVINk1gZghkcjsZnu4irJKhunXrFvkZ0OArKSUA4os8whtWK4jD8Xbi/6QwIc7QK168uGJJWWf+/Pl2JptBglVD8wKoiqG8KO1fFQS+9g4q1/QGQyEiC6oSzC+++KK5mnHq1q37zz//OItzRUKcO3XqZDuZabgA6e9PBtnhKmHVBANBwXWqRo0aFt4AmYCP/MYQC9OboJxn5xbAMLabszhX3JozMWMXCQTOp7Vr10bOJwHZqhFZAvFSr149fCIrBV6RuV/jVMZqWKkJEybINgB5Ms4ff/zh7M4Zt+B86dIl+72ScTF3wIABpBCbW/DlWJiVxDBXGuOsFVyzZo3/AgW0FCJVII1AFdrNmjVjQJlHMPbu3duZnjNuwXnSpEkQZjgGZSGJTCZT6hI0d2jDrQVMxCYsCykHnqlWrRpRyoDWRkIEpo+UBAjPeOUaBmQRyTV8ctbngNw4nzhxwv9hHYG3uzlZs0oAZocJodppALJ+DMQtSoeQ52YWyf9+KcEgjaAqpb3MGVBjtmrVyhHIAblx5gphP+IyKLefyNU6Al9vshkngTBu3749lgECe+HChXF/EjJNRJDsa3Ru8Xox37CmixcvdhziIUfOrB/3G6IFwnILtx98opk0a6T0gcZXWpVIJnuPGjWKeyu3dz3IIlBjwa/qK5AsJSD0hgwZwiJiJJxxT+5/rM+Rsz3QNUqXLl04n/wpBclWCrEaA0o24aFDh3766ae9e/c6bagXXD1mQMHVb2gkUOIM3gJKZgDLWVbHJAbxOa9evRoPW2LQ+WTZ1Z9SiCglgPCj+ypg3Ny5c5999lkO+YyMDD4RnOjD5tFBrCpQNb0EyZRsumnTpmGwQpI45/Lz66+/Oj7ZEYfzlStX6tevr6wgJ/fp08ffyeFcbmJBGsGv6itQFQ9zeWJM/MCwgInsX0MCtYwtJZjGYJ8osZCMyJihpwNX9+zZ01HKjjicp06dSk8sA0RL1apVeannkloBsuDq3lfpAVs3KyuLMXGCVpOSHMlrQQ9S2vjtQThANr00IKKk5Jq0YsUK5SAGV5DG/Z8eUc6cT/YHB7rpfIp9A8StSogLPpEUeU7Yaga+CC929sO4mgnqJaga0asKJFOSGg8ePMiu8V3NjSX2jx5RzqRTnU+YhZN5P9lZIgQTxptSpY/wewDJOLNt27YyyGjDuXTp0qtWrdLvJNYr0j2it9KgKgvH8tlvsozPdLNmzXLcbiAbZzKz/SVNyYDzk00Yd4KIIJhSpQSBYNFLSNYILGvNmjVppp8NBLWXYFXgf/L1gpTs6pEjRzKsZtHejPyfvWycIz8ga6fZcII/gSANcPUQqloJYMXu4vZKHLGsrCkG4ZDMzEwtqyEcwMGq+uTDV5rMLITMgw8+yOBGZOjQoY5hiJucedzKFNoh6PbPQWIjBjOHMI2vFEwjIVJiDWHcuHFjMg2X5CpVqrzyyitGOOiWvYvBlKaPq5FMQM2cORM/iwvLyvbZv3+/42mcOZ8aNGggJ9OaCBw4cGBO6VTwlbeUEQBpBtqQ5H26ZMkSqhzXauDDevmQMhwm2/gG01CySfXH+sDRoau7d+8upsBx5v3EB9gCFoa3OAbFXkIEvyqZ0hBRxrbh2CN8IE8covc/GUyZiwAislX1mwzuVTLD4eDDDz8U2YDzyZMnK1WqpA1AC4SxY8fiZGhrFL/0BYCsqimlMfjKWBlEZFX9UjA5aJH9qzQRYH/fvn3hAiN4Ebncfy5duuQ4Dx48mLyibzRq0aLFDz/8QAIE7I28Ik+9btk4fzYAOO/bt6927dpyNYA299OAM3ncfySTvXiOjh49msvw8OHDrYxUTekj0tLgV5FVNcFgelV9+J/iNrOqfR02bNibb77JrhY1uZN3yPnz5wsdOHDA/uYmQJvPNAUSIlXBlw1xlSBux5wa+6CN38yqEoD0Bl+JAC/YQUruROYxV+jPP//UHzhDN7vbguQIctJHELdZrDIRDUhwUpBTS/T6BP8SJUrwjA32M9cj/d/zILuFV3MTBKua0qomhOoAvtJgn0yQbBogpcFpQ5jG9BEhUvpVARmO7dq141QOOF++fJk0Vq5cOb5pVf5PoLBMHvDiFtShQwf9EuzOZ3D06NFNmzbpfKI0KPUDyVZK8GUrfZjeBCsFk4MWubYJPnswvSFSFVBu3ryZJ5fj+e+//wVuVmgt0lkFPgAAAABJRU5ErkJggg==</xsl:text>
2200
2263
  </xsl:variable>
2201
2264
 
2265
+ <xsl:strip-space elements="iso:xref"/>
2266
+
2202
2267
  <!-- external parameters -->
2203
2268
 
2204
2269
  <xsl:param name="svg_images"/> <!-- svg images array -->
@@ -2767,7 +2832,7 @@
2767
2832
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
2768
2833
 
2769
2834
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2770
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2835
+ <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2771
2836
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2772
2837
 
2773
2838
  </xsl:attribute-set> <!-- table-container-style -->
@@ -2786,7 +2851,7 @@
2786
2851
  <xsl:attribute name="font-size">11pt</xsl:attribute>
2787
2852
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2788
2853
  <xsl:attribute name="text-align">center</xsl:attribute>
2789
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2854
+ <xsl:attribute name="margin-bottom">-12pt</xsl:attribute>
2790
2855
 
2791
2856
  </xsl:attribute-set> <!-- table-name-style -->
2792
2857
 
@@ -2822,7 +2887,7 @@
2822
2887
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2823
2888
  <xsl:attribute name="display-align">center</xsl:attribute>
2824
2889
 
2825
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2890
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2826
2891
  <xsl:attribute name="border-left"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
2827
2892
  <xsl:attribute name="border-right"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
2828
2893
 
@@ -3637,6 +3702,7 @@
3637
3702
  </xsl:for-each>
3638
3703
  </xsl:template>
3639
3704
 
3705
+ <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
3640
3706
  <xsl:variable name="tag_fo_inline_keep-together_within-line_open">###fo:inline keep-together_within-line###</xsl:variable>
3641
3707
  <xsl:variable name="tag_fo_inline_keep-together_within-line_close">###/fo:inline keep-together_within-line###</xsl:variable>
3642
3708
  <xsl:template match="text()" name="text">
@@ -3853,6 +3919,8 @@
3853
3919
  <!-- Display table's name before table as standalone block -->
3854
3920
  <!-- $namespace = 'iso' or -->
3855
3921
 
3922
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
3923
+
3856
3924
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
3857
3925
 
3858
3926
  <xsl:variable name="colwidths">
@@ -3889,6 +3957,10 @@
3889
3957
 
3890
3958
  <fo:block-container xsl:use-attribute-sets="table-container-style">
3891
3959
 
3960
+ <xsl:if test="not(*[local-name() = 'name'])">
3961
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
3962
+ </xsl:if>
3963
+
3892
3964
  <!-- end table block-container attributes -->
3893
3965
 
3894
3966
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
@@ -4019,7 +4091,7 @@
4019
4091
 
4020
4092
  <!-- centered table when table name is centered (see table-name-style) -->
4021
4093
 
4022
- <fo:table table-layout="fixed" width="100%">
4094
+ <fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style">
4023
4095
  <fo:table-column column-width="proportional-column-width(1)"/>
4024
4096
  <fo:table-column column-width="{@width}"/>
4025
4097
  <fo:table-column column-width="proportional-column-width(1)"/>
@@ -4068,17 +4140,29 @@
4068
4140
 
4069
4141
  <fo:block xsl:use-attribute-sets="table-name-style">
4070
4142
 
4143
+ <xsl:if test="$continued = 'true'">
4144
+ <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
4145
+ </xsl:if>
4146
+
4071
4147
  <xsl:choose>
4072
4148
  <xsl:when test="$continued = 'true'">
4073
4149
 
4074
- <xsl:apply-templates/>
4075
-
4076
4150
  </xsl:when>
4077
4151
  <xsl:otherwise>
4078
4152
  <xsl:apply-templates/>
4079
4153
  </xsl:otherwise>
4080
4154
  </xsl:choose>
4081
4155
 
4156
+ <xsl:if test="$continued = 'true'">
4157
+ <fo:inline font-weight="bold" font-style="normal">
4158
+ <fo:retrieve-table-marker retrieve-class-name="table_number"/>
4159
+ </fo:inline>
4160
+ <fo:inline font-weight="normal" font-style="italic">
4161
+ <xsl:text> </xsl:text>
4162
+ <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
4163
+ </fo:inline>
4164
+ </xsl:if>
4165
+
4082
4166
  </fo:block>
4083
4167
 
4084
4168
  </xsl:if>
@@ -4464,11 +4548,6 @@
4464
4548
  <xsl:call-template name="table_name_fn_display"/>
4465
4549
  </xsl:for-each>
4466
4550
 
4467
- <fo:block text-align="right" font-style="italic">
4468
- <xsl:text> </xsl:text>
4469
- <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
4470
- </fo:block>
4471
-
4472
4551
  </fo:table-cell>
4473
4552
  </fo:table-row>
4474
4553
  </xsl:template> <!-- table-header-title -->
@@ -4636,6 +4715,7 @@
4636
4715
  <fo:table-row height="0" keep-with-next.within-page="always">
4637
4716
  <fo:table-cell>
4638
4717
 
4718
+ <fo:marker marker-class-name="table_number"/>
4639
4719
  <fo:marker marker-class-name="table_continued"/>
4640
4720
 
4641
4721
  <fo:block/>
@@ -4644,6 +4724,8 @@
4644
4724
  <fo:table-row height="0" keep-with-next.within-page="always">
4645
4725
  <fo:table-cell>
4646
4726
 
4727
+ <fo:marker marker-class-name="table_number"><xsl:value-of select="normalize-space(translate($table_number, ' ', ' '))"/></fo:marker>
4728
+
4647
4729
  <fo:marker marker-class-name="table_continued">
4648
4730
  <xsl:value-of select="$title_continued"/>
4649
4731
  </fo:marker>
@@ -4745,7 +4827,7 @@
4745
4827
  <xsl:template match="*[local-name()='tr']">
4746
4828
  <fo:table-row xsl:use-attribute-sets="table-body-row-style">
4747
4829
 
4748
- <xsl:if test="*[local-name() = 'th']">
4830
+ <xsl:if test="count(*) = count(*[local-name() = 'th'])"> <!-- row contains 'th' only -->
4749
4831
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
4750
4832
  </xsl:if>
4751
4833
 
@@ -4929,6 +5011,10 @@
4929
5011
  <xsl:variable name="footnote_inline">
4930
5012
  <fo:inline xsl:use-attribute-sets="fn-num-style">
4931
5013
 
5014
+ <xsl:if test="following-sibling::*[1][local-name() = 'fn']">
5015
+ <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
5016
+ </xsl:if>
5017
+
4932
5018
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
4933
5019
  <xsl:value-of select="$current_fn_number_text"/>
4934
5020
  </fo:basic-link>
@@ -5749,7 +5835,8 @@
5749
5835
  <xsl:copy-of select="node()"/>
5750
5836
  </td>
5751
5837
  <td>
5752
- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
5838
+ <!-- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/> -->
5839
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]" mode="dl_if"/>
5753
5840
  <!-- get paragraphs from nested 'dl' -->
5754
5841
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
5755
5842
  </td>
@@ -5757,6 +5844,53 @@
5757
5844
  </xsl:template>
5758
5845
  <xsl:template match="*[local-name()='dd']" mode="dl_if"/>
5759
5846
 
5847
+ <xsl:template match="*" mode="dl_if">
5848
+ <xsl:copy-of select="."/>
5849
+ </xsl:template>
5850
+
5851
+ <xsl:template match="*[local-name() = 'p']" mode="dl_if">
5852
+ <xsl:param name="indent"/>
5853
+ <p>
5854
+ <xsl:copy-of select="@*"/>
5855
+ <xsl:value-of select="$indent"/>
5856
+ <xsl:copy-of select="node()"/>
5857
+ </p>
5858
+
5859
+ </xsl:template>
5860
+
5861
+ <xsl:template match="*[local-name() = 'ul' or local-name() = 'ol']" mode="dl_if">
5862
+ <xsl:variable name="list_rendered_">
5863
+ <xsl:apply-templates select="."/>
5864
+ </xsl:variable>
5865
+ <xsl:variable name="list_rendered" select="xalan:nodeset($list_rendered_)"/>
5866
+
5867
+ <xsl:variable name="indent">
5868
+ <xsl:for-each select="($list_rendered//fo:block[not(.//fo:block)])[1]">
5869
+ <xsl:apply-templates select="ancestor::*[@provisional-distance-between-starts]/@provisional-distance-between-starts" mode="dl_if"/>
5870
+ </xsl:for-each>
5871
+ </xsl:variable>
5872
+
5873
+ <xsl:apply-templates mode="dl_if">
5874
+ <xsl:with-param name="indent" select="$indent"/>
5875
+ </xsl:apply-templates>
5876
+ </xsl:template>
5877
+
5878
+ <xsl:template match="*[local-name() = 'li']" mode="dl_if">
5879
+ <xsl:param name="indent"/>
5880
+ <xsl:apply-templates mode="dl_if">
5881
+ <xsl:with-param name="indent" select="$indent"/>
5882
+ </xsl:apply-templates>
5883
+ </xsl:template>
5884
+
5885
+ <xsl:template match="@provisional-distance-between-starts" mode="dl_if">
5886
+ <xsl:variable name="value" select="round(substring-before(.,'mm'))"/>
5887
+ <!-- emulate left indent for list item -->
5888
+ <xsl:call-template name="repeat">
5889
+ <xsl:with-param name="char" select="'x'"/>
5890
+ <xsl:with-param name="count" select="$value"/>
5891
+ </xsl:call-template>
5892
+ </xsl:template>
5893
+
5760
5894
  <xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
5761
5895
  <xsl:for-each select="*[local-name() = 'dt']">
5762
5896
  <p>
@@ -6012,6 +6146,75 @@
6012
6146
  <fo:block break-after="page"/>
6013
6147
  </xsl:template>
6014
6148
 
6149
+ <!-- ================================================================ -->
6150
+ <!-- landscape/portrait orientation processing (post-processing step) -->
6151
+ <!-- ================================================================ -->
6152
+ <xsl:template match="@*|node()" mode="landscape_portrait">
6153
+ <xsl:copy>
6154
+ <xsl:apply-templates select="@*|node()" mode="landscape_portrait"/>
6155
+ </xsl:copy>
6156
+ </xsl:template>
6157
+
6158
+ <xsl:template match="*[local-name() = 'pagebreak']" mode="landscape_portrait">
6159
+
6160
+ <!-- determine pagebreak is last element before </fo:flow> or not -->
6161
+ <xsl:variable name="isLast">
6162
+ <xsl:for-each select="ancestor-or-self::*[ancestor::fo:flow]">
6163
+ <xsl:if test="following-sibling::*">false</xsl:if>
6164
+ </xsl:for-each>
6165
+ </xsl:variable>
6166
+
6167
+ <xsl:if test="contains($isLast, 'false')">
6168
+
6169
+ <xsl:variable name="orientation" select="normalize-space(@orientation)"/>
6170
+ <xsl:variable name="tree">
6171
+ <xsl:for-each select="ancestor::*[ancestor::fo:flow]">
6172
+ <element pos="{position()}">
6173
+ <xsl:value-of select="name()"/>
6174
+ </element>
6175
+ </xsl:for-each>
6176
+ </xsl:variable>
6177
+
6178
+ <!-- close fo:page-sequence (closing preceding fo elements) -->
6179
+ <xsl:for-each select="xalan:nodeset($tree)//element">
6180
+ <xsl:sort data-type="number" order="descending" select="@pos"/>
6181
+ <xsl:text disable-output-escaping="yes">&lt;/</xsl:text>
6182
+ <xsl:value-of select="."/>
6183
+ <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
6184
+ </xsl:for-each>
6185
+ <xsl:text disable-output-escaping="yes">&lt;/fo:flow&gt;</xsl:text>
6186
+ <xsl:text disable-output-escaping="yes">&lt;/fo:page-sequence&gt;</xsl:text>
6187
+
6188
+ <!-- <pagebreak/> -->
6189
+ <!-- create a new fo:page-sequence (opening fo elements) -->
6190
+
6191
+ <xsl:text disable-output-escaping="yes">&lt;fo:page-sequence master-reference="document</xsl:text><xsl:if test="$orientation != ''">-<xsl:value-of select="$orientation"/></xsl:if><xsl:text disable-output-escaping="yes">"&gt;</xsl:text>
6192
+ <fo:static-content flow-name="xsl-footnote-separator">
6193
+ <fo:block>
6194
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
6195
+ </fo:block>
6196
+ </fo:static-content>
6197
+ <xsl:call-template name="insertHeaderFooter"/>
6198
+ <xsl:text disable-output-escaping="yes">&lt;fo:flow flow-name="xsl-region-body"&gt;</xsl:text>
6199
+
6200
+ <xsl:for-each select="xalan:nodeset($tree)//element">
6201
+ <xsl:text disable-output-escaping="yes">&lt;</xsl:text>
6202
+ <xsl:value-of select="."/>
6203
+ <xsl:for-each select="@*[local-name() != 'pos']">
6204
+ <xsl:text> </xsl:text>
6205
+ <xsl:value-of select="local-name()"/>
6206
+ <xsl:text>="</xsl:text>
6207
+ <xsl:value-of select="."/>
6208
+ <xsl:text>"</xsl:text>
6209
+ </xsl:for-each>
6210
+ <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
6211
+ </xsl:for-each>
6212
+ </xsl:if>
6213
+ </xsl:template>
6214
+ <!-- ================================================================ -->
6215
+ <!-- END: landscape/portrait orientation processing (post-processing step) -->
6216
+ <!-- ================================================================ -->
6217
+
6015
6218
  <!-- Example: <span style="font-family:&quot;Noto Sans JP&quot;">styled text</span> -->
6016
6219
  <xsl:template match="*[local-name() = 'span'][@style]" priority="2">
6017
6220
  <xsl:variable name="styles__">
@@ -6052,6 +6255,23 @@
6052
6255
  <xsl:apply-templates/>
6053
6256
  </xsl:template>
6054
6257
 
6258
+ <!-- Don't break standard's numbers -->
6259
+ <!-- Example : <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
6260
+ <xsl:template match="*[local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" priority="2">
6261
+ <xsl:choose>
6262
+ <xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
6263
+ <xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
6264
+ <fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
6265
+ </xsl:when>
6266
+ <xsl:otherwise>
6267
+ <xsl:apply-templates/>
6268
+ </xsl:otherwise>
6269
+ </xsl:choose>
6270
+ </xsl:template>
6271
+ <xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
6272
+ <fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
6273
+ </xsl:template>
6274
+
6055
6275
  <!-- ========================= -->
6056
6276
  <!-- END Rich text formatting -->
6057
6277
  <!-- ========================= -->
@@ -6150,6 +6370,7 @@
6150
6370
  </word>
6151
6371
  <xsl:call-template name="tokenize_with_tags">
6152
6372
  <xsl:with-param name="text" select="substring-after($text, $separator)"/>
6373
+ <xsl:with-param name="tags" select="$tags"/>
6153
6374
  </xsl:call-template>
6154
6375
  </xsl:otherwise>
6155
6376
  </xsl:choose>
@@ -6189,8 +6410,18 @@
6189
6410
 
6190
6411
  <xsl:template name="add-zero-spaces-java">
6191
6412
  <xsl:param name="text" select="."/>
6192
- <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
6193
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
6413
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space, arrow right -->
6414
+ <xsl:variable name="text1" select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |→)','$1​')"/>
6415
+ <!-- add zero-width space (#x200B) after characters: 'great than' -->
6416
+ <xsl:variable name="text2" select="java:replaceAll(java:java.lang.String.new($text1), '(\u003e)(?!\u003e)', '$1​')"/><!-- negative lookahead: 'great than' not followed by 'great than' -->
6417
+ <!-- add zero-width space (#x200B) before characters: 'less than' -->
6418
+ <xsl:variable name="text3" select="java:replaceAll(java:java.lang.String.new($text2), '(?&lt;!\u003c)(\u003c)', '​$1')"/> <!-- (?<!\u003c)(\u003c) --> <!-- negative lookbehind: 'less than' not preceeded by 'less than' -->
6419
+ <!-- add zero-width space (#x200B) before character: { -->
6420
+ <xsl:variable name="text4" select="java:replaceAll(java:java.lang.String.new($text3), '(?&lt;!\W)(\{)', '​$1')"/> <!-- negative lookbehind: '{' not preceeded by 'punctuation char' -->
6421
+ <!-- add zero-width space (#x200B) after character: , -->
6422
+ <xsl:variable name="text5" select="java:replaceAll(java:java.lang.String.new($text4), '(\,)(?!\d)', '$1​')"/> <!-- negative lookahead: ',' not followed by digit -->
6423
+
6424
+ <xsl:value-of select="$text5"/>
6194
6425
  </xsl:template>
6195
6426
 
6196
6427
  <xsl:template name="add-zero-spaces-link-java">
@@ -6336,7 +6567,7 @@
6336
6567
  </xsl:copy>
6337
6568
  </xsl:template>
6338
6569
 
6339
- <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p'])]" mode="table-without-br">
6570
+ <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p']) and not(*[local-name()='sourcecode'])]" mode="table-without-br">
6340
6571
  <xsl:copy>
6341
6572
  <xsl:copy-of select="@*"/>
6342
6573
  <p>
@@ -6384,6 +6615,28 @@
6384
6615
  </xsl:for-each>
6385
6616
  </xsl:template>
6386
6617
 
6618
+ <xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'sourcecode']" mode="table-without-br">
6619
+ <xsl:apply-templates mode="table-without-br"/>
6620
+ </xsl:template>
6621
+
6622
+ <xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'sourcecode']/text()[contains(., '&#13;') or contains(., '&#10;')]" mode="table-without-br">
6623
+
6624
+ <xsl:variable name="sep">###SOURCECODE_NEWLINE###</xsl:variable>
6625
+ <xsl:variable name="sourcecode_text" select="java:replaceAll(java:java.lang.String.new(.),'(&#13;&#10;|&#13;|&#10;)', $sep)"/>
6626
+ <xsl:variable name="items">
6627
+ <xsl:call-template name="split">
6628
+ <xsl:with-param name="pText" select="$sourcecode_text"/>
6629
+ <xsl:with-param name="sep" select="$sep"/>
6630
+ <xsl:with-param name="normalize-space">false</xsl:with-param>
6631
+ </xsl:call-template>
6632
+ </xsl:variable>
6633
+ <xsl:for-each select="xalan:nodeset($items)/*">
6634
+ <p>
6635
+ <sourcecode><xsl:copy-of select="node()"/></sourcecode>
6636
+ </p>
6637
+ </xsl:for-each>
6638
+ </xsl:template>
6639
+
6387
6640
  <!-- remove redundant white spaces -->
6388
6641
  <xsl:template match="text()[not(ancestor::*[local-name() = 'sourcecode'])]" mode="table-without-br">
6389
6642
  <xsl:variable name="text" select="translate(.,'&#9;&#10;&#13;','')"/>
@@ -6414,7 +6667,7 @@
6414
6667
  <xsl:choose>
6415
6668
  <xsl:when test="@colspan">
6416
6669
  <xsl:variable name="td">
6417
- <xsl:element name="td">
6670
+ <xsl:element name="{local-name()}">
6418
6671
  <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
6419
6672
  <xsl:if test="local-name()='th'">
6420
6673
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -6429,7 +6682,7 @@
6429
6682
  </xsl:call-template>
6430
6683
  </xsl:when>
6431
6684
  <xsl:otherwise>
6432
- <xsl:element name="td">
6685
+ <xsl:element name="{local-name()}">
6433
6686
  <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
6434
6687
  <xsl:if test="local-name()='th'">
6435
6688
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -6496,7 +6749,7 @@
6496
6749
  <xsl:variable name="currentRow" select="."/>
6497
6750
 
6498
6751
  <xsl:variable name="normalizedTDs">
6499
- <xsl:for-each select="xalan:nodeset($previousRow)//td">
6752
+ <xsl:for-each select="xalan:nodeset($previousRow)//*[self::td or self::th]">
6500
6753
  <xsl:choose>
6501
6754
  <xsl:when test="@rowspan &gt; 1">
6502
6755
  <xsl:copy>
@@ -6508,7 +6761,7 @@
6508
6761
  </xsl:copy>
6509
6762
  </xsl:when>
6510
6763
  <xsl:otherwise>
6511
- <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
6764
+ <xsl:copy-of select="$currentRow/*[self::td or self::th][1 + count(current()/preceding-sibling::*[self::td or self::th][not(@rowspan) or (@rowspan = 1)])]"/>
6512
6765
  </xsl:otherwise>
6513
6766
  </xsl:choose>
6514
6767
  </xsl:for-each>
@@ -6694,6 +6947,7 @@
6694
6947
  <xsl:if test="ancestor::*[local-name() = 'sub']"><tag>sub</tag></xsl:if>
6695
6948
  <xsl:if test="ancestor::*[local-name() = 'sup']"><tag>sup</tag></xsl:if>
6696
6949
  <xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
6950
+ <xsl:if test="ancestor::*[local-name() = 'sourcecode']"><tag>sourcecode</tag></xsl:if>
6697
6951
  <xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
6698
6952
  </tags>
6699
6953
  </xsl:template>
@@ -7697,6 +7951,31 @@
7697
7951
  <xsl:apply-templates mode="svg_update"/>
7698
7952
  </xsl:copy>
7699
7953
  </xsl:template>
7954
+
7955
+ <!-- regex for 'display: inline-block;' -->
7956
+ <xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
7957
+ <xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
7958
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), $regex_svg_style_notsupported, '')"/>
7959
+ </xsl:template>
7960
+
7961
+ <!-- replace
7962
+ stroke="rgba(r, g, b, alpha)" to
7963
+ stroke="rgb(r,g,b)" stroke-opacity="alpha", and
7964
+ fill="rgba(r, g, b, alpha)" to
7965
+ fill="rgb(r,g,b)" fill-opacity="alpha" -->
7966
+ <xsl:template match="@*[local-name() = 'stroke' or local-name() = 'fill'][starts-with(normalize-space(.), 'rgba')]" mode="svg_update">
7967
+ <xsl:variable name="components_">
7968
+ <xsl:call-template name="split">
7969
+ <xsl:with-param name="pText" select="substring-before(substring-after(., '('), ')')"/>
7970
+ <xsl:with-param name="sep" select="','"/>
7971
+ </xsl:call-template>
7972
+ </xsl:variable>
7973
+ <xsl:variable name="components" select="xalan:nodeset($components_)"/>
7974
+ <xsl:variable name="att_name" select="local-name()"/>
7975
+ <xsl:attribute name="{$att_name}"><xsl:value-of select="concat('rgb(', $components/item[1], ',', $components/item[2], ',', $components/item[3], ')')"/></xsl:attribute>
7976
+ <xsl:attribute name="{$att_name}-opacity"><xsl:value-of select="$components/item[4]"/></xsl:attribute>
7977
+ </xsl:template>
7978
+
7700
7979
  <!-- ============== -->
7701
7980
  <!-- END: svg_update -->
7702
7981
  <!-- ============== -->
@@ -8335,37 +8614,15 @@
8335
8614
  <!-- =============== -->
8336
8615
  <xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
8337
8616
 
8338
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
8339
-
8340
- <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
8341
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
8342
- </xsl:if>
8343
-
8344
- <xsl:if test="ancestor::*[local-name() = 'example']">
8345
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
8346
- </xsl:if>
8347
-
8348
- <xsl:copy-of select="@id"/>
8349
-
8350
- <xsl:if test="parent::*[local-name() = 'note']">
8351
- <xsl:attribute name="margin-left">
8352
- <xsl:choose>
8353
- <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
8354
- <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
8355
- </xsl:choose>
8356
- </xsl:attribute>
8357
-
8358
- </xsl:if>
8359
- <fo:block-container margin-left="0mm">
8617
+ <xsl:variable name="sourcecode_attributes">
8618
+ <xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
8619
+ <xsl:variable name="_font-size">
8360
8620
 
8361
- <fo:block xsl:use-attribute-sets="sourcecode-style">
8362
- <xsl:variable name="_font-size">
8621
+ inherit<!-- 9 -->
8363
8622
 
8364
- inherit<!-- 9 -->
8365
-
8366
- <!-- <xsl:if test="$namespace = 'ieee'">
8367
- <xsl:if test="$current_template = 'standard'">8</xsl:if>
8368
- </xsl:if> -->
8623
+ <!-- <xsl:if test="$namespace = 'ieee'">
8624
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
8625
+ </xsl:if> -->
8369
8626
 
8370
8627
  </xsl:variable>
8371
8628
 
@@ -8380,14 +8637,60 @@
8380
8637
  </xsl:choose>
8381
8638
  </xsl:attribute>
8382
8639
  </xsl:if>
8640
+ </xsl:element>
8641
+ </xsl:variable>
8383
8642
 
8643
+ <xsl:choose>
8644
+ <xsl:when test="$isGenerateTableIF = 'true' and (ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])">
8645
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
8646
+ <xsl:attribute name="{local-name()}">
8647
+ <xsl:value-of select="."/>
8648
+ </xsl:attribute>
8649
+ </xsl:for-each>
8384
8650
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
8385
- </fo:block>
8651
+ </xsl:when>
8386
8652
 
8387
- <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
8653
+ <xsl:otherwise>
8654
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
8388
8655
 
8389
- </fo:block-container>
8390
- </fo:block-container>
8656
+ <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
8657
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
8658
+ </xsl:if>
8659
+
8660
+ <xsl:if test="ancestor::*[local-name() = 'example']">
8661
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
8662
+ </xsl:if>
8663
+
8664
+ <xsl:copy-of select="@id"/>
8665
+
8666
+ <xsl:if test="parent::*[local-name() = 'note']">
8667
+ <xsl:attribute name="margin-left">
8668
+ <xsl:choose>
8669
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
8670
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
8671
+ </xsl:choose>
8672
+ </xsl:attribute>
8673
+
8674
+ </xsl:if>
8675
+ <fo:block-container margin-left="0mm">
8676
+
8677
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
8678
+
8679
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
8680
+ <xsl:attribute name="{local-name()}">
8681
+ <xsl:value-of select="."/>
8682
+ </xsl:attribute>
8683
+ </xsl:for-each>
8684
+
8685
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
8686
+ </fo:block>
8687
+
8688
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
8689
+
8690
+ </fo:block-container>
8691
+ </fo:block-container>
8692
+ </xsl:otherwise>
8693
+ </xsl:choose>
8391
8694
  </xsl:template>
8392
8695
 
8393
8696
  <xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
@@ -10622,7 +10925,11 @@
10622
10925
  <!-- ===================================== -->
10623
10926
  <!-- Update xml -->
10624
10927
  <!-- ===================================== -->
10625
- <!-- STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
10928
+ <!-- =========================================================================== -->
10929
+ <!-- STEP1: -->
10930
+ <!-- - Re-order elements in 'preface', 'sections' based on @displayorder -->
10931
+ <!-- - Ignore 'span' without style -->
10932
+ <!-- =========================================================================== -->
10626
10933
  <xsl:template match="@*|node()" mode="update_xml_step1">
10627
10934
  <xsl:copy>
10628
10935
  <xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
@@ -10704,7 +11011,8 @@
10704
11011
  </xsl:copy>
10705
11012
  </xsl:template>
10706
11013
 
10707
- <xsl:template match="*[local-name() = 'span'][@style]" mode="update_xml_step1" priority="2">
11014
+ <!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
11015
+ <xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
10708
11016
  <xsl:copy>
10709
11017
  <xsl:copy-of select="@*"/>
10710
11018
  <xsl:apply-templates mode="update_xml_step1"/>
@@ -10714,10 +11022,13 @@
10714
11022
  <xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
10715
11023
  <xsl:apply-templates mode="update_xml_step1"/>
10716
11024
  </xsl:template>
10717
-
11025
+ <!-- =========================================================================== -->
10718
11026
  <!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
11027
+ <!-- =========================================================================== -->
10719
11028
 
11029
+ <!-- =========================================================================== -->
10720
11030
  <!-- STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
11031
+ <!-- =========================================================================== -->
10721
11032
  <xsl:template match="@*|node()" mode="update_xml_step2">
10722
11033
  <xsl:copy>
10723
11034
  <xsl:apply-templates select="@*|node()" mode="update_xml_step2"/>
@@ -10796,8 +11107,6 @@
10796
11107
  </xsl:copy>
10797
11108
  </xsl:template>
10798
11109
 
10799
- <!-- END STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
10800
-
10801
11110
  <!-- enclose sequence of 'char x' + 'combining char y' to <lang_none>xy</lang_none> -->
10802
11111
  <xsl:variable name="regex_combining_chars">(.[̀-ͯ])</xsl:variable>
10803
11112
  <xsl:variable name="element_name_lang_none">lang_none</xsl:variable>
@@ -10813,7 +11122,15 @@
10813
11122
  </xsl:call-template>
10814
11123
  </xsl:template>
10815
11124
 
11125
+ <!-- =========================================================================== -->
11126
+ <!-- END STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
11127
+ <!-- =========================================================================== -->
11128
+
11129
+ <!-- =========================================================================== -->
10816
11130
  <!-- XML UPDATE STEP: enclose standard's name into tag 'keep-together_within-line' -->
11131
+ <!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
11132
+ <!-- keep-together_within-line for: a.b, aaa.b, a.bbb, .b in table's cell ONLY -->
11133
+ <!-- =========================================================================== -->
10817
11134
  <!-- Example: <keep-together_within-line>ISO 10303-51</keep-together_within-line> -->
10818
11135
  <xsl:template match="@*|node()" mode="update_xml_enclose_keep-together_within-line">
10819
11136
  <xsl:copy>
@@ -10829,10 +11146,15 @@
10829
11146
  <xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
10830
11147
 
10831
11148
  <!-- enclose standard's number into tag 'keep-together_within-line' -->
10832
- <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
10833
11149
  <xsl:variable name="tag_keep-together_within-line_open">###<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
10834
11150
  <xsl:variable name="tag_keep-together_within-line_close">###/<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
10835
- <xsl:variable name="text_" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
11151
+ <xsl:variable name="text__" select="java:replaceAll(java:java.lang.String.new(.), $regex_standard_reference, concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
11152
+ <xsl:variable name="text_">
11153
+ <xsl:choose>
11154
+ <xsl:when test="ancestor::*[local-name() = 'table']"><xsl:value-of select="."/></xsl:when> <!-- no need enclose standard's number into tag 'keep-together_within-line' in table cells -->
11155
+ <xsl:otherwise><xsl:value-of select="$text__"/></xsl:otherwise>
11156
+ </xsl:choose>
11157
+ </xsl:variable>
10836
11158
  <xsl:variable name="text"><text><xsl:call-template name="replace_text_tags">
10837
11159
  <xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
10838
11160
  <xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
@@ -10856,7 +11178,11 @@
10856
11178
  </xsl:variable>
10857
11179
 
10858
11180
  <!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
10859
- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable>
11181
+ <!-- \S matches any non-whitespace character (equivalent to [^\r\n\t\f\v ]) -->
11182
+ <!-- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable> -->
11183
+ <!-- add &lt; and &gt; to \S -->
11184
+ <xsl:variable name="regex_S">[^\r\n\t\f\v \&lt;&gt;]</xsl:variable>
11185
+ <xsl:variable name="regex_solidus_units">((\b((<xsl:value-of select="$regex_S"/>{1,3}\/<xsl:value-of select="$regex_S"/>+)|(<xsl:value-of select="$regex_S"/>+\/<xsl:value-of select="$regex_S"/>{1,3}))\b)|(\/<xsl:value-of select="$regex_S"/>{1,3})\b)</xsl:variable>
10860
11186
  <xsl:variable name="text3">
10861
11187
  <text><xsl:for-each select="xalan:nodeset($text2)/text/node()">
10862
11188
  <xsl:choose>
@@ -10920,9 +11246,8 @@
10920
11246
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
10921
11247
  </xsl:choose>
10922
11248
  </xsl:template>
10923
-
10924
11249
  <!-- ===================================== -->
10925
- <!-- End Update xml -->
11250
+ <!-- END XML UPDATE STEP: enclose standard's name into tag 'keep-together_within-line' -->
10926
11251
  <!-- ===================================== -->
10927
11252
 
10928
11253
  <!-- for correct rendering combining chars -->