metanorma-itu 1.2.9 → 1.2.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +11 -22
  3. data/.rubocop.yml +0 -4
  4. data/lib/asciidoctor/itu/basicdoc.rng +20 -3
  5. data/lib/asciidoctor/itu/boilerplate.xml +5 -2
  6. data/lib/asciidoctor/itu/cleanup.rb +9 -0
  7. data/lib/asciidoctor/itu/converter.rb +2 -1
  8. data/lib/asciidoctor/itu/front.rb +19 -20
  9. data/lib/asciidoctor/itu/isodoc.rng +118 -4
  10. data/lib/asciidoctor/itu/itu.rng +76 -0
  11. data/lib/asciidoctor/itu/validate.rb +13 -5
  12. data/lib/isodoc/itu/base_convert.rb +70 -52
  13. data/lib/isodoc/itu/cleanup.rb +55 -0
  14. data/lib/isodoc/itu/html/header.html +12 -8
  15. data/lib/isodoc/itu/html/html_itu_intro.html +1 -1
  16. data/lib/isodoc/itu/html/html_itu_titlepage.html +15 -3
  17. data/lib/isodoc/itu/html/htmlstyle.css +59 -12
  18. data/lib/isodoc/itu/html/htmlstyle.scss +26 -5
  19. data/lib/isodoc/itu/html/word_itu_intro.html +8 -2
  20. data/lib/isodoc/itu/html/word_itu_titlepage.html +29 -6
  21. data/lib/isodoc/itu/html/wordstyle.css +34 -0
  22. data/lib/isodoc/itu/html/wordstyle.scss +33 -0
  23. data/lib/isodoc/itu/html_convert.rb +2 -2
  24. data/lib/isodoc/itu/i18n-en.yaml +4 -0
  25. data/lib/isodoc/itu/itu.implementers-guide.xsl +5705 -0
  26. data/lib/isodoc/itu/itu.in-force.xsl +5705 -0
  27. data/lib/isodoc/itu/itu.recommendation-annex.xsl +897 -376
  28. data/lib/isodoc/itu/itu.recommendation-supplement.xsl +5705 -0
  29. data/lib/isodoc/itu/itu.recommendation.xsl +897 -376
  30. data/lib/isodoc/itu/itu.resolution.xsl +897 -376
  31. data/lib/isodoc/itu/itu.technical-paper.xsl +897 -376
  32. data/lib/isodoc/itu/itu.technical-report.xsl +897 -376
  33. data/lib/isodoc/itu/metadata.rb +41 -7
  34. data/lib/isodoc/itu/pdf_convert.rb +5 -8
  35. data/lib/isodoc/itu/presentation_xml_convert.rb +49 -3
  36. data/lib/isodoc/itu/word_convert.rb +2 -2
  37. data/lib/isodoc/itu/xref.rb +101 -43
  38. data/lib/metanorma/itu/processor.rb +11 -0
  39. data/lib/metanorma/itu/version.rb +1 -1
  40. data/metanorma-itu.gemspec +2 -2
  41. metadata +11 -8
  42. data/lib/metanorma/itu/fonts_manifest.yaml +0 -4
@@ -28,20 +28,10 @@
28
28
  <xsl:with-param name="date" select="/itu:itu-standard/itu:bibdata/itu:date[@type = 'published']/itu:on"/>
29
29
  </xsl:call-template>
30
30
  </xsl:variable>
31
- <xsl:variable name="doctype" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype"/>
32
- <xsl:variable name="doctypeTitle">
33
- <xsl:call-template name="capitalize">
34
- <xsl:with-param name="str" select="$doctype"/>
35
- </xsl:call-template>
36
- </xsl:variable>
37
- <xsl:variable name="doctypeCapitalizedTitle">
38
- <xsl:call-template name="capitalizeWords">
39
- <xsl:with-param name="str" select="$doctype"/>
40
- </xsl:call-template>
41
- </xsl:variable>
31
+ <xsl:variable name="doctype" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[not(@language) or @language = '']"/>
42
32
 
43
33
  <xsl:variable name="xSTR-ACRONYM">
44
- <xsl:variable name="x" select="substring(/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']/itu:title, 1, 1)"/>
34
+ <xsl:variable name="x" select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']/itu:title[@type = 'abbrev']"/>
45
35
  <xsl:variable name="acronym" select="/itu:itu-standard/itu:bibdata/itu:docnumber"/>
46
36
  <xsl:value-of select="concat($x,'STR-', $acronym)"/>
47
37
  </xsl:variable>
@@ -75,19 +65,50 @@
75
65
  <xsl:call-template name="getLang"/>
76
66
  </xsl:variable>
77
67
 
78
-
79
- <xsl:variable name="footer-TR">
80
- <xsl:variable name="date" select="concat('(',substring(/itu:itu-standard/itu:bibdata/itu:version/itu:revision-date,1,7), ')')"/>
81
- <xsl:value-of select="concat($xSTR-ACRONYM, ' ', $date)"/>
68
+ <xsl:variable name="doctypeTitle">
69
+ <xsl:choose>
70
+ <xsl:when test="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]">
71
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
72
+ </xsl:when>
73
+ <xsl:otherwise>
74
+ <xsl:call-template name="capitalizeWords">
75
+ <xsl:with-param name="str" select="$doctype"/>
76
+ </xsl:call-template>
77
+ </xsl:otherwise>
78
+ </xsl:choose>
82
79
  </xsl:variable>
83
-
84
- <xsl:variable name="footer-IG">
85
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
86
- <xsl:text> for </xsl:text>
87
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type='ITU-Recommendation']"/>
88
- <xsl:text> </xsl:text>
89
- <xsl:variable name="date" select="concat('(',substring(/itu:itu-standard/itu:bibdata/itu:date[@type = 'published']/itu:on,1,7), ')')"/>
90
- <xsl:value-of select="$date"/>
80
+
81
+ <xsl:variable name="footer-text">
82
+ <xsl:choose>
83
+ <xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
84
+ <xsl:variable name="date" select="concat('(',substring(/itu:itu-standard/itu:bibdata/itu:version/itu:revision-date,1,7), ')')"/>
85
+ <xsl:value-of select="concat($xSTR-ACRONYM, ' ', $date)"/>
86
+ </xsl:when>
87
+ <xsl:when test="$doctype = 'implementers-guide'">
88
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
89
+ <xsl:text> for </xsl:text>
90
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type='ITU-Recommendation']"/>
91
+ <xsl:text> </xsl:text>
92
+ <xsl:variable name="date" select="concat('(',substring(/itu:itu-standard/itu:bibdata/itu:date[@type = 'published']/itu:on,1,7), ')')"/>
93
+ <xsl:value-of select="$date"/>
94
+ </xsl:when>
95
+ <xsl:when test="$doctype = 'resolution'">
96
+ <!-- WTSA-16 – Resolution 1 -->
97
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting/@acronym"/>
98
+ <xsl:text> – </xsl:text>
99
+ <xsl:value-of select="$doctypeTitle"/>
100
+ <xsl:text> </xsl:text>
101
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:docnumber"/>
102
+ </xsl:when>
103
+ <xsl:when test="$doctype = 'recommendation-supplement'">
104
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement-Short']"/>
105
+ <xsl:text> </xsl:text>
106
+ <xsl:value-of select="$docdate"/>
107
+ </xsl:when>
108
+ <xsl:otherwise>
109
+ <xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
110
+ </xsl:otherwise>
111
+ </xsl:choose>
91
112
  </xsl:variable>
92
113
 
93
114
  <xsl:variable name="isAmendment" select="normalize-space(/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:amendment[@language = $lang])"/>
@@ -96,6 +117,9 @@
96
117
  <xsl:template match="/">
97
118
  <xsl:call-template name="namespaceCheck"/>
98
119
  <fo:root font-family="Times New Roman, STIX Two Math" font-size="12pt" xml:lang="{$lang}">
120
+ <xsl:if test="$doctype = 'resolution'">
121
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
122
+ </xsl:if>
99
123
  <fo:layout-master-set>
100
124
 
101
125
 
@@ -295,17 +319,28 @@
295
319
 
296
320
  <!-- cover page -->
297
321
  <fo:page-sequence master-reference="cover-page">
322
+ <xsl:if test="$doctype = 'resolution'">
323
+ <xsl:attribute name="force-page-count">no-force</xsl:attribute>
324
+ </xsl:if>
298
325
  <fo:flow flow-name="xsl-region-body">
299
326
 
300
- <fo:block-container absolute-position="fixed" left="148mm" top="265mm">
301
- <fo:block>
302
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" width="42.6mm" content-height="17.7mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
327
+ <fo:block-container absolute-position="fixed" top="265mm">
328
+ <fo:block text-align="right" margin-right="19mm">
329
+ <xsl:choose>
330
+ <xsl:when test="$doctype = 'resolution'">
331
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo_resolution))}" content-height="21mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image Logo"/>
332
+ </xsl:when>
333
+ <xsl:otherwise>
334
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" content-height="17.7mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image Logo"/>
335
+ </xsl:otherwise>
336
+ </xsl:choose>
337
+
303
338
  </fo:block>
304
339
  </fo:block-container>
305
340
 
306
- <fo:block-container absolute-position="fixed" left="-7mm" top="0">
341
+ <fo:block-container absolute-position="fixed" left="-7mm" top="0" font-size="0">
307
342
  <fo:block>
308
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Fond-Rec))}" width="43.6mm" content-height="299.2mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
343
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Fond-Rec))}" width="43.6mm" content-height="299.2mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image Cover Page"/>
309
344
  </fo:block>
310
345
  </fo:block-container>
311
346
  <fo:block-container font-family="Arial">
@@ -341,13 +376,35 @@
341
376
  <fo:block font-size="30pt" font-weight="bold" text-align="right" margin-top="12pt" padding="0mm">
342
377
  <xsl:choose>
343
378
  <xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
344
- <xsl:value-of select="$doctypeCapitalizedTitle"/>
379
+ <xsl:value-of select="$doctypeTitle"/>
345
380
  </xsl:when>
346
381
  <xsl:when test="$doctype = 'implementers-guide'">
347
382
  <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type='ITU-Recommendation']"/>
348
383
  <xsl:text> </xsl:text>
349
384
  <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
350
385
  </xsl:when>
386
+ <xsl:when test="$doctype = 'resolution'"/>
387
+ <xsl:when test="$doctype = 'recommendation-supplement'">
388
+ <!-- Series L -->
389
+ <xsl:variable name="title-series">
390
+ <xsl:call-template name="getLocalizedString">
391
+ <xsl:with-param name="key">series</xsl:with-param>
392
+ </xsl:call-template>
393
+ </xsl:variable>
394
+ <xsl:call-template name="capitalize">
395
+ <xsl:with-param name="str" select="$title-series"/>
396
+ </xsl:call-template>
397
+ <xsl:text> </xsl:text>
398
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type='main']/itu:title[@type='abbrev']"/>
399
+ <!-- Ex. Supplement 37 -->
400
+ <fo:block font-size="18pt">
401
+ <xsl:call-template name="getLocalizedString">
402
+ <xsl:with-param name="key">doctype_dict.recommendation-supplement</xsl:with-param>
403
+ </xsl:call-template>
404
+ <xsl:text> </xsl:text>
405
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docnumber"/>
406
+ </fo:block>
407
+ </xsl:when>
351
408
  <xsl:otherwise>
352
409
  <xsl:value-of select="substring-after(/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU'], ' ')"/>
353
410
  </xsl:otherwise>
@@ -415,24 +472,77 @@
415
472
  </fo:table-cell>
416
473
  <fo:table-cell font-size="16pt" number-columns-spanned="3" border-bottom="0.5mm solid black" padding-right="2mm" display-align="after">
417
474
  <fo:block padding-bottom="7mm">
475
+ <xsl:if test="$doctype = 'resolution'">
476
+ <fo:block><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting"/></fo:block>
477
+ <fo:block>
478
+ <xsl:variable name="meeting-place" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting-place"/>
479
+ <xsl:variable name="meeting-date_from" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting-date/itu:from"/>
480
+ <xsl:variable name="meeting-date_from_year" select="substring($meeting-date_from, 1, 4)"/>
481
+ <xsl:variable name="meeting-date_to" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting-date/itu:to"/>
482
+ <xsl:variable name="meeting-date_to_year" select="substring($meeting-date_to, 1, 4)"/>
483
+
484
+ <xsl:variable name="date_format">
485
+ <xsl:choose>
486
+ <xsl:when test="$meeting-date_from_year = $meeting-date_to_year">ddMM</xsl:when>
487
+ <xsl:otherwise>ddMMyyyy</xsl:otherwise>
488
+ </xsl:choose>
489
+ </xsl:variable>
490
+ <xsl:variable name="meeting-date_from_str">
491
+ <xsl:call-template name="convertDateLocalized">
492
+ <xsl:with-param name="date" select="$meeting-date_from"/>
493
+ <xsl:with-param name="format" select="$date_format"/>
494
+ </xsl:call-template>
495
+ </xsl:variable>
496
+
497
+ <xsl:variable name="meeting-date_to_str">
498
+ <xsl:call-template name="convertDateLocalized">
499
+ <xsl:with-param name="date" select="$meeting-date_to"/>
500
+ <xsl:with-param name="format" select="'ddMMyyyy'"/>
501
+ </xsl:call-template>
502
+ </xsl:variable>
503
+
504
+ <xsl:value-of select="$meeting-place"/>
505
+ <xsl:if test="$meeting-place != '' and (normalize-space($meeting-date_from_str) != '' or normalize-space($meeting-date_to_str != ''))">
506
+ <xsl:text>, </xsl:text>
507
+ <xsl:value-of select="$meeting-date_from_str"/>
508
+ <xsl:if test="normalize-space($meeting-date_from_str) != '' and normalize-space($meeting-date_to_str) != ''">
509
+ <xsl:text> – </xsl:text>
510
+ </xsl:if>
511
+ <xsl:value-of select="$meeting-date_to_str"/>
512
+ </xsl:if>
513
+ </fo:block>
514
+ </xsl:if>
418
515
  <fo:block text-transform="uppercase">
419
- <xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']) != ''">
516
+ <xsl:variable name="series_title" select="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']/itu:title[@type = 'full'])"/>
517
+ <xsl:if test="$series_title != ''">
420
518
  <xsl:variable name="title">
421
- <xsl:text>Series </xsl:text>
422
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']"/>
519
+ <xsl:if test="$doctype != 'resolution'">
520
+ <!-- <xsl:text>Series </xsl:text> -->
521
+ <xsl:call-template name="getLocalizedString">
522
+ <xsl:with-param name="key">series</xsl:with-param>
523
+ </xsl:call-template>
524
+ <xsl:text> </xsl:text>
525
+ </xsl:if>
526
+ <xsl:value-of select="$series_title"/>
423
527
  </xsl:variable>
424
528
  <xsl:value-of select="$title"/>
425
529
  </xsl:if>
426
530
  </fo:block>
427
- <xsl:if test="/itu:itu-standard/itu:bibdata/itu:series">
428
- <fo:block margin-top="6pt">
429
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'secondary']"/>
430
- <xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']) != ''">
431
- <xsl:text> — </xsl:text>
432
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']"/>
531
+ <xsl:choose>
532
+ <xsl:when test="$doctype = 'recommendation-supplement'"/>
533
+ <xsl:otherwise>
534
+ <xsl:if test="/itu:itu-standard/itu:bibdata/itu:series">
535
+ <fo:block margin-top="6pt">
536
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'secondary']"/>
537
+ <xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']) != ''">
538
+ <xsl:text> — </xsl:text>
539
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']"/>
540
+ </xsl:if>
541
+ </fo:block>
433
542
  </xsl:if>
434
- </fo:block>
435
- </xsl:if>
543
+ </xsl:otherwise>
544
+ </xsl:choose>
545
+
436
546
  </fo:block>
437
547
  </fo:table-cell>
438
548
  </fo:table-row>
@@ -454,6 +564,11 @@
454
564
  <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
455
565
  <xsl:text> for </xsl:text>
456
566
  </xsl:if>
567
+ <xsl:if test="$doctype = 'resolution'">
568
+ <!-- Resolution 1 -->
569
+ <xsl:value-of select="$doctypeTitle"/><xsl:text> </xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:docnumber"/>
570
+ <xsl:text> – </xsl:text>
571
+ </xsl:if>
457
572
  <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
458
573
  </fo:block>
459
574
  <xsl:for-each select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'annex' and @language = 'en']">
@@ -507,6 +622,9 @@
507
622
  <fo:block font-size="16pt" margin-top="3pt">
508
623
  <xsl:if test="/itu:itu-standard/itu:boilerplate/itu:legal-statement/itu:clause[@id='draft-warning']">
509
624
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
625
+ <xsl:if test="$doctype = 'recommendation-supplement'">
626
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
627
+ </xsl:if>
510
628
  </xsl:if>
511
629
 
512
630
  <xsl:choose>
@@ -517,14 +635,19 @@
517
635
  </xsl:call-template>
518
636
  <xsl:text> </xsl:text>
519
637
  </xsl:if>
520
- <xsl:value-of select="$doctypeCapitalizedTitle"/>
638
+ <xsl:value-of select="$doctypeTitle"/>
521
639
  <xsl:text>  </xsl:text>
522
640
  <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type='ITU']"/>
523
641
  </xsl:when>
524
- <xsl:when test="$doctype = 'implementers-guide'">
642
+ <xsl:when test="$doctype = 'implementers-guide'"/>
643
+ <xsl:when test="$doctype = 'resolution'"/>
644
+ <xsl:when test="$doctype = 'recommendation-supplement'">
645
+ <xsl:if test="/itu:itu-standard/itu:bibdata/itu:status/itu:stage = 'draft'">Draft </xsl:if>
646
+ <xsl:text>ITU-</xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:editorialgroup/itu:bureau"/><xsl:text> </xsl:text>
647
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement']"/>
525
648
  </xsl:when>
526
649
  <xsl:otherwise>
527
- <xsl:value-of select="$doctypeCapitalizedTitle"/>
650
+ <xsl:value-of select="$doctypeTitle"/>
528
651
  <xsl:text>  </xsl:text>
529
652
  <xsl:if test="/itu:itu-standard/itu:bibdata/itu:contributor/itu:organization/itu:abbreviation">
530
653
  <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:contributor/itu:organization/itu:abbreviation"/>
@@ -557,39 +680,53 @@
557
680
  <fo:page-sequence master-reference="document-preface" initial-page-number="1" format="i" force-page-count="no-force">
558
681
  <xsl:call-template name="insertHeaderFooter"/>
559
682
  <fo:flow flow-name="xsl-region-body">
560
- <fo:block-container font-size="14pt" font-weight="bold">
561
- <fo:block>
562
- <xsl:value-of select="$doctypeCapitalizedTitle"/>
563
- <xsl:text> </xsl:text>
564
- <xsl:value-of select="$docname"/>
565
- </fo:block>
566
- <fo:block text-align="center" margin-top="15pt" margin-bottom="15pt">
567
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
568
- </fo:block>
569
- </fo:block-container>
570
- <!-- Summary, History ... -->
571
- <xsl:call-template name="processPrefaceSectionsDefault"/>
572
-
573
- <!-- Keywords -->
574
- <xsl:if test="/itu:itu-standard/itu:bibdata/itu:keyword">
575
- <fo:block font-size="12pt">
576
- <xsl:value-of select="$linebreak"/>
577
- <xsl:value-of select="$linebreak"/>
578
- </fo:block>
579
- <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
580
- <xsl:variable name="title-keywords">
581
- <xsl:call-template name="getTitle">
582
- <xsl:with-param name="name" select="'title-keywords'"/>
583
- </xsl:call-template>
584
- </xsl:variable>
585
- <xsl:value-of select="$title-keywords"/>
586
- </fo:block>
587
- <fo:block>
588
- <xsl:call-template name="insertKeywords"/>
589
- </fo:block>
683
+
684
+ <xsl:if test="/itu:itu-standard/itu:preface/* or /itu:itu-standard/itu:bibdata/itu:keyword">
685
+ <fo:block-container font-size="14pt" font-weight="bold">
686
+ <xsl:choose>
687
+ <xsl:when test="$doctype = 'implementers-guide'"/>
688
+ <xsl:when test="$doctype = 'recommendation-supplement'">
689
+ <fo:block>
690
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement-Internal']"/>
691
+ </fo:block>
692
+ </xsl:when>
693
+ <xsl:otherwise>
694
+ <fo:block>
695
+ <xsl:value-of select="$doctypeTitle"/>
696
+ <xsl:text> </xsl:text>
697
+ <xsl:value-of select="$docname"/>
698
+ </fo:block>
699
+ </xsl:otherwise>
700
+ </xsl:choose>
701
+ <fo:block text-align="center" margin-top="15pt" margin-bottom="15pt">
702
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
703
+ </fo:block>
704
+ </fo:block-container>
705
+ <!-- Summary, History ... -->
706
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
707
+
708
+ <!-- Keywords -->
709
+ <xsl:if test="/itu:itu-standard/itu:bibdata/itu:keyword">
710
+ <fo:block font-size="12pt">
711
+ <xsl:value-of select="$linebreak"/>
712
+ <xsl:value-of select="$linebreak"/>
713
+ </fo:block>
714
+ <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
715
+ <xsl:variable name="title-keywords">
716
+ <xsl:call-template name="getTitle">
717
+ <xsl:with-param name="name" select="'title-keywords'"/>
718
+ </xsl:call-template>
719
+ </xsl:variable>
720
+ <xsl:value-of select="$title-keywords"/>
721
+ </fo:block>
722
+ <fo:block>
723
+ <xsl:call-template name="insertKeywords"/>
724
+ </fo:block>
725
+ </xsl:if>
726
+
727
+ <fo:block break-after="page"/>
590
728
  </xsl:if>
591
729
 
592
- <fo:block break-after="page"/>
593
730
 
594
731
  <!-- FOREWORD -->
595
732
  <fo:block font-size="11pt" text-align="justify">
@@ -605,21 +742,19 @@
605
742
  <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
606
743
  </xsl:if>
607
744
 
608
- <xsl:if test="xalan:nodeset($contents)//item[@display = 'true']">
745
+ <xsl:if test="xalan:nodeset($contents)//item[@display = 'true'] and $doctype != 'resolution'">
609
746
  <fo:block break-after="page"/>
610
747
  <fo:block-container>
611
- <xsl:variable name="title-toc">
612
- <xsl:call-template name="getTitle">
613
- <xsl:with-param name="name" select="'title-toc'"/>
748
+ <fo:block margin-top="6pt" text-align="center" font-weight="bold">
749
+ <xsl:call-template name="getLocalizedString">
750
+ <xsl:with-param name="key">table_of_contents</xsl:with-param>
614
751
  </xsl:call-template>
615
- </xsl:variable>
616
- <xsl:variable name="title-page">
617
- <xsl:call-template name="getTitle">
618
- <xsl:with-param name="name" select="'title-page'"/>
752
+ </fo:block>
753
+ <fo:block margin-top="6pt" text-align="right" font-weight="bold">
754
+ <xsl:call-template name="getLocalizedString">
755
+ <xsl:with-param name="key">Page.sg</xsl:with-param>
619
756
  </xsl:call-template>
620
- </xsl:variable>
621
- <fo:block margin-top="6pt" text-align="center" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:block>
622
- <fo:block margin-top="6pt" text-align="right" font-weight="bold"><xsl:value-of select="$title-page"/></fo:block>
757
+ </fo:block>
623
758
 
624
759
  <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
625
760
  <fo:block>
@@ -686,7 +821,11 @@
686
821
  <fo:block space-before="36pt" text-align="center" font-weight="bold" keep-with-next="always">
687
822
  <xsl:value-of select="$title-list-tables"/>
688
823
  </fo:block>
689
- <fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always"><xsl:value-of select="$title-page"/></fo:block>
824
+ <fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always">
825
+ <xsl:call-template name="getLocalizedString">
826
+ <xsl:with-param name="key">Page.sg</xsl:with-param>
827
+ </xsl:call-template>
828
+ </fo:block>
690
829
 
691
830
  <fo:block-container>
692
831
  <xsl:for-each select="//itu:table[@id and itu:name]">
@@ -714,7 +853,11 @@
714
853
  <fo:block space-before="36pt" text-align="center" font-weight="bold" keep-with-next="always">
715
854
  <xsl:value-of select="$title-list-figures"/>
716
855
  </fo:block>
717
- <fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always"><xsl:value-of select="$title-page"/></fo:block>
856
+ <fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always">
857
+ <xsl:call-template name="getLocalizedString">
858
+ <xsl:with-param name="key">Page.sg</xsl:with-param>
859
+ </xsl:call-template>
860
+ </fo:block>
718
861
 
719
862
  <fo:block-container>
720
863
  <xsl:for-each select="//itu:figure[@id and itu:name]">
@@ -750,27 +893,51 @@
750
893
 
751
894
  <fo:flow flow-name="xsl-region-body">
752
895
 
753
- <fo:block-container font-size="14pt" font-weight="bold">
754
- <fo:block>
755
- <xsl:value-of select="$doctypeCapitalizedTitle"/>
756
- <xsl:text> </xsl:text>
757
- <xsl:value-of select="$docname"/>
758
- </fo:block>
759
- <fo:block text-align="center" margin-top="15pt" margin-bottom="15pt">
760
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
896
+
897
+ <fo:block-container font-size="14pt">
898
+ <xsl:choose>
899
+ <xsl:when test="$doctype = 'resolution'">
900
+ <fo:block text-align="center">
901
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type='resolution' and @language = $lang]"/>
902
+ </fo:block>
903
+ </xsl:when>
904
+ <xsl:when test="$doctype = 'implementers-guide'"/>
905
+ <xsl:when test="$doctype = 'recommendation-supplement'">
906
+ <fo:block font-weight="bold">
907
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement-Internal']"/>
908
+ </fo:block>
909
+ </xsl:when>
910
+ <xsl:otherwise>
911
+ <fo:block font-weight="bold">
912
+ <xsl:value-of select="$doctypeTitle"/>
913
+ <xsl:text> </xsl:text>
914
+ <xsl:value-of select="$docname"/>
915
+ </fo:block>
916
+ </xsl:otherwise>
917
+ </xsl:choose>
918
+ <fo:block font-weight="bold" text-align="center" margin-top="15pt" margin-bottom="15pt">
919
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = $lang]"/>
761
920
 
762
- <xsl:if test="/itu:itu-standard/itu:bibdata/itu:title[@type = 'subtitle' and @language = 'en']">
921
+ <xsl:variable name="subtitle" select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'subtitle' and @language = $lang]"/>
922
+ <xsl:if test="$subtitle != ''">
763
923
  <fo:block margin-top="18pt" font-weight="normal" font-style="italic">
764
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'subtitle' and @language = 'en']"/>
924
+ <xsl:value-of select="$subtitle"/>
765
925
  </fo:block>
766
926
  </xsl:if>
767
927
 
928
+ <xsl:variable name="resolution-placedate" select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'resolution-placedate' and @language = $lang]"/>
929
+ <xsl:if test="$doctype = 'resolution' and $resolution-placedate != ''">
930
+ <fo:block font-size="11pt" margin-top="6pt" font-weight="normal">
931
+ <fo:inline font-style="italic">
932
+ <xsl:text>(</xsl:text><xsl:value-of select="$resolution-placedate"/><xsl:text>)</xsl:text>
933
+ </fo:inline>
934
+ <xsl:apply-templates select="/itu:itu-standard/itu:bibdata/itu:note[@type = 'title-footnote']" mode="title_footnote"/>
935
+ </fo:block>
936
+ </xsl:if>
768
937
  </fo:block>
769
-
770
-
771
-
772
938
  </fo:block-container>
773
-
939
+
940
+
774
941
 
775
942
  <!-- Clause(s) -->
776
943
  <fo:block>
@@ -815,7 +982,10 @@
815
982
  </xsl:variable>
816
983
 
817
984
  <xsl:variable name="section">
818
- <xsl:call-template name="getSection"/>
985
+ <!-- <xsl:call-template name="getSection"/> -->
986
+ <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
987
+ <xsl:value-of select="."/>
988
+ </xsl:for-each>
819
989
  </xsl:variable>
820
990
 
821
991
  <xsl:variable name="type">
@@ -833,7 +1003,8 @@
833
1003
  <xsl:variable name="skip">
834
1004
  <xsl:choose>
835
1005
  <xsl:when test="ancestor-or-self::itu:bibitem">true</xsl:when>
836
- <xsl:when test="ancestor-or-self::itu:term">true</xsl:when>
1006
+ <xsl:when test="ancestor-or-self::itu:term">true</xsl:when>
1007
+ <xsl:when test="@inline-header = 'true' and not(*[local-name() = 'title']/*[local-name() = 'tab'])">true</xsl:when>
837
1008
  <xsl:otherwise>false</xsl:otherwise>
838
1009
  </xsl:choose>
839
1010
  </xsl:variable>
@@ -959,9 +1130,28 @@
959
1130
  <!-- PARAGRAPHS -->
960
1131
  <!-- ============================= -->
961
1132
  <xsl:template match="itu:p | itu:sections/itu:p">
962
- <fo:block margin-top="6pt">
1133
+ <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
1134
+ <xsl:variable name="element-name">
1135
+ <xsl:choose>
1136
+ <xsl:when test="../@inline-header = 'true' and $previous-element = 'title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
1137
+ <xsl:otherwise>fo:block</xsl:otherwise>
1138
+ </xsl:choose>
1139
+ </xsl:variable>
1140
+ <xsl:element name="{$element-name}">
1141
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1142
+ <xsl:if test="@keep-with-next = 'true'">
1143
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1144
+ </xsl:if>
1145
+ <xsl:if test="@class='supertitle'">
1146
+ <xsl:attribute name="space-before">36pt</xsl:attribute>
1147
+ <xsl:attribute name="margin-bottom">24pt</xsl:attribute>
1148
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1149
+ <xsl:attribute name="font-size">14pt</xsl:attribute>
1150
+
1151
+ </xsl:if>
963
1152
  <xsl:attribute name="text-align">
964
1153
  <xsl:choose>
1154
+ <xsl:when test="@class='supertitle'">center</xsl:when>
965
1155
  <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
966
1156
  <xsl:when test="ancestor::*[1][local-name() = 'td']/@align">
967
1157
  <xsl:value-of select="ancestor::*[1][local-name() = 'td']/@align"/>
@@ -972,8 +1162,11 @@
972
1162
  <xsl:otherwise>justify</xsl:otherwise>
973
1163
  </xsl:choose>
974
1164
  </xsl:attribute>
975
- <xsl:apply-templates/>
976
- </fo:block>
1165
+ <xsl:apply-templates/>
1166
+ </xsl:element>
1167
+ <xsl:if test="$element-name = 'fo:inline'">
1168
+ <fo:block><xsl:value-of select="$linebreak"/></fo:block>
1169
+ </xsl:if>
977
1170
  </xsl:template>
978
1171
 
979
1172
  <!-- <xsl:template match="itu:note">
@@ -1004,31 +1197,44 @@
1004
1197
  <!-- Example: [ITU-T A.23] ITU-T A.23, Recommendation ITU-T A.23, Annex A (2014), Guide for ITU-T and ISO/IEC JTC 1 cooperation. -->
1005
1198
  <xsl:template match="itu:bibitem">
1006
1199
  <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
1007
-
1008
- <xsl:choose>
1009
- <xsl:when test="itu:docidentifier[@type = 'metanorma']">
1010
- <xsl:value-of select="itu:docidentifier[@type = 'metanorma']"/>
1011
- <xsl:text> </xsl:text>
1012
- <xsl:if test="itu:docidentifier[not(@type) or not(@type = 'metanorma')]">
1013
- <xsl:value-of select="itu:docidentifier[not(@type) or not(@type = 'metanorma')]"/>
1014
- <xsl:text>, </xsl:text>
1015
- </xsl:if>
1016
- </xsl:when>
1017
- <xsl:otherwise>
1018
- <fo:inline padding-right="5mm">
1019
- <xsl:text>[</xsl:text>
1020
- <xsl:value-of select="itu:docidentifier"/>
1021
- <xsl:text>] </xsl:text>
1022
- </fo:inline>
1023
- <xsl:value-of select="itu:docidentifier"/>
1024
- <xsl:if test="itu:title">
1025
- <xsl:text>, </xsl:text>
1026
- </xsl:if>
1027
- </xsl:otherwise>
1028
- </xsl:choose>
1200
+ <xsl:if test="$doctype = 'implementers-guide'">
1201
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1202
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1203
+ </xsl:if>
1029
1204
 
1030
- <xsl:if test="itu:title">
1031
- <fo:inline font-style="italic">
1205
+ <xsl:variable name="bibitem_label">
1206
+ <xsl:choose>
1207
+ <xsl:when test="itu:docidentifier[@type = 'metanorma']">
1208
+ <xsl:value-of select="itu:docidentifier[@type = 'metanorma']"/>
1209
+ </xsl:when>
1210
+ <xsl:otherwise>
1211
+ <fo:inline padding-right="5mm">
1212
+ <xsl:text>[</xsl:text>
1213
+ <xsl:value-of select="itu:docidentifier"/>
1214
+ <xsl:text>] </xsl:text>
1215
+ </fo:inline>
1216
+ </xsl:otherwise>
1217
+ </xsl:choose>
1218
+ </xsl:variable>
1219
+
1220
+ <xsl:variable name="bibitem_body">
1221
+ <xsl:text> </xsl:text>
1222
+ <xsl:choose>
1223
+ <xsl:when test="itu:docidentifier[@type = 'metanorma']">
1224
+ <xsl:if test="itu:docidentifier[not(@type) or not(@type = 'metanorma')]">
1225
+ <xsl:value-of select="itu:docidentifier[not(@type) or not(@type = 'metanorma')]"/>
1226
+ <xsl:text>, </xsl:text>
1227
+ </xsl:if>
1228
+ </xsl:when>
1229
+ <xsl:otherwise>
1230
+ <xsl:value-of select="itu:docidentifier"/>
1231
+ <xsl:if test="itu:title">
1232
+ <xsl:text>, </xsl:text>
1233
+ </xsl:if>
1234
+ </xsl:otherwise>
1235
+ </xsl:choose>
1236
+ <xsl:if test="itu:title">
1237
+ <fo:inline font-style="italic">
1032
1238
  <xsl:choose>
1033
1239
  <xsl:when test="itu:title[@type = 'main' and @language = 'en']">
1034
1240
  <xsl:value-of select="itu:title[@type = 'main' and @language = 'en']"/>
@@ -1037,11 +1243,32 @@
1037
1243
  <xsl:value-of select="itu:title"/>
1038
1244
  </xsl:otherwise>
1039
1245
  </xsl:choose>
1040
- </fo:inline>
1246
+ </fo:inline>
1041
1247
  </xsl:if>
1042
1248
  <xsl:if test="itu:formattedref and not(itu:docidentifier[@type = 'metanorma'])">, </xsl:if>
1043
1249
  <xsl:apply-templates select="itu:formattedref"/>
1044
- </fo:block>
1250
+ </xsl:variable>
1251
+
1252
+ <xsl:choose>
1253
+ <xsl:when test="$doctype = 'implementers-guide'">
1254
+ <fo:table width="100%" table-layout="fixed">
1255
+ <fo:table-column column-width="20%"/>
1256
+ <fo:table-column column-width="80%"/>
1257
+ <fo:table-body>
1258
+ <fo:table-row>
1259
+ <fo:table-cell><fo:block><xsl:copy-of select="$bibitem_label"/></fo:block></fo:table-cell>
1260
+ <fo:table-cell><fo:block><xsl:copy-of select="$bibitem_body"/></fo:block></fo:table-cell>
1261
+ </fo:table-row>
1262
+ </fo:table-body>
1263
+ </fo:table>
1264
+ </xsl:when>
1265
+ <xsl:otherwise>
1266
+ <xsl:copy-of select="$bibitem_label"/>
1267
+ <xsl:copy-of select="$bibitem_body"/>
1268
+ </xsl:otherwise>
1269
+ </xsl:choose>
1270
+
1271
+ </fo:block>
1045
1272
  </xsl:template>
1046
1273
  <xsl:template match="itu:bibitem/itu:docidentifier"/>
1047
1274
 
@@ -1075,24 +1302,31 @@
1075
1302
  <xsl:template match="itu:annex/itu:title">
1076
1303
  <fo:block font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
1077
1304
  <fo:block><xsl:apply-templates/></fo:block>
1078
- <fo:block font-size="12pt" font-weight="normal" margin-top="6pt">
1079
- <xsl:choose>
1080
- <xsl:when test="parent::*[@obligation = 'informative']">
1081
- <xsl:text>(This appendix does not form an integral part of this Recommendation.)</xsl:text>
1082
- </xsl:when>
1083
- <xsl:otherwise>
1084
- <xsl:text>(This annex forms an integral part of this Recommendation.)</xsl:text>
1085
- </xsl:otherwise>
1086
- </xsl:choose>
1087
- </fo:block>
1305
+ <xsl:if test="$doctype != 'resolution'">
1306
+ <fo:block font-size="12pt" font-weight="normal" margin-top="6pt">
1307
+ <xsl:choose>
1308
+ <xsl:when test="parent::*[@obligation = 'informative']">
1309
+ <xsl:text>(This appendix does not form an integral part of this Recommendation.)</xsl:text>
1310
+ </xsl:when>
1311
+ <xsl:otherwise>
1312
+ <xsl:text>(This annex forms an integral part of this Recommendation.)</xsl:text>
1313
+ </xsl:otherwise>
1314
+ </xsl:choose>
1315
+ </fo:block>
1316
+ </xsl:if>
1088
1317
  </fo:block>
1089
1318
  </xsl:template>
1090
1319
 
1091
1320
  <!-- Bibliography -->
1092
1321
  <xsl:template match="itu:references[not(@normative='true')]/itu:title">
1093
1322
  <fo:block font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
1094
- <xsl:apply-templates/>
1095
- </fo:block>
1323
+ <xsl:if test="$doctype = 'implementers-guide'">
1324
+ <xsl:attribute name="text-align">left</xsl:attribute>
1325
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
1326
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1327
+ </xsl:if>
1328
+ <xsl:apply-templates/>
1329
+ </fo:block>
1096
1330
  </xsl:template>
1097
1331
 
1098
1332
  <xsl:template match="itu:title">
@@ -1103,12 +1337,21 @@
1103
1337
 
1104
1338
  <xsl:variable name="font-size">
1105
1339
  <xsl:choose>
1340
+ <xsl:when test="$level = 1 and $doctype = 'resolution'">14pt</xsl:when>
1341
+ <xsl:when test="$level &gt;= 2 and $doctype = 'resolution' and ../@inline-header = 'true'">11pt</xsl:when>
1106
1342
  <xsl:when test="$level = 2">12pt</xsl:when>
1107
1343
  <xsl:when test="$level &gt;= 3">12pt</xsl:when>
1108
1344
  <xsl:otherwise>12pt</xsl:otherwise>
1109
1345
  </xsl:choose>
1110
1346
  </xsl:variable>
1111
1347
 
1348
+ <xsl:variable name="element-name">
1349
+ <xsl:choose>
1350
+ <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
1351
+ <xsl:otherwise>fo:block</xsl:otherwise>
1352
+ </xsl:choose>
1353
+ </xsl:variable>
1354
+
1112
1355
  <xsl:variable name="space-before">
1113
1356
  <xsl:choose>
1114
1357
  <xsl:when test="$level = '' or $level = 1">18pt</xsl:when>
@@ -1119,15 +1362,42 @@
1119
1362
 
1120
1363
  <xsl:variable name="space-after">
1121
1364
  <xsl:choose>
1365
+ <xsl:when test="$level = 1 and $doctype = 'resolution'">24pt</xsl:when>
1122
1366
  <xsl:when test="$level = 2">6pt</xsl:when>
1123
1367
  <xsl:otherwise>6pt</xsl:otherwise>
1124
1368
  </xsl:choose>
1125
1369
  </xsl:variable>
1126
1370
 
1127
- <fo:block font-size="{$font-size}" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always">
1371
+ <xsl:variable name="text-align">
1372
+ <xsl:choose>
1373
+ <xsl:when test="$level = 1 and $doctype = 'resolution'">center</xsl:when>
1374
+ <xsl:otherwise>left</xsl:otherwise>
1375
+ </xsl:choose>
1376
+ </xsl:variable>
1377
+
1378
+ <xsl:element name="{$element-name}">
1379
+ <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
1380
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1381
+ <xsl:attribute name="text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
1382
+ <xsl:attribute name="space-before"><xsl:value-of select="$space-before"/></xsl:attribute>
1383
+ <xsl:attribute name="space-after"><xsl:value-of select="$space-after"/></xsl:attribute>
1384
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1385
+ <xsl:if test="$element-name = 'fo:inline'">
1386
+ <xsl:attribute name="padding-right">
1387
+ <xsl:choose>
1388
+ <xsl:when test="$level = 2">9mm</xsl:when>
1389
+ <xsl:when test="$level = 3">6.5mm</xsl:when>
1390
+ <xsl:otherwise>4mm</xsl:otherwise>
1391
+ </xsl:choose>
1392
+ </xsl:attribute>
1393
+ </xsl:if>
1128
1394
  <xsl:apply-templates/>
1129
- </fo:block>
1130
-
1395
+ </xsl:element>
1396
+
1397
+ <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::itu:p)">
1398
+ <fo:block margin-bottom="12pt"><xsl:value-of select="$linebreak"/></fo:block>
1399
+ </xsl:if>
1400
+
1131
1401
  </xsl:template>
1132
1402
 
1133
1403
 
@@ -1235,6 +1505,27 @@
1235
1505
  </xsl:choose>
1236
1506
  </xsl:template>
1237
1507
 
1508
+ <!-- footnotes for title -->
1509
+ <xsl:template match="itu:bibdata/itu:note[@type = 'title-footnote']" mode="title_footnote">
1510
+ <xsl:variable name="number" select="position()"/>
1511
+ <fo:footnote>
1512
+ <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
1513
+ <fo:basic-link internal-destination="title_footnote_{$number}" fox:alt-text="titlefootnote {$number}">
1514
+ <xsl:value-of select="$number"/>
1515
+ </fo:basic-link>
1516
+ <xsl:if test="position() != last()">,</xsl:if><!-- <fo:inline baseline-shift="20%">,</fo:inline> -->
1517
+ </fo:inline>
1518
+ <fo:footnote-body>
1519
+ <fo:block font-size="11pt" margin-bottom="12pt" text-align="justify">
1520
+ <fo:inline id="title_footnote_{$number}" font-size="85%" padding-right="2mm" keep-with-next.within-line="always" baseline-shift="30%">
1521
+ <xsl:value-of select="$number"/>
1522
+ </fo:inline>
1523
+ <xsl:apply-templates/>
1524
+ </fo:block>
1525
+ </fo:footnote-body>
1526
+ </fo:footnote>
1527
+ </xsl:template>
1528
+
1238
1529
  <xsl:variable name="p_fn">
1239
1530
  <xsl:for-each select="//itu:p/itu:fn[generate-id(.)=generate-id(key('kfn',@reference)[1])]">
1240
1531
  <!-- copy unique fn -->
@@ -1252,19 +1543,21 @@
1252
1543
  <!-- <xsl:number level="any" count="itu:p/itu:fn"/> -->
1253
1544
  <xsl:value-of select="count(xalan:nodeset($p_fn)//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
1254
1545
  </xsl:variable>
1546
+ <xsl:variable name="count_title_footnotes" select="count(/itu:itu-standard/itu:bibdata/itu:note[@type='title-footnote'])"/>
1547
+ <xsl:variable name="count_bibitem_notes" select="count(//itu:bibitem/itu:note)"/>
1548
+ <xsl:variable name="current_fn_number" select="$number + $count_title_footnotes + $count_bibitem_notes"/>
1255
1549
  <xsl:choose>
1256
1550
  <xsl:when test="xalan:nodeset($p_fn)//fn[@gen_id = $gen_id]">
1257
1551
  <fo:footnote>
1258
1552
  <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
1259
1553
  <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
1260
- <!-- <xsl:value-of select="@reference"/> -->
1261
- <xsl:value-of select="$number + count(//itu:bibitem/itu:note)"/>
1554
+ <xsl:value-of select="$current_fn_number"/>
1262
1555
  </fo:basic-link>
1263
1556
  </fo:inline>
1264
1557
  <fo:footnote-body>
1265
- <fo:block font-size="11pt" margin-bottom="12pt">
1558
+ <fo:block font-size="11pt" margin-bottom="12pt" text-align="justify">
1266
1559
  <fo:inline id="footnote_{@reference}_{$number}" font-size="85%" padding-right="2mm" keep-with-next.within-line="always" baseline-shift="30%">
1267
- <xsl:value-of select="$number + count(//itu:bibitem/itu:note)"/>
1560
+ <xsl:value-of select="$current_fn_number"/>
1268
1561
  </fo:inline>
1269
1562
  <xsl:for-each select="itu:p">
1270
1563
  <xsl:apply-templates/>
@@ -1276,7 +1569,7 @@
1276
1569
  <xsl:otherwise>
1277
1570
  <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
1278
1571
  <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
1279
- <xsl:value-of select="$number + count(//itu:bibitem/itu:note)"/>
1572
+ <xsl:value-of select="$current_fn_number"/>
1280
1573
  </fo:basic-link>
1281
1574
  </fo:inline>
1282
1575
  </xsl:otherwise>
@@ -1332,6 +1625,9 @@
1332
1625
  <xsl:apply-templates/>
1333
1626
  </fo:list-block>
1334
1627
  <xsl:apply-templates select="./itu:note" mode="process"/>
1628
+ <xsl:if test="../@inline-header='true'">
1629
+ <fo:block><xsl:value-of select="$linebreak"/></fo:block>
1630
+ </xsl:if>
1335
1631
  </xsl:template>
1336
1632
 
1337
1633
  <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" priority="2"/>
@@ -1493,19 +1789,7 @@
1493
1789
  <fo:block><fo:page-number/></fo:block>
1494
1790
  </fo:table-cell>
1495
1791
  <fo:table-cell font-weight="bold" text-align="left" padding-bottom="8mm">
1496
- <fo:block>
1497
- <xsl:choose>
1498
- <xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
1499
- <xsl:value-of select="$footer-TR"/>
1500
- </xsl:when>
1501
- <xsl:when test="$doctype = 'implementers-guide'">
1502
- <xsl:value-of select="$footer-IG"/>
1503
- </xsl:when>
1504
- <xsl:otherwise>
1505
- <xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
1506
- </xsl:otherwise>
1507
- </xsl:choose>
1508
- </fo:block>
1792
+ <fo:block><xsl:value-of select="$footer-text"/></fo:block>
1509
1793
  </fo:table-cell>
1510
1794
  </fo:table-row>
1511
1795
  </fo:table-body>
@@ -1520,19 +1804,7 @@
1520
1804
  <fo:table-body>
1521
1805
  <fo:table-row>
1522
1806
  <fo:table-cell font-weight="bold" text-align="right" padding-bottom="8mm">
1523
- <fo:block>
1524
- <xsl:choose>
1525
- <xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
1526
- <xsl:value-of select="$footer-TR"/>
1527
- </xsl:when>
1528
- <xsl:when test="$doctype = 'implementers-guide'">
1529
- <xsl:value-of select="$footer-IG"/>
1530
- </xsl:when>
1531
- <xsl:otherwise>
1532
- <xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
1533
- </xsl:otherwise>
1534
- </xsl:choose>
1535
- </fo:block>
1807
+ <fo:block><xsl:value-of select="$footer-text"/></fo:block>
1536
1808
  </fo:table-cell>
1537
1809
  <fo:table-cell text-align="right" padding-bottom="8mm" padding-right="2mm">
1538
1810
  <fo:block><fo:page-number/></fo:block>
@@ -1553,6 +1825,10 @@
1553
1825
  <xsl:text>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</xsl:text>
1554
1826
  </xsl:variable>
1555
1827
 
1828
+ <xsl:variable name="Image-Logo_resolution">
1829
+ <xsl:text>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</xsl:text>
1830
+ </xsl:variable>
1831
+
1556
1832
  <!-- convert YYYY-MM-DD to (MM/YYYY) -->
1557
1833
  <xsl:template name="formatDate">
1558
1834
  <xsl:param name="date"/>
@@ -1970,12 +2246,14 @@
1970
2246
 
1971
2247
  </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1972
2248
 
2249
+
1973
2250
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1974
2251
 
1975
2252
 
1976
2253
 
1977
2254
 
1978
2255
 
2256
+
1979
2257
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
1980
2258
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
1981
2259
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -2117,203 +2395,242 @@
2117
2395
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2118
2396
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
2119
2397
  <xsl:call-template name="add-zero-spaces-java"/>
2120
- </xsl:template><xsl:template match="*[local-name()='table']">
2398
+ </xsl:template><xsl:template match="*[local-name()='table']" name="table">
2121
2399
 
2122
- <xsl:variable name="simple-table">
2123
- <xsl:call-template name="getSimpleTable"/>
2124
- </xsl:variable>
2400
+ <xsl:variable name="table">
2125
2401
 
2126
-
2127
- <fo:block space-before="18pt"> </fo:block>
2128
-
2129
-
2130
-
2131
-
2132
- <!-- <xsl:if test="$namespace = 'bipm'">
2133
- <fo:block>&#xA0;</fo:block>
2134
- </xsl:if> -->
2135
-
2136
- <!-- $namespace = 'iso' or -->
2137
-
2138
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2139
-
2140
-
2141
-
2142
- <xsl:call-template name="fn_name_display"/>
2402
+ <xsl:variable name="simple-table">
2403
+ <xsl:call-template name="getSimpleTable"/>
2404
+ </xsl:variable>
2143
2405
 
2144
2406
 
2145
-
2146
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2147
-
2148
- <!-- <xsl:variable name="cols-count">
2149
- <xsl:choose>
2150
- <xsl:when test="*[local-name()='thead']">
2151
- <xsl:call-template name="calculate-columns-numbers">
2152
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2153
- </xsl:call-template>
2154
- </xsl:when>
2155
- <xsl:otherwise>
2156
- <xsl:call-template name="calculate-columns-numbers">
2157
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2158
- </xsl:call-template>
2159
- </xsl:otherwise>
2160
- </xsl:choose>
2161
- </xsl:variable> -->
2162
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2163
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2164
-
2165
-
2166
-
2167
- <xsl:variable name="colwidths">
2168
- <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2169
- <xsl:call-template name="calculate-column-widths">
2170
- <xsl:with-param name="cols-count" select="$cols-count"/>
2171
- <xsl:with-param name="table" select="$simple-table"/>
2172
- </xsl:call-template>
2173
- </xsl:if>
2174
- </xsl:variable>
2175
- <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2176
-
2177
- <!-- <xsl:variable name="colwidths2">
2178
- <xsl:call-template name="calculate-column-widths">
2179
- <xsl:with-param name="cols-count" select="$cols-count"/>
2180
- </xsl:call-template>
2181
- </xsl:variable> -->
2182
-
2183
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2184
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2185
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2186
-
2187
- <xsl:variable name="margin-left">
2188
- <xsl:choose>
2189
- <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2190
- <xsl:otherwise>0</xsl:otherwise>
2191
- </xsl:choose>
2192
- </xsl:variable>
2193
-
2194
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2407
+ <fo:block space-before="18pt"> </fo:block>
2195
2408
 
2196
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2197
2409
 
2198
2410
 
2199
- <xsl:attribute name="space-after">6pt</xsl:attribute>
2200
2411
 
2201
-
2202
-
2203
-
2412
+ <!-- <xsl:if test="$namespace = 'bipm'">
2413
+ <fo:block>&#xA0;</fo:block>
2414
+ </xsl:if> -->
2204
2415
 
2205
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2206
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2207
- <xsl:attribute name="space-after">18pt</xsl:attribute>
2416
+ <!-- $namespace = 'iso' or -->
2208
2417
 
2418
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2209
2419
 
2210
-
2420
+
2421
+
2422
+ <xsl:call-template name="fn_name_display"/>
2211
2423
 
2424
+
2212
2425
 
2426
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2213
2427
 
2428
+ <!-- <xsl:variable name="cols-count">
2429
+ <xsl:choose>
2430
+ <xsl:when test="*[local-name()='thead']">
2431
+ <xsl:call-template name="calculate-columns-numbers">
2432
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2433
+ </xsl:call-template>
2434
+ </xsl:when>
2435
+ <xsl:otherwise>
2436
+ <xsl:call-template name="calculate-columns-numbers">
2437
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2438
+ </xsl:call-template>
2439
+ </xsl:otherwise>
2440
+ </xsl:choose>
2441
+ </xsl:variable> -->
2442
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2443
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2444
+
2445
+
2446
+
2447
+ <xsl:variable name="colwidths">
2448
+ <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2449
+ <xsl:call-template name="calculate-column-widths">
2450
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2451
+ <xsl:with-param name="table" select="$simple-table"/>
2452
+ </xsl:call-template>
2453
+ </xsl:if>
2454
+ </xsl:variable>
2455
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2214
2456
 
2457
+ <!-- <xsl:variable name="colwidths2">
2458
+ <xsl:call-template name="calculate-column-widths">
2459
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2460
+ </xsl:call-template>
2461
+ </xsl:variable> -->
2215
2462
 
2463
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2464
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
2465
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2216
2466
 
2467
+ <xsl:variable name="margin-left">
2468
+ <xsl:choose>
2469
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2470
+ <xsl:otherwise>0</xsl:otherwise>
2471
+ </xsl:choose>
2472
+ </xsl:variable>
2217
2473
 
2218
- <xsl:variable name="table_attributes">
2219
- <attribute name="table-layout">fixed</attribute>
2220
- <attribute name="width">100%</attribute>
2221
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2222
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2474
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2223
2475
 
2476
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2224
2477
 
2225
2478
 
2226
- <attribute name="margin-left">0mm</attribute>
2227
- <attribute name="margin-right">0mm</attribute>
2479
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
2228
2480
 
2481
+
2482
+
2483
+
2229
2484
 
2230
-
2231
-
2232
-
2485
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2486
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2487
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
2233
2488
 
2234
-
2235
2489
 
2236
- </xsl:variable>
2237
-
2238
-
2239
- <fo:table id="{@id}" table-omit-footer-at-break="true">
2490
+
2240
2491
 
2241
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2242
- <xsl:attribute name="{@name}">
2243
- <xsl:value-of select="."/>
2244
- </xsl:attribute>
2245
- </xsl:for-each>
2246
2492
 
2247
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
2248
- <xsl:if test="$isNoteOrFnExist = 'true'">
2249
- <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2250
- </xsl:if>
2251
2493
 
2252
- <xsl:choose>
2253
- <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2254
- <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
2255
- <fo:table-column column-width="{@width}"/>
2256
- </xsl:for-each>
2257
- </xsl:when>
2258
- <xsl:otherwise>
2259
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2260
- <xsl:choose>
2261
- <xsl:when test=". = 1 or . = 0">
2262
- <fo:table-column column-width="proportional-column-width(2)"/>
2263
- </xsl:when>
2264
- <xsl:otherwise>
2265
- <fo:table-column column-width="proportional-column-width({.})"/>
2266
- </xsl:otherwise>
2267
- </xsl:choose>
2268
- </xsl:for-each>
2269
- </xsl:otherwise>
2270
- </xsl:choose>
2271
2494
 
2272
- <xsl:choose>
2273
- <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
2274
- <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2275
- </xsl:when>
2276
- <xsl:otherwise>
2277
- <xsl:apply-templates/>
2278
- </xsl:otherwise>
2279
- </xsl:choose>
2280
2495
 
2281
- </fo:table>
2282
-
2283
- <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
2284
- <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2285
- <xsl:call-template name="insertTableFooterInSeparateTable">
2286
- <xsl:with-param name="table_attributes" select="$table_attributes"/>
2287
- <xsl:with-param name="colwidths" select="$colwidths"/>
2288
- <xsl:with-param name="colgroup" select="$colgroup"/>
2289
- </xsl:call-template>
2290
- </xsl:for-each>
2291
-
2292
- <!-- insert footer as table -->
2293
- <!-- <fo:table>
2294
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2295
- <xsl:attribute name="{@name}">
2296
- <xsl:value-of select="."/>
2297
- </xsl:attribute>
2298
- </xsl:for-each>
2299
2496
 
2300
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2497
+ <xsl:variable name="table_width">
2498
+ <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2499
+ 100%
2500
+
2501
+
2502
+ </xsl:variable>
2503
+
2504
+ <xsl:variable name="table_attributes">
2505
+ <attribute name="table-layout">fixed</attribute>
2506
+ <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2507
+ <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2508
+ <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2509
+
2510
+
2511
+
2512
+ <attribute name="margin-left">0mm</attribute>
2513
+ <attribute name="margin-right">0mm</attribute>
2514
+
2515
+
2516
+
2517
+
2518
+
2519
+
2520
+
2521
+
2522
+ </xsl:variable>
2523
+
2524
+
2525
+ <fo:table id="{@id}" table-omit-footer-at-break="true">
2526
+
2527
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2528
+ <xsl:attribute name="{@name}">
2529
+ <xsl:value-of select="."/>
2530
+ </xsl:attribute>
2531
+ </xsl:for-each>
2532
+
2533
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
2534
+ <xsl:if test="$isNoteOrFnExist = 'true'">
2535
+ <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2536
+ </xsl:if>
2537
+
2538
+ <xsl:choose>
2539
+ <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2540
+ <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
2541
+ <fo:table-column column-width="{@width}"/>
2542
+ </xsl:for-each>
2543
+ </xsl:when>
2544
+ <xsl:otherwise>
2545
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2546
+ <xsl:choose>
2547
+ <xsl:when test=". = 1 or . = 0">
2548
+ <fo:table-column column-width="proportional-column-width(2)"/>
2549
+ </xsl:when>
2550
+ <xsl:otherwise>
2551
+ <fo:table-column column-width="proportional-column-width({.})"/>
2552
+ </xsl:otherwise>
2553
+ </xsl:choose>
2554
+ </xsl:for-each>
2555
+ </xsl:otherwise>
2556
+ </xsl:choose>
2557
+
2301
2558
  <xsl:choose>
2302
- <xsl:when test=". = 1 or . = 0">
2303
- <fo:table-column column-width="proportional-column-width(2)"/>
2559
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
2560
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2304
2561
  </xsl:when>
2305
2562
  <xsl:otherwise>
2306
- <fo:table-column column-width="proportional-column-width({.})"/>
2563
+ <xsl:apply-templates/>
2307
2564
  </xsl:otherwise>
2308
2565
  </xsl:choose>
2566
+
2567
+ </fo:table>
2568
+
2569
+ <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
2570
+ <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2571
+ <xsl:call-template name="insertTableFooterInSeparateTable">
2572
+ <xsl:with-param name="table_attributes" select="$table_attributes"/>
2573
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2574
+ <xsl:with-param name="colgroup" select="$colgroup"/>
2575
+ </xsl:call-template>
2309
2576
  </xsl:for-each>
2310
- </fo:table>-->
2311
-
2312
-
2313
-
2314
-
2315
-
2316
- </fo:block-container>
2577
+
2578
+ <!-- insert footer as table -->
2579
+ <!-- <fo:table>
2580
+ <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2581
+ <xsl:attribute name="{@name}">
2582
+ <xsl:value-of select="."/>
2583
+ </xsl:attribute>
2584
+ </xsl:for-each>
2585
+
2586
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2587
+ <xsl:choose>
2588
+ <xsl:when test=". = 1 or . = 0">
2589
+ <fo:table-column column-width="proportional-column-width(2)"/>
2590
+ </xsl:when>
2591
+ <xsl:otherwise>
2592
+ <fo:table-column column-width="proportional-column-width({.})"/>
2593
+ </xsl:otherwise>
2594
+ </xsl:choose>
2595
+ </xsl:for-each>
2596
+ </fo:table>-->
2597
+
2598
+
2599
+
2600
+
2601
+
2602
+ </fo:block-container>
2603
+ </xsl:variable>
2604
+
2605
+
2606
+
2607
+ <xsl:choose>
2608
+ <xsl:when test="@width">
2609
+
2610
+ <!-- centered table when table name is centered (see table-name-style) -->
2611
+
2612
+ <fo:table table-layout="fixed" width="100%">
2613
+ <fo:table-column column-width="proportional-column-width(1)"/>
2614
+ <fo:table-column column-width="{@width}"/>
2615
+ <fo:table-column column-width="proportional-column-width(1)"/>
2616
+ <fo:table-body>
2617
+ <fo:table-row>
2618
+ <fo:table-cell column-number="2">
2619
+ <fo:block><xsl:copy-of select="$table"/></fo:block>
2620
+ </fo:table-cell>
2621
+ </fo:table-row>
2622
+ </fo:table-body>
2623
+ </fo:table>
2624
+
2625
+
2626
+
2627
+
2628
+ </xsl:when>
2629
+ <xsl:otherwise>
2630
+ <xsl:copy-of select="$table"/>
2631
+ </xsl:otherwise>
2632
+ </xsl:choose>
2633
+
2317
2634
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2318
2635
  <xsl:if test="normalize-space() != ''">
2319
2636
  <fo:block xsl:use-attribute-sets="table-name-style">
@@ -3028,7 +3345,9 @@
3028
3345
  </xsl:template><xsl:template match="*[local-name()='dl']">
3029
3346
  <fo:block-container>
3030
3347
 
3031
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3348
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3349
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3350
+ </xsl:if>
3032
3351
 
3033
3352
 
3034
3353
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -3043,6 +3362,7 @@
3043
3362
  <fo:block-container>
3044
3363
 
3045
3364
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
3365
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3046
3366
 
3047
3367
 
3048
3368
  <xsl:variable name="parent" select="local-name(..)"/>
@@ -3168,7 +3488,7 @@
3168
3488
  <xsl:with-param name="table" select="$html-table"/>
3169
3489
  </xsl:call-template>
3170
3490
  </xsl:variable>
3171
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3491
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
3172
3492
  <xsl:variable name="maxlength_dt">
3173
3493
  <xsl:call-template name="getMaxLength_dt"/>
3174
3494
  </xsl:variable>
@@ -3197,13 +3517,22 @@
3197
3517
  </xsl:when>
3198
3518
  <xsl:otherwise>
3199
3519
  <xsl:choose>
3520
+ <!-- to set width check most wide chars like `W` -->
3200
3521
  <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
3201
- <fo:table-column column-width="5%"/>
3202
- <fo:table-column column-width="95%"/>
3522
+ <fo:table-column column-width="7%"/>
3523
+ <fo:table-column column-width="93%"/>
3524
+ </xsl:when>
3525
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like ABC, etc -->
3526
+ <fo:table-column column-width="15%"/>
3527
+ <fo:table-column column-width="85%"/>
3203
3528
  </xsl:when>
3204
- <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
3205
- <fo:table-column column-width="10%"/>
3206
- <fo:table-column column-width="90%"/>
3529
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 7"> <!-- if dt contains short text like ABCDEF, etc -->
3530
+ <fo:table-column column-width="20%"/>
3531
+ <fo:table-column column-width="80%"/>
3532
+ </xsl:when>
3533
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
3534
+ <fo:table-column column-width="25%"/>
3535
+ <fo:table-column column-width="75%"/>
3207
3536
  </xsl:when>
3208
3537
  <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3209
3538
  <fo:table-column column-width="60%"/>
@@ -3235,12 +3564,32 @@
3235
3564
  </xsl:otherwise>
3236
3565
  </xsl:choose>
3237
3566
  </xsl:template><xsl:template name="getMaxLength_dt">
3238
- <xsl:for-each select="*[local-name()='dt']">
3239
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3240
- <xsl:if test="position() = 1">
3241
- <xsl:value-of select="string-length(normalize-space(.))"/>
3242
- </xsl:if>
3243
- </xsl:for-each>
3567
+ <xsl:variable name="lengths">
3568
+ <xsl:for-each select="*[local-name()='dt']">
3569
+ <xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
3570
+ <xsl:variable name="attributes">
3571
+ <xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
3572
+ <xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
3573
+ </xsl:variable>
3574
+ <length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
3575
+ </xsl:for-each>
3576
+ </xsl:variable>
3577
+ <xsl:variable name="maxLength">
3578
+ <!-- <xsl:for-each select="*[local-name()='dt']">
3579
+ <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3580
+ <xsl:if test="position() = 1">
3581
+ <xsl:value-of select="string-length(normalize-space(.))"/>
3582
+ </xsl:if>
3583
+ </xsl:for-each> -->
3584
+ <xsl:for-each select="xalan:nodeset($lengths)/length">
3585
+ <xsl:sort select="." data-type="number" order="descending"/>
3586
+ <xsl:if test="position() = 1">
3587
+ <xsl:value-of select="."/>
3588
+ </xsl:if>
3589
+ </xsl:for-each>
3590
+ </xsl:variable>
3591
+ <!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
3592
+ <xsl:value-of select="$maxLength"/>
3244
3593
  </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
3245
3594
  <xsl:param name="key_iso"/>
3246
3595
 
@@ -3389,6 +3738,7 @@
3389
3738
 
3390
3739
 
3391
3740
 
3741
+
3392
3742
 
3393
3743
  </xsl:variable>
3394
3744
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
@@ -3402,6 +3752,10 @@
3402
3752
  </xsl:if>
3403
3753
  <xsl:apply-templates/>
3404
3754
  </fo:inline>
3755
+ </xsl:template><xsl:template match="*[local-name()='underline']">
3756
+ <fo:inline text-decoration="underline">
3757
+ <xsl:apply-templates/>
3758
+ </fo:inline>
3405
3759
  </xsl:template><xsl:template match="*[local-name()='del']">
3406
3760
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3407
3761
  <xsl:apply-templates/>
@@ -3495,6 +3849,10 @@
3495
3849
  <xsl:param name="text" select="."/>
3496
3850
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3497
3851
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
3852
+ </xsl:template><xsl:template name="add-zero-spaces-link-java">
3853
+ <xsl:param name="text" select="."/>
3854
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3855
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1​')"/>
3498
3856
  </xsl:template><xsl:template name="add-zero-spaces">
3499
3857
  <xsl:param name="text" select="."/>
3500
3858
  <xsl:variable name="zero-space-after-chars">-</xsl:variable>
@@ -3755,6 +4113,11 @@
3755
4113
  <!-- replace start and end spaces to non-break space -->
3756
4114
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
3757
4115
  </xsl:copy>
4116
+ </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
4117
+ <xsl:copy>
4118
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
4119
+ </xsl:copy>
4120
+ <mathml:mspace width="0.5ex"/>
3758
4121
  </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3759
4122
  <xsl:variable name="target">
3760
4123
  <xsl:choose>
@@ -3776,7 +4139,10 @@
3776
4139
  <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3777
4140
  <xsl:choose>
3778
4141
  <xsl:when test="normalize-space(.) = ''">
3779
- <xsl:value-of select="$target"/>
4142
+ <!-- <xsl:value-of select="$target"/> -->
4143
+ <xsl:call-template name="add-zero-spaces-link-java">
4144
+ <xsl:with-param name="text" select="$target"/>
4145
+ </xsl:call-template>
3780
4146
  </xsl:when>
3781
4147
  <xsl:otherwise>
3782
4148
  <xsl:apply-templates/>
@@ -3986,7 +4352,7 @@
3986
4352
  </xsl:if> -->
3987
4353
  </fo:inline>
3988
4354
  </xsl:if>
3989
- </xsl:template><xsl:template match="*[local-name() = 'figure']">
4355
+ </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
3990
4356
  <fo:block-container id="{@id}">
3991
4357
 
3992
4358
  <fo:block>
@@ -4055,6 +4421,8 @@
4055
4421
  <xsl:variable name="bookmark-title_">
4056
4422
  <xsl:call-template name="getLangVersion">
4057
4423
  <xsl:with-param name="lang" select="@lang"/>
4424
+ <xsl:with-param name="doctype" select="@doctype"/>
4425
+ <xsl:with-param name="title" select="@title-part"/>
4058
4426
  </xsl:call-template>
4059
4427
  </xsl:variable>
4060
4428
  <xsl:choose>
@@ -4072,13 +4440,34 @@
4072
4440
  </xsl:choose>
4073
4441
  </fo:bookmark-title>
4074
4442
  <xsl:apply-templates select="contents/item" mode="bookmark"/>
4443
+
4444
+ <xsl:call-template name="insertFigureBookmarks">
4445
+ <xsl:with-param name="contents" select="contents"/>
4446
+ </xsl:call-template>
4447
+
4448
+ <xsl:call-template name="insertTableBookmarks">
4449
+ <xsl:with-param name="contents" select="contents"/>
4450
+ <xsl:with-param name="lang" select="@lang"/>
4451
+ </xsl:call-template>
4452
+
4075
4453
  </fo:bookmark>
4076
4454
 
4077
4455
  </xsl:for-each>
4078
4456
  </xsl:when>
4079
4457
  <xsl:otherwise>
4080
4458
  <xsl:for-each select="xalan:nodeset($contents)/doc">
4459
+
4081
4460
  <xsl:apply-templates select="contents/item" mode="bookmark"/>
4461
+
4462
+ <xsl:call-template name="insertFigureBookmarks">
4463
+ <xsl:with-param name="contents" select="contents"/>
4464
+ </xsl:call-template>
4465
+
4466
+ <xsl:call-template name="insertTableBookmarks">
4467
+ <xsl:with-param name="contents" select="contents"/>
4468
+ <xsl:with-param name="lang" select="@lang"/>
4469
+ </xsl:call-template>
4470
+
4082
4471
  </xsl:for-each>
4083
4472
  </xsl:otherwise>
4084
4473
  </xsl:choose>
@@ -4097,8 +4486,44 @@
4097
4486
 
4098
4487
  </fo:bookmark-tree>
4099
4488
  </xsl:if>
4489
+ </xsl:template><xsl:template name="insertFigureBookmarks">
4490
+ <xsl:param name="contents"/>
4491
+ <xsl:if test="xalan:nodeset($contents)/figure">
4492
+ <fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
4493
+ <fo:bookmark-title>Figures</fo:bookmark-title>
4494
+ <xsl:for-each select="xalan:nodeset($contents)/figure">
4495
+ <fo:bookmark internal-destination="{@id}">
4496
+ <fo:bookmark-title>
4497
+ <xsl:value-of select="normalize-space(title)"/>
4498
+ </fo:bookmark-title>
4499
+ </fo:bookmark>
4500
+ </xsl:for-each>
4501
+ </fo:bookmark>
4502
+ </xsl:if>
4503
+ </xsl:template><xsl:template name="insertTableBookmarks">
4504
+ <xsl:param name="contents"/>
4505
+ <xsl:param name="lang"/>
4506
+ <xsl:if test="xalan:nodeset($contents)/table">
4507
+ <fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
4508
+ <fo:bookmark-title>
4509
+ <xsl:choose>
4510
+ <xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
4511
+ <xsl:otherwise>Tables</xsl:otherwise>
4512
+ </xsl:choose>
4513
+ </fo:bookmark-title>
4514
+ <xsl:for-each select="xalan:nodeset($contents)/table">
4515
+ <fo:bookmark internal-destination="{@id}">
4516
+ <fo:bookmark-title>
4517
+ <xsl:value-of select="normalize-space(title)"/>
4518
+ </fo:bookmark-title>
4519
+ </fo:bookmark>
4520
+ </xsl:for-each>
4521
+ </fo:bookmark>
4522
+ </xsl:if>
4100
4523
  </xsl:template><xsl:template name="getLangVersion">
4101
4524
  <xsl:param name="lang"/>
4525
+ <xsl:param name="doctype" select="''"/>
4526
+ <xsl:param name="title" select="''"/>
4102
4527
  <xsl:choose>
4103
4528
  <xsl:when test="$lang = 'en'">
4104
4529
 
@@ -4134,6 +4559,12 @@
4134
4559
  <!-- <xsl:text> </xsl:text> -->
4135
4560
  </xsl:template><xsl:template name="getSection">
4136
4561
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4562
+ <!--
4563
+ <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
4564
+ <xsl:value-of select="."/>
4565
+ </xsl:for-each>
4566
+ -->
4567
+
4137
4568
  </xsl:template><xsl:template name="getName">
4138
4569
  <xsl:choose>
4139
4570
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -4186,6 +4617,12 @@
4186
4617
  <xsl:copy>
4187
4618
  <xsl:apply-templates mode="contents_item"/>
4188
4619
  </xsl:copy>
4620
+ </xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
4621
+ <xsl:copy>
4622
+ <xsl:apply-templates mode="contents_item"/>
4623
+ </xsl:copy>
4624
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
4625
+ <xsl:copy-of select="."/>
4189
4626
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4190
4627
  <xsl:text> </xsl:text>
4191
4628
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
@@ -4210,6 +4647,7 @@
4210
4647
 
4211
4648
 
4212
4649
 
4650
+
4213
4651
  10
4214
4652
 
4215
4653
 
@@ -4578,10 +5016,13 @@
4578
5016
  </xsl:if>
4579
5017
  </xsl:if>
4580
5018
 
5019
+
4581
5020
  <fo:block-container margin-left="0mm">
4582
5021
 
4583
5022
  <fo:block xsl:use-attribute-sets="quote-style">
4584
- <xsl:apply-templates select=".//*[local-name() = 'p']"/>
5023
+ <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
5024
+
5025
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
4585
5026
  </fo:block>
4586
5027
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
4587
5028
  <fo:block xsl:use-attribute-sets="quote-source-style">
@@ -4735,6 +5176,14 @@
4735
5176
 
4736
5177
 
4737
5178
 
5179
+
5180
+ <xsl:if test="*[1][@class='supertitle']">
5181
+ <xsl:attribute name="space-before">36pt</xsl:attribute>
5182
+ </xsl:if>
5183
+ <xsl:if test="@inline-header='true'">
5184
+ <xsl:attribute name="text-align">justify</xsl:attribute>
5185
+ </xsl:if>
5186
+
4738
5187
 
4739
5188
 
4740
5189
 
@@ -4746,7 +5195,7 @@
4746
5195
 
4747
5196
 
4748
5197
 
4749
- </xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
5198
+ </xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
4750
5199
  <fo:block break-after="page"/>
4751
5200
  <fo:block>
4752
5201
  <xsl:call-template name="setId"/>
@@ -4754,7 +5203,12 @@
4754
5203
  </fo:block>
4755
5204
  </xsl:template><xsl:template match="*[local-name() = 'clause']">
4756
5205
  <fo:block>
4757
- <xsl:call-template name="setId"/>
5206
+ <xsl:call-template name="setId"/>
5207
+
5208
+
5209
+ <xsl:if test="@inline-header='true'">
5210
+ <xsl:attribute name="text-align">justify</xsl:attribute>
5211
+ </xsl:if>
4758
5212
 
4759
5213
  <xsl:apply-templates/>
4760
5214
  </fo:block>
@@ -4900,6 +5354,8 @@
4900
5354
  <xsl:value-of select="translate(.,'. ','')"/>
4901
5355
  </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
4902
5356
  <xsl:value-of select="substring(.,1,1)"/>
5357
+ </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
5358
+ <fo:inline><xsl:apply-templates/></fo:inline>
4903
5359
  </xsl:template><xsl:template name="convertDate">
4904
5360
  <xsl:param name="date"/>
4905
5361
  <xsl:param name="format" select="'short'"/>
@@ -4924,6 +5380,57 @@
4924
5380
  </xsl:variable>
4925
5381
  <xsl:variable name="result">
4926
5382
  <xsl:choose>
5383
+ <xsl:when test="$format = 'ddMMyyyy'">
5384
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5385
+ <xsl:text> </xsl:text>
5386
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
5387
+ </xsl:when>
5388
+ <xsl:when test="$format = 'ddMM'">
5389
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5390
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
5391
+ </xsl:when>
5392
+ <xsl:when test="$format = 'short' or $day = ''">
5393
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
5394
+ </xsl:when>
5395
+ <xsl:otherwise>
5396
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
5397
+ </xsl:otherwise>
5398
+ </xsl:choose>
5399
+ </xsl:variable>
5400
+ <xsl:value-of select="$result"/>
5401
+ </xsl:template><xsl:template name="convertDateLocalized">
5402
+ <xsl:param name="date"/>
5403
+ <xsl:param name="format" select="'short'"/>
5404
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
5405
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
5406
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
5407
+ <xsl:variable name="monthStr">
5408
+ <xsl:choose>
5409
+ <xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
5410
+ <xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
5411
+ <xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
5412
+ <xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
5413
+ <xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
5414
+ <xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
5415
+ <xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
5416
+ <xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
5417
+ <xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
5418
+ <xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
5419
+ <xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
5420
+ <xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
5421
+ </xsl:choose>
5422
+ </xsl:variable>
5423
+ <xsl:variable name="result">
5424
+ <xsl:choose>
5425
+ <xsl:when test="$format = 'ddMMyyyy'">
5426
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5427
+ <xsl:text> </xsl:text>
5428
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
5429
+ </xsl:when>
5430
+ <xsl:when test="$format = 'ddMM'">
5431
+ <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5432
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
5433
+ </xsl:when>
4927
5434
  <xsl:when test="$format = 'short' or $day = ''">
4928
5435
  <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
4929
5436
  </xsl:when>
@@ -4939,7 +5446,7 @@
4939
5446
  <xsl:param name="charDelim" select="', '"/>
4940
5447
  <xsl:choose>
4941
5448
  <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
4942
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
5449
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4943
5450
  <xsl:sort data-type="text" order="ascending"/>
4944
5451
  <xsl:call-template name="insertKeyword">
4945
5452
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
@@ -4948,7 +5455,7 @@
4948
5455
  </xsl:for-each>
4949
5456
  </xsl:when>
4950
5457
  <xsl:otherwise>
4951
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
5458
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4952
5459
  <xsl:call-template name="insertKeyword">
4953
5460
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4954
5461
  <xsl:with-param name="charDelim" select="$charDelim"/>
@@ -4965,6 +5472,9 @@
4965
5472
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
4966
5473
  </xsl:choose>
4967
5474
  </xsl:template><xsl:template name="addPDFUAmeta">
5475
+ <xsl:variable name="lang">
5476
+ <xsl:call-template name="getLang"/>
5477
+ </xsl:variable>
4968
5478
  <fo:declarations>
4969
5479
  <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4970
5480
  <pdf:dictionary type="normal" key="ViewerPreferences">
@@ -4977,13 +5487,16 @@
4977
5487
  <!-- Dublin Core properties go here -->
4978
5488
  <dc:title>
4979
5489
  <xsl:variable name="title">
4980
-
4981
-
4982
-
4983
-
4984
-
4985
- <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@type='main']"/>
4986
-
5490
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5491
+
5492
+
5493
+
5494
+
5495
+
5496
+
5497
+ <xsl:value-of select="*[local-name() = 'title'][@type='main']"/>
5498
+
5499
+ </xsl:for-each>
4987
5500
  </xsl:variable>
4988
5501
  <xsl:choose>
4989
5502
  <xsl:when test="normalize-space($title) != ''">
@@ -4995,19 +5508,21 @@
4995
5508
  </xsl:choose>
4996
5509
  </dc:title>
4997
5510
  <dc:creator>
4998
-
4999
- <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
5000
-
5001
-
5002
-
5003
- </dc:creator>
5004
- <dc:description>
5005
- <xsl:variable name="abstract">
5511
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5512
+
5513
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5514
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5515
+ <xsl:if test="position() != last()">; </xsl:if>
5516
+ </xsl:for-each>
5006
5517
 
5007
5518
 
5008
5519
 
5520
+ </xsl:for-each>
5521
+ </dc:creator>
5522
+ <dc:description>
5523
+ <xsl:variable name="abstract">
5009
5524
 
5010
- <xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/>
5525
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5011
5526
 
5012
5527
 
5013
5528
  </xsl:variable>
@@ -5120,6 +5635,7 @@
5120
5635
 
5121
5636
 
5122
5637
 
5638
+
5123
5639
  </xsl:variable>
5124
5640
  <xsl:if test="$documentNS != $XSLNS">
5125
5641
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -5179,6 +5695,11 @@
5179
5695
  <xsl:call-template name="getLang"/>
5180
5696
  </xsl:variable>
5181
5697
 
5182
- <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
5698
+ <xsl:choose>
5699
+ <xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
5700
+ <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
5701
+ </xsl:when>
5702
+ <xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
5703
+ </xsl:choose>
5183
5704
 
5184
5705
  </xsl:template></xsl:stylesheet>