metanorma-iso 2.2.2 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isodoc/iso/html/header-dis.html +111 -29
  3. data/lib/isodoc/iso/html/isodoc-dis.css +65 -64
  4. data/lib/isodoc/iso/html/isodoc-dis.scss +65 -64
  5. data/lib/isodoc/iso/html/style-human.css +7 -2
  6. data/lib/isodoc/iso/html/style-human.scss +0 -1
  7. data/lib/isodoc/iso/html/style-iso.css +7 -2
  8. data/lib/isodoc/iso/html/style-iso.scss +0 -1
  9. data/lib/isodoc/iso/html/wordstyle-dis.css +160 -4
  10. data/lib/isodoc/iso/html/wordstyle-dis.scss +154 -4
  11. data/lib/isodoc/iso/html/wordstyle.css +150 -0
  12. data/lib/isodoc/iso/html/wordstyle.scss +144 -0
  13. data/lib/isodoc/iso/i18n-en.yaml +4 -4
  14. data/lib/isodoc/iso/iso.amendment.xsl +1649 -1199
  15. data/lib/isodoc/iso/iso.international-standard.xsl +1649 -1199
  16. data/lib/isodoc/iso/presentation_bibdata.rb +13 -9
  17. data/lib/isodoc/iso/presentation_xml_convert.rb +5 -3
  18. data/lib/isodoc/iso/word_convert.rb +6 -4
  19. data/lib/isodoc/iso/word_dis_cleanup.rb +30 -8
  20. data/lib/isodoc/iso/word_dis_convert.rb +5 -2
  21. data/lib/metanorma/iso/base.rb +2 -1
  22. data/lib/metanorma/iso/biblio.rng +5 -0
  23. data/lib/metanorma/iso/isodoc.rng +47 -13
  24. data/lib/metanorma/iso/validate.rb +2 -2
  25. data/lib/metanorma/iso/version.rb +1 -1
  26. data/metanorma-iso.gemspec +5 -2
  27. metadata +4 -87
  28. data/.github/workflows/automerge.yml +0 -31
  29. data/.github/workflows/rake.yml +0 -15
  30. data/.github/workflows/release.yml +0 -24
  31. data/.github/workflows/ubuntu.yml +0 -41
  32. data/Rakefile +0 -8
  33. data/bin/rspec +0 -17
  34. data/spec/assets/header.html +0 -7
  35. data/spec/assets/html.css +0 -2
  36. data/spec/assets/htmlcover.html +0 -4
  37. data/spec/assets/htmlintro.html +0 -5
  38. data/spec/assets/i18n.yaml +0 -2
  39. data/spec/assets/iso.adoc +0 -10
  40. data/spec/assets/iso.headless.html +0 -33
  41. data/spec/assets/iso.xml +0 -71
  42. data/spec/assets/rice_image1.png +0 -0
  43. data/spec/assets/scripts.html +0 -3
  44. data/spec/assets/std.css +0 -2
  45. data/spec/assets/word.css +0 -2
  46. data/spec/assets/wordcover.html +0 -3
  47. data/spec/assets/wordintro.html +0 -4
  48. data/spec/examples/103_01_02.html +0 -247
  49. data/spec/examples/english.yaml +0 -69
  50. data/spec/examples/iso_123_.xml +0 -45
  51. data/spec/examples/iso_123_all_parts.xml +0 -45
  52. data/spec/examples/iso_123_no_year_note.xml +0 -46
  53. data/spec/examples/iso_124_.xml +0 -41
  54. data/spec/examples/iso_216_.xml +0 -47
  55. data/spec/examples/iso_iec_12382_.xml +0 -48
  56. data/spec/examples/rice.adoc +0 -714
  57. data/spec/examples/rice.preview.html +0 -1870
  58. data/spec/examples/rice.sh +0 -4
  59. data/spec/examples/rice_img/1000-1_ed2amd3fig1a.png +0 -0
  60. data/spec/examples/rice_img/1000-1_ed2amd3fig1b.png +0 -0
  61. data/spec/examples/rice_img/1000-1_ed2amd3fig2.png +0 -0
  62. data/spec/examples/rice_img/1000-1_ed2amd3fig3.png +0 -0
  63. data/spec/examples/rice_img/1000-1_ed2amd3fig4.png +0 -0
  64. data/spec/examples/rice_img/1000-1_ed2amd3fig5_f.png +0 -0
  65. data/spec/examples/rice_img/1000-1_ed2amd3figA.png +0 -0
  66. data/spec/examples/rice_img/1000-1_ed2amd3figA1.png +0 -0
  67. data/spec/examples/rice_img/1000-1_ed2amd3figA2.png +0 -0
  68. data/spec/examples/rice_img/1000-1_ed2amd3figTab1.png +0 -0
  69. data/spec/examples/rice_img/1000-1_ed2amd3figTab2.png +0 -0
  70. data/spec/examples/rice_img/1001_ed2amd3fig1.png +0 -0
  71. data/spec/examples/rice_img/ISO_1213_1.png +0 -0
  72. data/spec/examples/rice_img/SL1000-1_ed2amd3fig1.png +0 -0
  73. data/spec/examples/rice_img/rice_image1.png +0 -0
  74. data/spec/examples/rice_img/rice_image2.png +0 -0
  75. data/spec/examples/rice_img/rice_image3_1.png +0 -0
  76. data/spec/examples/rice_img/rice_image3_2.png +0 -0
  77. data/spec/examples/rice_img/rice_image3_3.png +0 -0
  78. data/spec/isodoc/amd_spec.rb +0 -986
  79. data/spec/isodoc/blocks_spec.rb +0 -1174
  80. data/spec/isodoc/i18n_spec.rb +0 -1579
  81. data/spec/isodoc/inline_spec.rb +0 -1060
  82. data/spec/isodoc/iso_spec.rb +0 -255
  83. data/spec/isodoc/metadata_spec.rb +0 -701
  84. data/spec/isodoc/postproc_spec.rb +0 -1089
  85. data/spec/isodoc/ref_spec.rb +0 -439
  86. data/spec/isodoc/section_spec.rb +0 -998
  87. data/spec/isodoc/table_spec.rb +0 -420
  88. data/spec/isodoc/terms_spec.rb +0 -314
  89. data/spec/isodoc/word_dis_spec.rb +0 -2064
  90. data/spec/isodoc/xref_spec.rb +0 -1747
  91. data/spec/metanorma/amd_spec.rb +0 -724
  92. data/spec/metanorma/base_spec.rb +0 -1384
  93. data/spec/metanorma/blank_spec.rb +0 -38
  94. data/spec/metanorma/blocks_spec.rb +0 -624
  95. data/spec/metanorma/cleanup_spec.rb +0 -1645
  96. data/spec/metanorma/inline_spec.rb +0 -203
  97. data/spec/metanorma/lists_spec.rb +0 -197
  98. data/spec/metanorma/macros_spec.rb +0 -99
  99. data/spec/metanorma/processor_spec.rb +0 -161
  100. data/spec/metanorma/refs_spec.rb +0 -672
  101. data/spec/metanorma/section_spec.rb +0 -492
  102. data/spec/metanorma/table_spec.rb +0 -329
  103. data/spec/metanorma/validate_spec.rb +0 -2153
  104. data/spec/relaton/render_spec.rb +0 -568
  105. data/spec/requirements/requirement_components_spec.rb +0 -610
  106. data/spec/requirements/requirements_spec.rb +0 -1596
  107. data/spec/requirements/xref_spec.rb +0 -1211
  108. data/spec/spec_helper.rb +0 -313
  109. data/spec/vcr_cassettes/docrels.yml +0 -385
  110. data/spec/vcr_cassettes/withdrawn_iso.yml +0 -295
@@ -121,8 +121,8 @@
121
121
 
122
122
  <xsl:variable name="stagename-header-coverpage">
123
123
  <xsl:choose>
124
- <xsl:when test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">DRAFT</xsl:when>
125
- <xsl:when test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'">FINAL DRAFT</xsl:when>
124
+ <xsl:when test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM' or starts-with($stage-abbreviation, 'DTS') or starts-with($stage-abbreviation, 'DTR')">DRAFT</xsl:when>
125
+ <xsl:when test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM' or starts-with($stage-abbreviation, 'FDTS') or starts-with($stage-abbreviation, 'FDTR')">FINAL DRAFT</xsl:when>
126
126
  <xsl:when test="$stage-abbreviation = 'PRF'"/>
127
127
  <xsl:when test="$stage-abbreviation = 'IS'"/>
128
128
  <xsl:otherwise>
@@ -268,801 +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>
999
+ </fo:block>
938
1000
 
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>
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="."/>
942
1004
 
943
- </fo:block>
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">
944
1007
 
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="."/>
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']"/>
948
1010
 
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">
1011
+ <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
951
1012
 
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']"/>
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>
954
1016
 
955
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
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>
956
1020
 
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>
960
-
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>
984
- <xsl:if test="$stage-abbreviation = 'PRF'">
985
- <fo:block font-size="39pt" font-weight="bold"><xsl:value-of select="$proof-text"/></fo:block>
986
- </xsl:if>
987
- </fo:block>
988
- </fo:block-container>
989
- </fo:flow>
990
- </xsl:otherwise>
991
- </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>
992
1053
 
993
- </fo:page-sequence>
994
- </xsl:when>
1054
+ </fo:page-sequence>
1055
+ </xsl:when>
995
1056
 
996
- <xsl:when test="$isPublished = 'true'">
997
- <fo:page-sequence master-reference="cover-page-published" force-page-count="no-force">
998
- <fo:static-content flow-name="cover-page-footer" font-size="10pt">
999
- <xsl:call-template name="insertTripleLine"/>
1000
- <fo:table table-layout="fixed" width="100%" margin-bottom="3mm">
1001
- <fo:table-column column-width="50%"/>
1002
- <fo:table-column column-width="50%"/>
1003
- <fo:table-body>
1004
- <fo:table-row height="32mm">
1005
- <fo:table-cell display-align="center">
1006
- <fo:block text-align="left">
1007
- <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}"/>
1008
- </fo:block>
1009
- </fo:table-cell>
1010
- <fo:table-cell display-align="center">
1011
- <fo:block text-align="right">
1012
- <fo:block>
1013
- <xsl:call-template name="getLocalizedString">
1014
- <xsl:with-param name="key">reference_number</xsl:with-param>
1015
- </xsl:call-template>
1016
- </fo:block>
1017
- <fo:block><xsl:value-of select="$ISOname"/></fo:block>
1018
- <fo:block> </fo:block>
1019
- <fo:block> </fo:block>
1020
- <fo:block><fo:inline font-size="9pt">©</fo:inline><xsl:value-of select="concat(' ', $copyrightAbbr, ' ', $copyrightYear)"/>
1021
- <xsl:if test="$copyrightAbbrIEEE != ''">
1022
- <xsl:value-of select="$linebreak"/>
1023
- <fo:inline font-size="9pt">©</fo:inline>
1024
- <xsl:value-of select="concat(' ', $copyrightAbbrIEEE, ' ', $copyrightYear)"/>
1025
- </xsl:if>
1026
- </fo:block>
1027
- </fo:block>
1028
- </fo:table-cell>
1029
- </fo:table-row>
1030
- </fo:table-body>
1031
- </fo:table>
1032
- </fo:static-content>
1033
- <fo:flow flow-name="xsl-region-body">
1034
- <fo:block-container>
1035
- <fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1" margin-bottom="35mm">
1036
- <fo:table-column column-width="60%"/>
1037
- <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%"/>
1038
1064
  <fo:table-body>
1039
- <fo:table-row>
1040
- <fo:table-cell>
1065
+ <fo:table-row height="32mm">
1066
+ <fo:table-cell display-align="center">
1041
1067
  <fo:block text-align="left">
1042
- <xsl:value-of select="$doctype_uppercased"/>
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}"/>
1043
1069
  </fo:block>
1044
1070
  </fo:table-cell>
1045
- <fo:table-cell>
1046
- <fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
1047
- <xsl:value-of select="$docidentifierISO"/>
1048
- </fo:block>
1049
- </fo:table-cell>
1050
- </fo:table-row>
1051
- <fo:table-row>
1052
- <fo:table-cell number-columns-spanned="2" font-size="10pt" line-height="1.2">
1071
+ <fo:table-cell display-align="center">
1053
1072
  <fo:block text-align="right">
1054
- <xsl:call-template name="printEdition"/>
1055
- <xsl:value-of select="$linebreak"/>
1056
- <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>
1057
1089
  </fo:table-cell>
1058
1090
  </fo:table-row>
1059
1091
  </fo:table-body>
1060
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>
1122
+
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>
1061
1152
 
1062
- <xsl:call-template name="insertTripleLine"/>
1063
- <fo:block-container line-height="1.1">
1064
- <fo:block margin-right="40mm">
1065
- <fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
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">
1066
1214
 
1067
1215
  <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1068
1216
 
@@ -1078,7 +1226,7 @@
1078
1226
  <xsl:variable name="lang_other" select="."/>
1079
1227
 
1080
1228
  <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
1081
- <fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
1229
+ <fo:block role="H1">
1082
1230
 
1083
1231
  <!-- Example: title-intro fr -->
1084
1232
  <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
@@ -1090,444 +1238,364 @@
1090
1238
  </xsl:apply-templates>
1091
1239
 
1092
1240
  </fo:block>
1241
+
1093
1242
  </xsl:for-each>
1094
- </fo:block>
1243
+
1095
1244
  </fo:block-container>
1096
- </fo:block-container>
1097
- </fo:flow>
1098
- </fo:page-sequence>
1099
- </xsl:when>
1100
- <xsl:otherwise>
1101
- <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
1102
- <fo:static-content flow-name="cover-page-header" font-size="10pt">
1103
- <fo:block-container height="24mm" display-align="before">
1104
- <fo:block padding-top="12.5mm">
1105
- <xsl:value-of select="$copyrightText"/>
1106
- </fo:block>
1107
- </fo:block-container>
1108
- </fo:static-content>
1109
- <fo:flow flow-name="xsl-region-body">
1110
- <fo:block-container text-align="right">
1111
- <xsl:choose>
1112
- <xsl:when test="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']">
1113
- <!-- 17301 -->
1114
- <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
1115
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']"/>
1116
- </fo:block>
1117
- <!-- Date: 2016-05-01 -->
1118
- <fo:block margin-bottom="12pt">
1119
- <xsl:text>Date: </xsl:text><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/>
1120
- </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>
1121
1259
 
1122
- <!-- ISO/CD 17301-1(E) -->
1123
- <fo:block margin-bottom="12pt">
1124
- <xsl:value-of select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, $lang-1st-letter)"/>
1125
- </fo:block>
1126
- </xsl:when>
1127
- <xsl:otherwise>
1128
- <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
1129
- <!-- ISO/WD 24229(E) -->
1130
- <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"/>
1131
1264
  </fo:block>
1132
-
1133
- </xsl:otherwise>
1134
- </xsl:choose>
1135
-
1136
- <xsl:if test="normalize-space($editorialgroup) != ''">
1137
- <!-- ISO/TC 34/SC 4/WG 3 -->
1138
- <fo:block margin-bottom="12pt">
1139
- <xsl:copy-of select="$editorialgroup"/>
1140
- </fo:block>
1265
+ </fo:block-container>
1141
1266
  </xsl:if>
1267
+ </fo:flow>
1268
+ </fo:page-sequence>
1269
+ </xsl:otherwise>
1270
+ </xsl:choose>
1142
1271
 
1143
- <!-- Secretariat: AFNOR -->
1144
- <fo:block margin-bottom="100pt">
1145
- <xsl:value-of select="$secretariat"/>
1146
- <xsl:text> </xsl:text>
1147
- </fo:block>
1148
-
1149
- </fo:block-container>
1150
- <fo:block-container font-size="16pt">
1151
- <!-- Information and documentation — Codes for transcription systems -->
1152
- <fo:block font-weight="bold" role="H1">
1153
-
1154
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1155
-
1156
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
1157
-
1158
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
1159
- <xsl:with-param name="isMainLang">true</xsl:with-param>
1160
- </xsl:apply-templates>
1161
-
1162
- </fo:block>
1163
-
1164
- <xsl:for-each select="xalan:nodeset($lang_other)/lang">
1165
- <xsl:variable name="lang_other" select="."/>
1166
-
1167
- <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
1168
- <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"/> -->
1169
1277
 
1170
- <!-- Example: title-intro fr -->
1171
- <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"/> -->
1172
1283
 
1173
- <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"/> -->
1174
1288
 
1175
- <xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
1176
- <xsl:with-param name="curr_lang" select="$lang_other"/>
1177
- </xsl:apply-templates>
1289
+ <xsl:for-each select="xalan:nodeset($updated_xml_step3)">
1178
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"/>
1179
1306
  </fo:block>
1180
-
1181
- </xsl:for-each>
1182
-
1183
- </fo:block-container>
1184
- <fo:block font-size="11pt" margin-bottom="8pt"><xsl:value-of select="$linebreak"/></fo:block>
1185
- <fo:block-container font-size="40pt" text-align="center" margin-bottom="12pt" border="0.5pt solid black">
1186
- <xsl:variable name="stage-title" select="substring-after(substring-before($docidentifierISO, ' '), '/')"/>
1187
- <xsl:choose>
1188
- <xsl:when test="normalize-space($stage-title) != ''">
1189
- <fo:block padding-top="2mm"><xsl:value-of select="$stage-title"/><xsl:text> stage</xsl:text></fo:block>
1190
- </xsl:when>
1191
- <xsl:otherwise>
1192
- <xsl:attribute name="border">0pt solid white</xsl:attribute>
1193
- <fo:block> </fo:block>
1194
- </xsl:otherwise>
1195
- </xsl:choose>
1196
- </fo:block-container>
1197
- <fo:block><xsl:value-of select="$linebreak"/></fo:block>
1198
-
1199
- <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:license-statement">
1200
- <fo:block-container font-size="10pt" margin-top="12pt" margin-bottom="6pt" border="0.5pt solid black">
1201
- <fo:block padding-top="1mm">
1202
- <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:license-statement"/>
1203
1307
  </fo:block>
1204
1308
  </fo:block-container>
1205
1309
  </xsl:if>
1206
- </fo:flow>
1207
- </fo:page-sequence>
1208
- </xsl:otherwise>
1209
- </xsl:choose>
1210
-
1211
- <xsl:variable name="updated_xml_step1">
1212
- <xsl:apply-templates mode="update_xml_step1"/>
1213
- </xsl:variable>
1214
- <!-- DEBUG: updated_xml_step1=<xsl:copy-of select="$updated_xml_step1"/> -->
1215
-
1216
- <xsl:variable name="updated_xml_step2">
1217
- <xsl:apply-templates select="xalan:nodeset($updated_xml_step1)" mode="update_xml_step2"/>
1218
- </xsl:variable>
1219
- <!-- DEBUG: updated_xml_step2=<xsl:copy-of select="$updated_xml_step2"/> -->
1220
-
1221
- <xsl:variable name="updated_xml_step3">
1222
- <xsl:apply-templates select="xalan:nodeset($updated_xml_step2)" mode="update_xml_enclose_keep-together_within-line"/>
1223
- </xsl:variable>
1224
- <!-- DEBUG: updated_xml_step3=<xsl:copy-of select="$updated_xml_step3"/> -->
1225
-
1226
- <xsl:for-each select="xalan:nodeset($updated_xml_step3)">
1227
-
1228
- <fo:page-sequence master-reference="preface{$document-master-reference}" format="i" force-page-count="{$force-page-count-preface}">
1229
- <xsl:call-template name="insertHeaderFooter">
1230
- <xsl:with-param name="font-weight">normal</xsl:with-param>
1231
- </xsl:call-template>
1232
- <fo:flow flow-name="xsl-region-body" line-height="115%">
1233
- <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
1234
-
1235
- <fo:block-container height="252mm" display-align="after">
1236
- <!-- <fo:block margin-bottom="3mm">
1237
- <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}"/>
1238
- <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold"></fo:inline>
1239
- </fo:block> -->
1240
- <fo:block line-height="90%">
1241
- <fo:block font-size="9pt" text-align="justify">
1242
- <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:copyright-statement"/>
1243
- </fo:block>
1244
- </fo:block>
1245
- </fo:block-container>
1246
- </xsl:if>
1247
1310
 
1248
- <xsl:choose>
1249
- <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. -->
1250
1313
 
1251
- <xsl:otherwise>
1252
- <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
1253
- <fo:block break-after="page"/>
1254
- </xsl:if>
1255
- <fo:block-container font-weight="bold">
1256
- <fo:block role="TOC">
1257
- <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
1258
- <fo:inline font-size="16pt" font-weight="bold" role="H1">
1259
- <!-- Contents -->
1260
- <xsl:call-template name="getLocalizedString">
1261
- <xsl:with-param name="key">table_of_contents</xsl:with-param>
1262
- </xsl:call-template>
1263
- </fo:inline>
1264
- <fo:inline keep-together.within-line="always">
1265
- <fo:leader leader-pattern="space"/>
1266
- <fo:inline font-weight="normal" font-size="10pt">
1267
- <!-- 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 -->
1268
1323
  <xsl:call-template name="getLocalizedString">
1269
- <xsl:with-param name="key">locality.page</xsl:with-param>
1270
- </xsl:call-template>
1324
+ <xsl:with-param name="key">table_of_contents</xsl:with-param>
1325
+ </xsl:call-template>
1271
1326
  </fo:inline>
1272
- </fo:inline>
1273
- </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>
1274
1337
 
1275
- <xsl:if test="$debug = 'true'">
1276
- <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
1277
- DEBUG
1278
- contents=<xsl:copy-of select="$contents"/>
1279
- <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
1280
- </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>
1281
1344
 
1282
- <xsl:variable name="margin-left">12</xsl:variable>
1283
- <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 -->
1284
1347
 
1285
- <fo:block role="TOCI">
1286
- <xsl:if test="@level = 1">
1287
- <xsl:attribute name="margin-top">5pt</xsl:attribute>
1288
- </xsl:if>
1289
- <xsl:if test="@level = 3">
1290
- <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
1291
- </xsl:if>
1292
- <fo:list-block>
1293
- <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
1294
- <xsl:if test="@level &gt;= 2 or @type = 'annex'">
1295
- <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>
1296
1351
  </xsl:if>
1297
- <xsl:attribute name="provisional-distance-between-starts">
1298
- <xsl:choose>
1299
- <!-- skip 0 section without subsections -->
1300
- <xsl:when test="@level &gt;= 3"><xsl:value-of select="$margin-left * 1.2"/>mm</xsl:when>
1301
- <xsl:when test="@section != ''"><xsl:value-of select="$margin-left"/>mm</xsl:when>
1302
- <xsl:otherwise>0mm</xsl:otherwise>
1303
- </xsl:choose>
1304
- </xsl:attribute>
1305
- <fo:list-item>
1306
- <fo:list-item-label end-indent="label-end()">
1307
- <fo:block>
1308
- <xsl:value-of select="@section"/>
1309
- </fo:block>
1310
- </fo:list-item-label>
1311
- <fo:list-item-body start-indent="body-start()">
1312
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
1313
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1314
-
1315
- <xsl:apply-templates select="title"/>
1316
-
1317
- <fo:inline keep-together.within-line="always">
1318
- <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
1319
- <fo:inline>
1320
- <xsl:if test="@level = 1 and @type = 'annex'">
1321
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1322
- </xsl:if>
1323
- <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>
1324
1388
  </fo:inline>
1325
- </fo:inline>
1326
- </fo:basic-link>
1327
- </fo:block>
1328
- </fo:list-item-body>
1329
- </fo:list-item>
1330
- </fo:list-block>
1331
- </fo:block>
1332
-
1333
- </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>
1334
1395
 
1335
- <!-- List of Tables -->
1336
- <xsl:if test="$contents//tables/table">
1337
- <xsl:call-template name="insertListOf_Title">
1338
- <xsl:with-param name="title" select="$title-list-tables"/>
1339
- </xsl:call-template>
1340
- <xsl:for-each select="$contents//tables/table">
1341
- <xsl:call-template name="insertListOf_Item"/>
1342
1396
  </xsl:for-each>
1343
- </xsl:if>
1344
1397
 
1345
- <!-- List of Figures -->
1346
- <xsl:if test="$contents//figures/figure">
1347
- <xsl:call-template name="insertListOf_Title">
1348
- <xsl:with-param name="title" select="$title-list-figures"/>
1349
- </xsl:call-template>
1350
- <xsl:for-each select="$contents//figures/figure">
1351
- <xsl:call-template name="insertListOf_Item"/>
1352
- </xsl:for-each>
1353
- </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>
1354
1407
 
1355
- </fo:block>
1356
- </fo:block-container>
1357
- </xsl:otherwise>
1358
- </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>
1359
1417
 
1360
- <!-- Foreword, Introduction -->
1361
- <xsl:call-template name="processPrefaceSectionsDefault"/>
1418
+ </fo:block>
1419
+ </fo:block-container>
1420
+ </xsl:otherwise>
1421
+ </xsl:choose>
1362
1422
 
1363
- </fo:flow>
1364
- </fo:page-sequence>
1423
+ <!-- Foreword, Introduction -->
1424
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
1365
1425
 
1366
- <!-- BODY -->
1367
- <fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="1" force-page-count="no-force">
1368
- <fo:static-content flow-name="xsl-footnote-separator">
1369
- <fo:block>
1370
- <fo:leader leader-pattern="rule" leader-length="30%"/>
1371
- </fo:block>
1372
- </fo:static-content>
1373
- <xsl:call-template name="insertHeaderFooter"/>
1374
- <fo:flow flow-name="xsl-region-body">
1375
-
1376
- <fo:block-container>
1377
- <!-- Information and documentation — Codes for transcription systems -->
1378
- <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
1379
- <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%"/>
1380
1434
  </fo:block>
1381
- -->
1382
- <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">
1438
+
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">
1446
+
1447
+ <fo:block role="H1">
1448
+
1449
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1383
1450
 
1384
- <fo:block role="H1">
1451
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
1385
1452
 
1386
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
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>
1387
1457
 
1388
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
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>
1389
1462
 
1390
- <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']">
1391
1464
  <xsl:with-param name="isMainLang">true</xsl:with-param>
1392
1465
  <xsl:with-param name="isMainBody">true</xsl:with-param>
1393
1466
  </xsl:apply-templates>
1394
1467
 
1395
1468
  </fo:block>
1396
- <fo:block role="H1">
1397
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']/node()"/>
1398
- </fo:block>
1399
-
1400
- <xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
1401
- <xsl:with-param name="isMainLang">true</xsl:with-param>
1402
- <xsl:with-param name="isMainBody">true</xsl:with-param>
1403
- </xsl:apply-templates>
1404
-
1405
- </fo:block>
1406
1469
 
1407
- </fo:block-container>
1408
- <!-- Clause(s) -->
1409
- <fo:block>
1470
+ </fo:block-container>
1471
+ <!-- Clause(s) -->
1472
+ <fo:block>
1410
1473
 
1411
- <xsl:choose>
1412
- <xsl:when test="$doctype = 'amendment'">
1413
- <xsl:apply-templates select="/iso:iso-standard/iso:sections/*"/>
1414
- </xsl:when>
1415
- <xsl:otherwise>
1416
- <xsl:call-template name="processMainSectionsDefault"/>
1417
- </xsl:otherwise>
1418
- </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>
1419
1482
 
1420
- <fo:block id="lastBlock" font-size="1pt"> </fo:block>
1421
- </fo:block>
1483
+ <fo:block id="lastBlock" font-size="1pt"> </fo:block>
1484
+ </fo:block>
1422
1485
 
1423
- </fo:flow>
1424
- </fo:page-sequence>
1486
+ </fo:flow>
1487
+ </fo:page-sequence>
1425
1488
 
1426
- <!-- Index -->
1427
- <xsl:variable name="docid">
1428
- <xsl:call-template name="getDocumentId"/>
1429
- </xsl:variable>
1489
+ <xsl:variable name="docid">
1490
+ <xsl:call-template name="getDocumentId"/>
1491
+ </xsl:variable>
1430
1492
 
1431
- <xsl:variable name="current_document_index_id">
1432
- <xsl:apply-templates select="//iso:indexsect" mode="index_add_id">
1433
- <xsl:with-param name="docid" select="$docid"/>
1434
- </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>
1435
1498
 
1436
- </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>
1437
1502
 
1438
- <xsl:variable name="current_document_index">
1439
- <xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
1440
- </xsl:variable>
1503
+ <xsl:apply-templates select="xalan:nodeset($current_document_index)" mode="index"/>
1441
1504
 
1442
- <!-- <xsl:apply-templates select="//iso:indexsect" mode="index"/> -->
1443
- <xsl:apply-templates select="xalan:nodeset($current_document_index)" mode="index"/>
1444
-
1445
- <xsl:if test="$isPublished = 'true'">
1446
- <fo:page-sequence master-reference="last-page" force-page-count="no-force">
1447
- <xsl:call-template name="insertHeaderEven"/>
1448
- <fo:static-content flow-name="last-page-footer" font-size="10pt">
1449
- <fo:table table-layout="fixed" width="100%">
1450
- <fo:table-column column-width="33%"/>
1451
- <fo:table-column column-width="33%"/>
1452
- <fo:table-column column-width="34%"/>
1453
- <fo:table-body>
1454
- <fo:table-row>
1455
- <fo:table-cell display-align="center">
1456
- <fo:block font-size="9pt"><xsl:value-of select="$copyrightText"/></fo:block>
1457
- </fo:table-cell>
1458
- <fo:table-cell>
1459
- <fo:block font-size="11pt" font-weight="bold" text-align="center">
1460
- <xsl:if test="$stage-abbreviation = 'PRF'">
1461
- <xsl:value-of select="$proof-text"/>
1462
- </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> -->
1463
1548
  </fo:block>
1464
- </fo:table-cell>
1465
- <fo:table-cell>
1466
- <fo:block> </fo:block>
1467
- </fo:table-cell>
1468
- </fo:table-row>
1469
- </fo:table-body>
1470
- </fo:table>
1471
- </fo:static-content>
1472
- <fo:flow flow-name="xsl-region-body">
1473
- <fo:block-container height="252mm" display-align="after">
1474
- <xsl:call-template name="insertTripleLine"/>
1475
- <fo:block-container>
1476
- <fo:block font-size="12pt" font-weight="bold" padding-top="3.5mm" padding-bottom="0.5mm">
1477
- <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
1478
- <xsl:if test="position() = 1"><fo:inline>ICS  </fo:inline></xsl:if>
1479
- <xsl:value-of select="."/>
1480
- <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
1481
- </xsl:for-each>
1482
- <!-- <xsl:choose>
1483
- <xsl:when test="$stage-name = 'FDIS'">ICS&#xA0;&#xA0;01.140.30</xsl:when>
1484
- <xsl:when test="$stage-name = 'PRF'">ICS&#xA0;&#xA0;35.240.63</xsl:when>
1485
- <xsl:when test="$stage-name = 'published'">ICS&#xA0;&#xA0;35.240.30</xsl:when>
1486
- <xsl:otherwise>ICS&#xA0;&#xA0;67.060</xsl:otherwise>
1487
- </xsl:choose> -->
1488
- </fo:block>
1489
- <xsl:if test="/iso:iso-standard/iso:bibdata/iso:keyword">
1490
- <fo:block font-size="9pt" margin-bottom="6pt">
1491
- <xsl:variable name="title-descriptors">
1492
- <xsl:call-template name="getTitle">
1493
- <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>
1494
1559
  </xsl:call-template>
1495
- </xsl:variable>
1496
- <fo:inline font-weight="bold"><xsl:value-of select="$title-descriptors"/>: </fo:inline>
1497
- <xsl:call-template name="insertKeywords">
1498
- <xsl:with-param name="sorting">no</xsl:with-param>
1499
- </xsl:call-template>
1500
- </fo:block>
1501
- </xsl:if>
1502
- <xsl:variable name="countPages"/>
1503
- <xsl:variable name="price_based_on">
1504
- <xsl:call-template name="getLocalizedString">
1505
- <xsl:with-param name="key">price_based_on</xsl:with-param>
1506
- </xsl:call-template>
1507
- </xsl:variable>
1508
- <xsl:variable name="price_based_on_items">
1509
- <xsl:call-template name="split">
1510
- <xsl:with-param name="pText" select="$price_based_on"/>
1511
- <xsl:with-param name="sep" select="'%'"/>
1512
- <xsl:with-param name="normalize-space">false</xsl:with-param>
1513
- </xsl:call-template>
1514
- </xsl:variable>
1515
- <!-- Price based on ... pages -->
1516
- <fo:block font-size="9pt">
1517
- <xsl:for-each select="xalan:nodeset($price_based_on_items)/item">
1518
- <xsl:value-of select="."/>
1519
- <xsl:if test="position() != last()">
1520
- <fo:page-number-citation ref-id="lastBlock"/>
1521
- </xsl:if>
1522
- </xsl:for-each>
1523
- </fo:block>
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>
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>
1583
+ </fo:block>
1584
+ </fo:block-container>
1524
1585
  </fo:block-container>
1525
- </fo:block-container>
1526
- </fo:flow>
1527
- </fo:page-sequence>
1528
- </xsl:if>
1529
- </xsl:for-each>
1530
- </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="."/>
1531
1599
  </xsl:template>
1532
1600
 
1533
1601
  <xsl:template name="insertListOf_Title">
@@ -1676,6 +1744,7 @@
1676
1744
  <xsl:variable name="display">
1677
1745
  <xsl:choose>
1678
1746
  <xsl:when test="ancestor-or-self::iso:annex and $level &gt;= 2">false</xsl:when>
1747
+ <xsl:when test="ancestor-or-self::iso:introduction and $level &gt;= 2">false</xsl:when>
1679
1748
  <xsl:when test="$section = '' and $type = 'clause'">false</xsl:when>
1680
1749
  <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
1681
1750
  <xsl:otherwise>false</xsl:otherwise>
@@ -1796,6 +1865,7 @@
1796
1865
  <xsl:choose>
1797
1866
  <xsl:when test="ancestor::iso:annex and $level = 2">13pt</xsl:when>
1798
1867
  <xsl:when test="ancestor::iso:annex and $level = 3">12pt</xsl:when>
1868
+ <xsl:when test="ancestor::iso:introduction and $level &gt;= 2">11pt</xsl:when>
1799
1869
  <xsl:when test="ancestor::iso:preface">16pt</xsl:when>
1800
1870
  <xsl:when test="$level = 2">12pt</xsl:when>
1801
1871
  <xsl:when test="$level &gt;= 3">11pt</xsl:when>
@@ -1822,19 +1892,30 @@
1822
1892
  <xsl:element name="{$element-name}">
1823
1893
  <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
1824
1894
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1825
- <xsl:attribute name="margin-top"> <!-- margin-top -->
1895
+ <xsl:variable name="attribute-name-before">
1896
+ <xsl:choose>
1897
+ <xsl:when test="ancestor::iso:preface and $level = 1">margin-top</xsl:when> <!-- for Foreword and Introduction titles -->
1898
+ <xsl:otherwise>space-before</xsl:otherwise>
1899
+ </xsl:choose>
1900
+ </xsl:variable>
1901
+ <xsl:attribute name="{$attribute-name-before}"> <!-- space-before or margin-top -->
1826
1902
  <xsl:choose>
1903
+ <xsl:when test="ancestor::iso:introduction and $level &gt;= 2 and ../preceding-sibling::iso:clause">30pt</xsl:when>
1827
1904
  <xsl:when test="ancestor::iso:preface">8pt</xsl:when>
1828
1905
  <xsl:when test="$level = 2 and ancestor::iso:annex">18pt</xsl:when>
1829
1906
  <xsl:when test="$level = 1">18pt</xsl:when>
1830
- <xsl:when test="$level &gt;= 3">3pt</xsl:when>
1831
- <xsl:when test="$level = ''">6pt</xsl:when><!-- 13.5pt -->
1907
+ <xsl:when test="($level = 2 or $level = 3) and not(../preceding-sibling::iso:clause)">14pt</xsl:when> <!-- first title in 3rd level clause -->
1908
+ <xsl:when test="$level = 3">14pt</xsl:when>
1909
+ <xsl:when test="$level &gt; 3">3pt</xsl:when>
1910
+ <xsl:when test="$level = ''">6pt</xsl:when>
1832
1911
  <xsl:otherwise>12pt</xsl:otherwise>
1833
1912
  </xsl:choose>
1834
1913
  </xsl:attribute>
1835
- <xsl:attribute name="margin-bottom">
1914
+ <xsl:attribute name="space-after"> <!-- margin-bottom -->
1836
1915
  <xsl:choose>
1916
+ <xsl:when test="ancestor::iso:introduction and $level &gt;= 2">8pt</xsl:when>
1837
1917
  <xsl:when test="ancestor::iso:preface">18pt</xsl:when>
1918
+ <xsl:when test="$level = 3">9pt</xsl:when>
1838
1919
  <!-- <xsl:otherwise>12pt</xsl:otherwise> -->
1839
1920
  <xsl:otherwise>8pt</xsl:otherwise>
1840
1921
  </xsl:choose>
@@ -1900,9 +1981,26 @@
1900
1981
  </xsl:choose>
1901
1982
  </xsl:attribute>
1902
1983
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1984
+ <xsl:if test="count(ancestor::iso:li) = 1 and not(ancestor::iso:li[1]/following-sibling::iso:li) and not(following-sibling::iso:p)">
1985
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1986
+ </xsl:if>
1903
1987
  <xsl:if test="starts-with(ancestor::*[local-name() = 'table'][1]/@type, 'recommend') and not(following-sibling::*[local-name() = 'p'])">
1904
1988
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1905
1989
  </xsl:if>
1990
+ <xsl:if test="parent::*[local-name() = 'td' or local-name() = 'th']">
1991
+ <xsl:choose>
1992
+ <xsl:when test="not(following-sibling::*)"> <!-- last paragraph in table cell -->
1993
+ <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
1994
+ </xsl:when>
1995
+ <xsl:otherwise>
1996
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
1997
+ </xsl:otherwise>
1998
+ </xsl:choose>
1999
+ <!-- Special case: if paragraph in 'strong', i.e. it's sub-header, then keeps with next -->
2000
+ <xsl:if test="count(node()) = count(*[local-name() = 'strong']) and following-sibling::*">
2001
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2002
+ </xsl:if>
2003
+ </xsl:if>
1906
2004
  <xsl:if test="@id">
1907
2005
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1908
2006
  </xsl:if>
@@ -2061,7 +2159,7 @@
2061
2159
  <fo:block><fo:page-number/></fo:block>
2062
2160
  </fo:table-cell>
2063
2161
  <fo:table-cell display-align="center">
2064
- <fo:block font-size="11pt" font-weight="bold" text-align="center">
2162
+ <fo:block font-size="10pt" font-weight="bold" text-align="center">
2065
2163
  <xsl:if test="$stage-abbreviation = 'PRF'">
2066
2164
  <xsl:value-of select="$proof-text"/>
2067
2165
  </xsl:if>
@@ -2114,7 +2212,7 @@
2114
2212
  <fo:block><xsl:value-of select="$copyrightText"/></fo:block>
2115
2213
  </fo:table-cell>
2116
2214
  <fo:table-cell display-align="center">
2117
- <fo:block font-size="11pt" font-weight="bold" text-align="center">
2215
+ <fo:block font-size="10pt" font-weight="bold" text-align="center">
2118
2216
  <xsl:if test="$stage-abbreviation = 'PRF'">
2119
2217
  <xsl:value-of select="$proof-text"/>
2120
2218
  </xsl:if>
@@ -2164,6 +2262,8 @@
2164
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>
2165
2263
  </xsl:variable>
2166
2264
 
2265
+ <xsl:strip-space elements="iso:xref"/>
2266
+
2167
2267
  <!-- external parameters -->
2168
2268
 
2169
2269
  <xsl:param name="svg_images"/> <!-- svg images array -->
@@ -2589,6 +2689,14 @@
2589
2689
 
2590
2690
  </xsl:attribute-set>
2591
2691
 
2692
+ <xsl:attribute-set name="pre-style">
2693
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
2694
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2695
+
2696
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2697
+
2698
+ </xsl:attribute-set>
2699
+
2592
2700
  <xsl:attribute-set name="permission-style">
2593
2701
 
2594
2702
  </xsl:attribute-set>
@@ -2710,15 +2818,21 @@
2710
2818
  <!-- ========================== -->
2711
2819
  <xsl:variable name="table-border_">
2712
2820
 
2821
+ 1pt solid black
2713
2822
  </xsl:variable>
2714
2823
  <xsl:variable name="table-border" select="normalize-space($table-border_)"/>
2715
2824
 
2825
+ <xsl:variable name="table-cell-border_">
2826
+ 0.5pt solid black
2827
+ </xsl:variable>
2828
+ <xsl:variable name="table-cell-border" select="normalize-space($table-cell-border_)"/>
2829
+
2716
2830
  <xsl:attribute-set name="table-container-style">
2717
2831
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
2718
2832
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
2719
2833
 
2720
2834
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2721
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2835
+ <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2722
2836
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2723
2837
 
2724
2838
  </xsl:attribute-set> <!-- table-container-style -->
@@ -2726,10 +2840,8 @@
2726
2840
  <xsl:attribute-set name="table-style">
2727
2841
  <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
2728
2842
  <xsl:attribute name="table-layout">fixed</xsl:attribute>
2729
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2730
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2731
2843
 
2732
- <xsl:attribute name="border">1.5pt solid black</xsl:attribute>
2844
+ <xsl:attribute name="border"><xsl:value-of select="$table-border"/></xsl:attribute>
2733
2845
 
2734
2846
  </xsl:attribute-set><!-- table-style -->
2735
2847
 
@@ -2739,7 +2851,7 @@
2739
2851
  <xsl:attribute name="font-size">11pt</xsl:attribute>
2740
2852
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2741
2853
  <xsl:attribute name="text-align">center</xsl:attribute>
2742
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2854
+ <xsl:attribute name="margin-bottom">-12pt</xsl:attribute>
2743
2855
 
2744
2856
  </xsl:attribute-set> <!-- table-name-style -->
2745
2857
 
@@ -2751,16 +2863,16 @@
2751
2863
  <xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
2752
2864
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2753
2865
 
2754
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
2755
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
2866
+ <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
2867
+ <xsl:attribute name="border-bottom"><xsl:value-of select="$table-border"/></xsl:attribute>
2756
2868
 
2757
2869
  </xsl:attribute-set>
2758
2870
 
2759
2871
  <xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
2760
2872
 
2761
2873
  <xsl:attribute name="font-size">9pt</xsl:attribute>
2762
- <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
2763
- <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
2874
+ <xsl:attribute name="border-left"><xsl:value-of select="$table-border"/></xsl:attribute>
2875
+ <xsl:attribute name="border-right"><xsl:value-of select="$table-border"/></xsl:attribute>
2764
2876
 
2765
2877
  </xsl:attribute-set>
2766
2878
 
@@ -2775,7 +2887,9 @@
2775
2887
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2776
2888
  <xsl:attribute name="display-align">center</xsl:attribute>
2777
2889
 
2778
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2890
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2891
+ <xsl:attribute name="border-left"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
2892
+ <xsl:attribute name="border-right"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
2779
2893
 
2780
2894
  </xsl:attribute-set> <!-- table-header-cell-style -->
2781
2895
 
@@ -2786,6 +2900,7 @@
2786
2900
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2787
2901
 
2788
2902
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2903
+ <xsl:attribute name="border"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
2789
2904
 
2790
2905
  </xsl:attribute-set> <!-- table-cell-style -->
2791
2906
 
@@ -2795,6 +2910,7 @@
2795
2910
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2796
2911
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
2797
2912
 
2913
+ <xsl:attribute name="border"><xsl:value-of select="$table-border"/></xsl:attribute>
2798
2914
  <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
2799
2915
 
2800
2916
  </xsl:attribute-set> <!-- table-footer-cell-style -->
@@ -3586,6 +3702,7 @@
3586
3702
  </xsl:for-each>
3587
3703
  </xsl:template>
3588
3704
 
3705
+ <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
3589
3706
  <xsl:variable name="tag_fo_inline_keep-together_within-line_open">###fo:inline keep-together_within-line###</xsl:variable>
3590
3707
  <xsl:variable name="tag_fo_inline_keep-together_within-line_close">###/fo:inline keep-together_within-line###</xsl:variable>
3591
3708
  <xsl:template match="text()" name="text">
@@ -3802,6 +3919,8 @@
3802
3919
  <!-- Display table's name before table as standalone block -->
3803
3920
  <!-- $namespace = 'iso' or -->
3804
3921
 
3922
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
3923
+
3805
3924
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
3806
3925
 
3807
3926
  <xsl:variable name="colwidths">
@@ -3838,6 +3957,10 @@
3838
3957
 
3839
3958
  <fo:block-container xsl:use-attribute-sets="table-container-style">
3840
3959
 
3960
+ <xsl:if test="not(*[local-name() = 'name'])">
3961
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
3962
+ </xsl:if>
3963
+
3841
3964
  <!-- end table block-container attributes -->
3842
3965
 
3843
3966
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
@@ -3851,14 +3974,20 @@
3851
3974
  <xsl:variable name="table_attributes">
3852
3975
 
3853
3976
  <xsl:element name="table_attributes" use-attribute-sets="table-style">
3977
+
3978
+ <xsl:if test="$margin-side != 0">
3979
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3980
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3981
+ </xsl:if>
3982
+
3854
3983
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3855
3984
 
3856
3985
  <xsl:if test="*[local-name()='thead']">
3857
- <xsl:attribute name="border-top">1pt solid black</xsl:attribute>
3986
+ <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
3858
3987
  </xsl:if>
3859
3988
  <xsl:if test="ancestor::*[local-name() = 'table']">
3860
3989
  <!-- for internal table in table cell -->
3861
- <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3990
+ <xsl:attribute name="border"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
3862
3991
  </xsl:if>
3863
3992
 
3864
3993
  </xsl:element>
@@ -3962,7 +4091,7 @@
3962
4091
 
3963
4092
  <!-- centered table when table name is centered (see table-name-style) -->
3964
4093
 
3965
- <fo:table table-layout="fixed" width="100%">
4094
+ <fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style">
3966
4095
  <fo:table-column column-width="proportional-column-width(1)"/>
3967
4096
  <fo:table-column column-width="{@width}"/>
3968
4097
  <fo:table-column column-width="proportional-column-width(1)"/>
@@ -4011,17 +4140,29 @@
4011
4140
 
4012
4141
  <fo:block xsl:use-attribute-sets="table-name-style">
4013
4142
 
4143
+ <xsl:if test="$continued = 'true'">
4144
+ <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
4145
+ </xsl:if>
4146
+
4014
4147
  <xsl:choose>
4015
4148
  <xsl:when test="$continued = 'true'">
4016
4149
 
4017
- <xsl:apply-templates/>
4018
-
4019
4150
  </xsl:when>
4020
4151
  <xsl:otherwise>
4021
4152
  <xsl:apply-templates/>
4022
4153
  </xsl:otherwise>
4023
4154
  </xsl:choose>
4024
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
+
4025
4166
  </fo:block>
4026
4167
 
4027
4168
  </xsl:if>
@@ -4393,6 +4534,12 @@
4393
4534
  <fo:table-row>
4394
4535
  <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
4395
4536
 
4537
+ <xsl:attribute name="border-left">1pt solid white</xsl:attribute>
4538
+ <xsl:attribute name="border-right">1pt solid white</xsl:attribute>
4539
+ <xsl:attribute name="border-top">1pt solid white</xsl:attribute>
4540
+ <!-- <xsl:attribute name="border-bottom">0.5pt solid white</xsl:attribute> -->
4541
+ <xsl:attribute name="border-bottom">none</xsl:attribute>
4542
+
4396
4543
  <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
4397
4544
  <xsl:with-param name="continued">true</xsl:with-param>
4398
4545
  </xsl:apply-templates>
@@ -4401,11 +4548,6 @@
4401
4548
  <xsl:call-template name="table_name_fn_display"/>
4402
4549
  </xsl:for-each>
4403
4550
 
4404
- <fo:block text-align="right" font-style="italic">
4405
- <xsl:text> </xsl:text>
4406
- <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
4407
- </fo:block>
4408
-
4409
4551
  </fo:table-cell>
4410
4552
  </fo:table-row>
4411
4553
  </xsl:template> <!-- table-header-title -->
@@ -4573,6 +4715,7 @@
4573
4715
  <fo:table-row height="0" keep-with-next.within-page="always">
4574
4716
  <fo:table-cell>
4575
4717
 
4718
+ <fo:marker marker-class-name="table_number"/>
4576
4719
  <fo:marker marker-class-name="table_continued"/>
4577
4720
 
4578
4721
  <fo:block/>
@@ -4581,6 +4724,8 @@
4581
4724
  <fo:table-row height="0" keep-with-next.within-page="always">
4582
4725
  <fo:table-cell>
4583
4726
 
4727
+ <fo:marker marker-class-name="table_number"><xsl:value-of select="normalize-space(translate($table_number, ' ', ' '))"/></fo:marker>
4728
+
4584
4729
  <fo:marker marker-class-name="table_continued">
4585
4730
  <xsl:value-of select="$title_continued"/>
4586
4731
  </fo:marker>
@@ -4654,12 +4799,12 @@
4654
4799
 
4655
4800
  <xsl:choose>
4656
4801
  <xsl:when test="position() = 1">
4657
- <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
4658
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
4802
+ <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
4803
+ <xsl:attribute name="border-bottom"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
4659
4804
  </xsl:when>
4660
4805
  <xsl:when test="position() = last()">
4661
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
4662
- <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
4806
+ <xsl:attribute name="border-top"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
4807
+ <xsl:attribute name="border-bottom"><xsl:value-of select="$table-border"/></xsl:attribute>
4663
4808
  </xsl:when>
4664
4809
  </xsl:choose>
4665
4810
 
@@ -4682,6 +4827,14 @@
4682
4827
  <xsl:template match="*[local-name()='tr']">
4683
4828
  <fo:table-row xsl:use-attribute-sets="table-body-row-style">
4684
4829
 
4830
+ <xsl:if test="count(*) = count(*[local-name() = 'th'])"> <!-- row contains 'th' only -->
4831
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
4832
+ </xsl:if>
4833
+
4834
+ <xsl:if test="position() = 1 and not(ancestor::*[local-name() = 'table']/*[local-name() = 'thead'])">
4835
+ <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
4836
+ </xsl:if>
4837
+
4685
4838
  <xsl:call-template name="setTableRowAttributes"/>
4686
4839
  <xsl:apply-templates/>
4687
4840
  </fo:table-row>
@@ -4701,6 +4854,11 @@
4701
4854
  <xsl:with-param name="default">center</xsl:with-param>
4702
4855
  </xsl:call-template>
4703
4856
 
4857
+ <xsl:if test="../parent::*[local-name() = 'tbody'] and (following-sibling::*[local-name() = 'td'] or preceding-sibling::*[local-name() = 'td'])">
4858
+ <xsl:attribute name="border-top"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
4859
+ <xsl:attribute name="border-bottom"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
4860
+ </xsl:if>
4861
+
4704
4862
  <xsl:if test="$lang = 'ar'">
4705
4863
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
4706
4864
  </xsl:if>
@@ -4759,6 +4917,10 @@
4759
4917
  <xsl:if test="starts-with(ancestor::*[local-name() = 'table'][1]/@type, 'recommend')">
4760
4918
  <xsl:attribute name="display-align">before</xsl:attribute>
4761
4919
  </xsl:if>
4920
+ <xsl:if test="ancestor::*[local-name() = 'tbody'] and not(../preceding-sibling::*[local-name() = 'tr']) and ancestor::*[local-name() = 'table'][1]/*[local-name() = 'thead']"> <!-- cells in 1st row in the table body, and if thead exists -->
4921
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
4922
+ </xsl:if>
4923
+ <!-- <xsl:attribute name="page-break-inside">avoid</xsl:attribute> -->
4762
4924
 
4763
4925
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
4764
4926
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -5669,7 +5831,8 @@
5669
5831
  <xsl:copy-of select="node()"/>
5670
5832
  </td>
5671
5833
  <td>
5672
- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
5834
+ <!-- <xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/> -->
5835
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]" mode="dl_if"/>
5673
5836
  <!-- get paragraphs from nested 'dl' -->
5674
5837
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
5675
5838
  </td>
@@ -5677,6 +5840,53 @@
5677
5840
  </xsl:template>
5678
5841
  <xsl:template match="*[local-name()='dd']" mode="dl_if"/>
5679
5842
 
5843
+ <xsl:template match="*" mode="dl_if">
5844
+ <xsl:copy-of select="."/>
5845
+ </xsl:template>
5846
+
5847
+ <xsl:template match="*[local-name() = 'p']" mode="dl_if">
5848
+ <xsl:param name="indent"/>
5849
+ <p>
5850
+ <xsl:copy-of select="@*"/>
5851
+ <xsl:value-of select="$indent"/>
5852
+ <xsl:copy-of select="node()"/>
5853
+ </p>
5854
+
5855
+ </xsl:template>
5856
+
5857
+ <xsl:template match="*[local-name() = 'ul' or local-name() = 'ol']" mode="dl_if">
5858
+ <xsl:variable name="list_rendered_">
5859
+ <xsl:apply-templates select="."/>
5860
+ </xsl:variable>
5861
+ <xsl:variable name="list_rendered" select="xalan:nodeset($list_rendered_)"/>
5862
+
5863
+ <xsl:variable name="indent">
5864
+ <xsl:for-each select="($list_rendered//fo:block[not(.//fo:block)])[1]">
5865
+ <xsl:apply-templates select="ancestor::*[@provisional-distance-between-starts]/@provisional-distance-between-starts" mode="dl_if"/>
5866
+ </xsl:for-each>
5867
+ </xsl:variable>
5868
+
5869
+ <xsl:apply-templates mode="dl_if">
5870
+ <xsl:with-param name="indent" select="$indent"/>
5871
+ </xsl:apply-templates>
5872
+ </xsl:template>
5873
+
5874
+ <xsl:template match="*[local-name() = 'li']" mode="dl_if">
5875
+ <xsl:param name="indent"/>
5876
+ <xsl:apply-templates mode="dl_if">
5877
+ <xsl:with-param name="indent" select="$indent"/>
5878
+ </xsl:apply-templates>
5879
+ </xsl:template>
5880
+
5881
+ <xsl:template match="@provisional-distance-between-starts" mode="dl_if">
5882
+ <xsl:variable name="value" select="round(substring-before(.,'mm'))"/>
5883
+ <!-- emulate left indent for list item -->
5884
+ <xsl:call-template name="repeat">
5885
+ <xsl:with-param name="char" select="'x'"/>
5886
+ <xsl:with-param name="count" select="$value"/>
5887
+ </xsl:call-template>
5888
+ </xsl:template>
5889
+
5680
5890
  <xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
5681
5891
  <xsl:for-each select="*[local-name() = 'dt']">
5682
5892
  <p>
@@ -5932,6 +6142,75 @@
5932
6142
  <fo:block break-after="page"/>
5933
6143
  </xsl:template>
5934
6144
 
6145
+ <!-- ================================================================ -->
6146
+ <!-- landscape/portrait orientation processing (post-processing step) -->
6147
+ <!-- ================================================================ -->
6148
+ <xsl:template match="@*|node()" mode="landscape_portrait">
6149
+ <xsl:copy>
6150
+ <xsl:apply-templates select="@*|node()" mode="landscape_portrait"/>
6151
+ </xsl:copy>
6152
+ </xsl:template>
6153
+
6154
+ <xsl:template match="*[local-name() = 'pagebreak']" mode="landscape_portrait">
6155
+
6156
+ <!-- determine pagebreak is last element before </fo:flow> or not -->
6157
+ <xsl:variable name="isLast">
6158
+ <xsl:for-each select="ancestor-or-self::*[ancestor::fo:flow]">
6159
+ <xsl:if test="following-sibling::*">false</xsl:if>
6160
+ </xsl:for-each>
6161
+ </xsl:variable>
6162
+
6163
+ <xsl:if test="contains($isLast, 'false')">
6164
+
6165
+ <xsl:variable name="orientation" select="normalize-space(@orientation)"/>
6166
+ <xsl:variable name="tree">
6167
+ <xsl:for-each select="ancestor::*[ancestor::fo:flow]">
6168
+ <element pos="{position()}">
6169
+ <xsl:value-of select="name()"/>
6170
+ </element>
6171
+ </xsl:for-each>
6172
+ </xsl:variable>
6173
+
6174
+ <!-- close fo:page-sequence (closing preceding fo elements) -->
6175
+ <xsl:for-each select="xalan:nodeset($tree)//element">
6176
+ <xsl:sort data-type="number" order="descending" select="@pos"/>
6177
+ <xsl:text disable-output-escaping="yes">&lt;/</xsl:text>
6178
+ <xsl:value-of select="."/>
6179
+ <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
6180
+ </xsl:for-each>
6181
+ <xsl:text disable-output-escaping="yes">&lt;/fo:flow&gt;</xsl:text>
6182
+ <xsl:text disable-output-escaping="yes">&lt;/fo:page-sequence&gt;</xsl:text>
6183
+
6184
+ <!-- <pagebreak/> -->
6185
+ <!-- create a new fo:page-sequence (opening fo elements) -->
6186
+
6187
+ <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>
6188
+ <fo:static-content flow-name="xsl-footnote-separator">
6189
+ <fo:block>
6190
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
6191
+ </fo:block>
6192
+ </fo:static-content>
6193
+ <xsl:call-template name="insertHeaderFooter"/>
6194
+ <xsl:text disable-output-escaping="yes">&lt;fo:flow flow-name="xsl-region-body"&gt;</xsl:text>
6195
+
6196
+ <xsl:for-each select="xalan:nodeset($tree)//element">
6197
+ <xsl:text disable-output-escaping="yes">&lt;</xsl:text>
6198
+ <xsl:value-of select="."/>
6199
+ <xsl:for-each select="@*[local-name() != 'pos']">
6200
+ <xsl:text> </xsl:text>
6201
+ <xsl:value-of select="local-name()"/>
6202
+ <xsl:text>="</xsl:text>
6203
+ <xsl:value-of select="."/>
6204
+ <xsl:text>"</xsl:text>
6205
+ </xsl:for-each>
6206
+ <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
6207
+ </xsl:for-each>
6208
+ </xsl:if>
6209
+ </xsl:template>
6210
+ <!-- ================================================================ -->
6211
+ <!-- END: landscape/portrait orientation processing (post-processing step) -->
6212
+ <!-- ================================================================ -->
6213
+
5935
6214
  <!-- Example: <span style="font-family:&quot;Noto Sans JP&quot;">styled text</span> -->
5936
6215
  <xsl:template match="*[local-name() = 'span'][@style]" priority="2">
5937
6216
  <xsl:variable name="styles__">
@@ -6070,6 +6349,7 @@
6070
6349
  </word>
6071
6350
  <xsl:call-template name="tokenize_with_tags">
6072
6351
  <xsl:with-param name="text" select="substring-after($text, $separator)"/>
6352
+ <xsl:with-param name="tags" select="$tags"/>
6073
6353
  </xsl:call-template>
6074
6354
  </xsl:otherwise>
6075
6355
  </xsl:choose>
@@ -6109,8 +6389,18 @@
6109
6389
 
6110
6390
  <xsl:template name="add-zero-spaces-java">
6111
6391
  <xsl:param name="text" select="."/>
6112
- <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
6113
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
6392
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space, arrow right -->
6393
+ <xsl:variable name="text1" select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |→)','$1​')"/>
6394
+ <!-- add zero-width space (#x200B) after characters: 'great than' -->
6395
+ <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' -->
6396
+ <!-- add zero-width space (#x200B) before characters: 'less than' -->
6397
+ <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' -->
6398
+ <!-- add zero-width space (#x200B) before character: { -->
6399
+ <xsl:variable name="text4" select="java:replaceAll(java:java.lang.String.new($text3), '(?&lt;!\W)(\{)', '​$1')"/> <!-- negative lookbehind: '{' not preceeded by 'punctuation char' -->
6400
+ <!-- add zero-width space (#x200B) after character: , -->
6401
+ <xsl:variable name="text5" select="java:replaceAll(java:java.lang.String.new($text4), '(\,)(?!\d)', '$1​')"/> <!-- negative lookahead: ',' not followed by digit -->
6402
+
6403
+ <xsl:value-of select="$text5"/>
6114
6404
  </xsl:template>
6115
6405
 
6116
6406
  <xsl:template name="add-zero-spaces-link-java">
@@ -6256,7 +6546,7 @@
6256
6546
  </xsl:copy>
6257
6547
  </xsl:template>
6258
6548
 
6259
- <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p'])]" mode="table-without-br">
6549
+ <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">
6260
6550
  <xsl:copy>
6261
6551
  <xsl:copy-of select="@*"/>
6262
6552
  <p>
@@ -6304,6 +6594,28 @@
6304
6594
  </xsl:for-each>
6305
6595
  </xsl:template>
6306
6596
 
6597
+ <xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'sourcecode']" mode="table-without-br">
6598
+ <xsl:apply-templates mode="table-without-br"/>
6599
+ </xsl:template>
6600
+
6601
+ <xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'sourcecode']/text()[contains(., '&#13;') or contains(., '&#10;')]" mode="table-without-br">
6602
+
6603
+ <xsl:variable name="sep">###SOURCECODE_NEWLINE###</xsl:variable>
6604
+ <xsl:variable name="sourcecode_text" select="java:replaceAll(java:java.lang.String.new(.),'(&#13;&#10;|&#13;|&#10;)', $sep)"/>
6605
+ <xsl:variable name="items">
6606
+ <xsl:call-template name="split">
6607
+ <xsl:with-param name="pText" select="$sourcecode_text"/>
6608
+ <xsl:with-param name="sep" select="$sep"/>
6609
+ <xsl:with-param name="normalize-space">false</xsl:with-param>
6610
+ </xsl:call-template>
6611
+ </xsl:variable>
6612
+ <xsl:for-each select="xalan:nodeset($items)/*">
6613
+ <p>
6614
+ <sourcecode><xsl:copy-of select="node()"/></sourcecode>
6615
+ </p>
6616
+ </xsl:for-each>
6617
+ </xsl:template>
6618
+
6307
6619
  <!-- remove redundant white spaces -->
6308
6620
  <xsl:template match="text()[not(ancestor::*[local-name() = 'sourcecode'])]" mode="table-without-br">
6309
6621
  <xsl:variable name="text" select="translate(.,'&#9;&#10;&#13;','')"/>
@@ -6614,6 +6926,7 @@
6614
6926
  <xsl:if test="ancestor::*[local-name() = 'sub']"><tag>sub</tag></xsl:if>
6615
6927
  <xsl:if test="ancestor::*[local-name() = 'sup']"><tag>sup</tag></xsl:if>
6616
6928
  <xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
6929
+ <xsl:if test="ancestor::*[local-name() = 'sourcecode']"><tag>sourcecode</tag></xsl:if>
6617
6930
  <xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
6618
6931
  </tags>
6619
6932
  </xsl:template>
@@ -6676,6 +6989,9 @@
6676
6989
  <xsl:value-of select="substring($str, 2)"/>
6677
6990
  </xsl:template>
6678
6991
 
6992
+ <!-- ======================================= -->
6993
+ <!-- math -->
6994
+ <!-- ======================================= -->
6679
6995
  <xsl:template match="mathml:math">
6680
6996
  <xsl:variable name="isAdded" select="@added"/>
6681
6997
  <xsl:variable name="isDeleted" select="@deleted"/>
@@ -6726,14 +7042,57 @@
6726
7042
  <xsl:value-of select="$comment_text"/>
6727
7043
  </xsl:template>
6728
7044
 
7045
+ <xsl:template match="*[local-name() = 'asciimath']">
7046
+ <xsl:param name="process" select="'false'"/>
7047
+ <xsl:if test="$process = 'true'">
7048
+ <xsl:apply-templates/>
7049
+ </xsl:if>
7050
+ </xsl:template>
7051
+
7052
+ <xsl:template match="*[local-name() = 'latexmath']"/>
7053
+
7054
+ <xsl:template name="getMathml_asciimath_text">
7055
+ <xsl:variable name="asciimath" select="../*[local-name() = 'asciimath']"/>
7056
+ <xsl:variable name="latexmath">
7057
+
7058
+ </xsl:variable>
7059
+ <xsl:variable name="asciimath_text_following">
7060
+ <xsl:choose>
7061
+ <xsl:when test="normalize-space($latexmath) != ''">
7062
+ <xsl:value-of select="$latexmath"/>
7063
+ </xsl:when>
7064
+ <xsl:when test="normalize-space($asciimath) != ''">
7065
+ <xsl:value-of select="$asciimath"/>
7066
+ </xsl:when>
7067
+ <xsl:otherwise>
7068
+ <xsl:value-of select="following-sibling::node()[1][self::comment()]"/>
7069
+ </xsl:otherwise>
7070
+ </xsl:choose>
7071
+ </xsl:variable>
7072
+ <xsl:variable name="asciimath_text_">
7073
+ <xsl:choose>
7074
+ <xsl:when test="normalize-space($asciimath_text_following) != ''">
7075
+ <xsl:value-of select="$asciimath_text_following"/>
7076
+ </xsl:when>
7077
+ <xsl:otherwise>
7078
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
7079
+ </xsl:otherwise>
7080
+ </xsl:choose>
7081
+ </xsl:variable>
7082
+ <xsl:variable name="asciimath_text_2" select="java:org.metanorma.fop.Util.unescape($asciimath_text_)"/>
7083
+ <xsl:variable name="asciimath_text" select="java:trim(java:java.lang.String.new($asciimath_text_2))"/>
7084
+ <xsl:value-of select="$asciimath_text"/>
7085
+ </xsl:template>
7086
+
6729
7087
  <xsl:template name="mathml_instream_object">
6730
- <xsl:param name="comment_text"/>
7088
+ <xsl:param name="asciimath_text"/>
6731
7089
  <xsl:param name="mathml_content"/>
6732
7090
 
6733
- <xsl:variable name="comment_text_">
7091
+ <xsl:variable name="asciimath_text_">
6734
7092
  <xsl:choose>
6735
- <xsl:when test="normalize-space($comment_text) != ''"><xsl:value-of select="$comment_text"/></xsl:when>
6736
- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise>
7093
+ <xsl:when test="normalize-space($asciimath_text) != ''"><xsl:value-of select="$asciimath_text"/></xsl:when>
7094
+ <!-- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise> -->
7095
+ <xsl:otherwise><xsl:call-template name="getMathml_asciimath_text"/></xsl:otherwise>
6737
7096
  </xsl:choose>
6738
7097
  </xsl:variable>
6739
7098
 
@@ -6757,10 +7116,10 @@
6757
7116
  </xsl:attribute>
6758
7117
 
6759
7118
  <!-- <xsl:if test="$add_math_as_text = 'true'"> -->
6760
- <xsl:if test="normalize-space($comment_text_) != ''">
7119
+ <xsl:if test="normalize-space($asciimath_text_) != ''">
6761
7120
  <!-- put Mathin Alternate Text -->
6762
7121
  <xsl:attribute name="fox:alt-text">
6763
- <xsl:value-of select="$comment_text_"/>
7122
+ <xsl:value-of select="$asciimath_text_"/>
6764
7123
  </xsl:attribute>
6765
7124
  </xsl:if>
6766
7125
  <!-- </xsl:if> -->
@@ -6833,6 +7192,29 @@
6833
7192
  <xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
6834
7193
  </xsl:template>
6835
7194
 
7195
+ <!-- Examples:
7196
+ <stem type="AsciiMath">x = 1</stem>
7197
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
7198
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath><latexmath>x = 1</latexmath></stem>
7199
+ -->
7200
+ <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
7201
+ <fo:inline xsl:use-attribute-sets="mathml-style">
7202
+
7203
+ <xsl:choose>
7204
+ <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
7205
+ <xsl:otherwise>
7206
+ <xsl:apply-templates>
7207
+ <xsl:with-param name="process">true</xsl:with-param>
7208
+ </xsl:apply-templates>
7209
+ </xsl:otherwise>
7210
+ </xsl:choose>
7211
+
7212
+ </fo:inline>
7213
+ </xsl:template>
7214
+ <!-- ======================================= -->
7215
+ <!-- END: math -->
7216
+ <!-- ======================================= -->
7217
+
6836
7218
  <xsl:template match="*[local-name()='localityStack']"/>
6837
7219
 
6838
7220
  <xsl:template match="*[local-name()='link']" name="link">
@@ -7039,6 +7421,12 @@
7039
7421
 
7040
7422
  <fo:block-container margin-left="0mm">
7041
7423
 
7424
+ <!-- <xsl:if test="$namespace = 'iho'">
7425
+ <xsl:if test="ancestor::iho:td">
7426
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
7427
+ </xsl:if>
7428
+ </xsl:if> -->
7429
+
7042
7430
  <fo:block>
7043
7431
 
7044
7432
  <fo:inline xsl:use-attribute-sets="note-name-style">
@@ -8181,42 +8569,20 @@
8181
8569
  <xsl:apply-templates mode="contents_item"/>
8182
8570
  </xsl:template>
8183
8571
 
8184
- <!-- ====== -->
8185
- <!-- sourcecode -->
8186
- <!-- ====== -->
8572
+ <!-- =============== -->
8573
+ <!-- sourcecode -->
8574
+ <!-- =============== -->
8187
8575
  <xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
8188
8576
 
8189
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
8190
-
8191
- <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
8192
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
8193
- </xsl:if>
8194
-
8195
- <xsl:if test="ancestor::*[local-name() = 'example']">
8196
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
8197
- </xsl:if>
8198
-
8199
- <xsl:copy-of select="@id"/>
8200
-
8201
- <xsl:if test="parent::*[local-name() = 'note']">
8202
- <xsl:attribute name="margin-left">
8203
- <xsl:choose>
8204
- <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
8205
- <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
8206
- </xsl:choose>
8207
- </xsl:attribute>
8208
-
8209
- </xsl:if>
8210
- <fo:block-container margin-left="0mm">
8211
-
8212
- <fo:block xsl:use-attribute-sets="sourcecode-style">
8213
- <xsl:variable name="_font-size">
8577
+ <xsl:variable name="sourcecode_attributes">
8578
+ <xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
8579
+ <xsl:variable name="_font-size">
8214
8580
 
8215
- inherit<!-- 9 -->
8581
+ inherit<!-- 9 -->
8216
8582
 
8217
- <!-- <xsl:if test="$namespace = 'ieee'">
8218
- <xsl:if test="$current_template = 'standard'">8</xsl:if>
8219
- </xsl:if> -->
8583
+ <!-- <xsl:if test="$namespace = 'ieee'">
8584
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
8585
+ </xsl:if> -->
8220
8586
 
8221
8587
  </xsl:variable>
8222
8588
 
@@ -8231,14 +8597,60 @@
8231
8597
  </xsl:choose>
8232
8598
  </xsl:attribute>
8233
8599
  </xsl:if>
8600
+ </xsl:element>
8601
+ </xsl:variable>
8234
8602
 
8603
+ <xsl:choose>
8604
+ <xsl:when test="$isGenerateTableIF = 'true' and (ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])">
8605
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
8606
+ <xsl:attribute name="{local-name()}">
8607
+ <xsl:value-of select="."/>
8608
+ </xsl:attribute>
8609
+ </xsl:for-each>
8235
8610
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
8236
- </fo:block>
8611
+ </xsl:when>
8237
8612
 
8238
- <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
8613
+ <xsl:otherwise>
8614
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
8239
8615
 
8240
- </fo:block-container>
8241
- </fo:block-container>
8616
+ <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
8617
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
8618
+ </xsl:if>
8619
+
8620
+ <xsl:if test="ancestor::*[local-name() = 'example']">
8621
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
8622
+ </xsl:if>
8623
+
8624
+ <xsl:copy-of select="@id"/>
8625
+
8626
+ <xsl:if test="parent::*[local-name() = 'note']">
8627
+ <xsl:attribute name="margin-left">
8628
+ <xsl:choose>
8629
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
8630
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
8631
+ </xsl:choose>
8632
+ </xsl:attribute>
8633
+
8634
+ </xsl:if>
8635
+ <fo:block-container margin-left="0mm">
8636
+
8637
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
8638
+
8639
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
8640
+ <xsl:attribute name="{local-name()}">
8641
+ <xsl:value-of select="."/>
8642
+ </xsl:attribute>
8643
+ </xsl:for-each>
8644
+
8645
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
8646
+ </fo:block>
8647
+
8648
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
8649
+
8650
+ </fo:block-container>
8651
+ </fo:block-container>
8652
+ </xsl:otherwise>
8653
+ </xsl:choose>
8242
8654
  </xsl:template>
8243
8655
 
8244
8656
  <xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
@@ -8480,8 +8892,22 @@
8480
8892
  </fo:block>
8481
8893
  </xsl:if>
8482
8894
  </xsl:template>
8483
- <!-- ====== -->
8484
- <!-- ====== -->
8895
+ <!-- =============== -->
8896
+ <!-- END sourcecode -->
8897
+ <!-- =============== -->
8898
+
8899
+ <!-- =============== -->
8900
+ <!-- pre -->
8901
+ <!-- =============== -->
8902
+ <xsl:template match="*[local-name()='pre']" name="pre">
8903
+ <fo:block xsl:use-attribute-sets="pre-style">
8904
+ <xsl:copy-of select="@id"/>
8905
+ <xsl:apply-templates/>
8906
+ </fo:block>
8907
+ </xsl:template>
8908
+ <!-- =============== -->
8909
+ <!-- pre -->
8910
+ <!-- =============== -->
8485
8911
 
8486
8912
  <!-- ========== -->
8487
8913
  <!-- permission -->
@@ -9525,6 +9951,10 @@
9525
9951
 
9526
9952
  <fo:list-block xsl:use-attribute-sets="list-style">
9527
9953
 
9954
+ <xsl:if test="not(ancestor::*[local-name() = 'ul' or local-name() = 'ol'])">
9955
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
9956
+ </xsl:if>
9957
+
9528
9958
  <xsl:if test="*[local-name() = 'name']">
9529
9959
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
9530
9960
  </xsl:if>
@@ -10455,7 +10885,9 @@
10455
10885
  <!-- ===================================== -->
10456
10886
  <!-- Update xml -->
10457
10887
  <!-- ===================================== -->
10888
+ <!-- =========================================================================== -->
10458
10889
  <!-- STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
10890
+ <!-- =========================================================================== -->
10459
10891
  <xsl:template match="@*|node()" mode="update_xml_step1">
10460
10892
  <xsl:copy>
10461
10893
  <xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
@@ -10547,10 +10979,13 @@
10547
10979
  <xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
10548
10980
  <xsl:apply-templates mode="update_xml_step1"/>
10549
10981
  </xsl:template>
10550
-
10982
+ <!-- =========================================================================== -->
10551
10983
  <!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
10984
+ <!-- =========================================================================== -->
10552
10985
 
10986
+ <!-- =========================================================================== -->
10553
10987
  <!-- STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
10988
+ <!-- =========================================================================== -->
10554
10989
  <xsl:template match="@*|node()" mode="update_xml_step2">
10555
10990
  <xsl:copy>
10556
10991
  <xsl:apply-templates select="@*|node()" mode="update_xml_step2"/>
@@ -10629,8 +11064,6 @@
10629
11064
  </xsl:copy>
10630
11065
  </xsl:template>
10631
11066
 
10632
- <!-- END STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
10633
-
10634
11067
  <!-- enclose sequence of 'char x' + 'combining char y' to <lang_none>xy</lang_none> -->
10635
11068
  <xsl:variable name="regex_combining_chars">(.[̀-ͯ])</xsl:variable>
10636
11069
  <xsl:variable name="element_name_lang_none">lang_none</xsl:variable>
@@ -10646,7 +11079,15 @@
10646
11079
  </xsl:call-template>
10647
11080
  </xsl:template>
10648
11081
 
11082
+ <!-- =========================================================================== -->
11083
+ <!-- END STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
11084
+ <!-- =========================================================================== -->
11085
+
11086
+ <!-- =========================================================================== -->
10649
11087
  <!-- XML UPDATE STEP: enclose standard's name into tag 'keep-together_within-line' -->
11088
+ <!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
11089
+ <!-- keep-together_within-line for: a.b, aaa.b, a.bbb, .b in table's cell ONLY -->
11090
+ <!-- =========================================================================== -->
10650
11091
  <!-- Example: <keep-together_within-line>ISO 10303-51</keep-together_within-line> -->
10651
11092
  <xsl:template match="@*|node()" mode="update_xml_enclose_keep-together_within-line">
10652
11093
  <xsl:copy>
@@ -10662,10 +11103,15 @@
10662
11103
  <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">
10663
11104
 
10664
11105
  <!-- enclose standard's number into tag 'keep-together_within-line' -->
10665
- <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
10666
11106
  <xsl:variable name="tag_keep-together_within-line_open">###<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
10667
11107
  <xsl:variable name="tag_keep-together_within-line_close">###/<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
10668
- <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))"/>
11108
+ <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))"/>
11109
+ <xsl:variable name="text_">
11110
+ <xsl:choose>
11111
+ <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 -->
11112
+ <xsl:otherwise><xsl:value-of select="$text__"/></xsl:otherwise>
11113
+ </xsl:choose>
11114
+ </xsl:variable>
10669
11115
  <xsl:variable name="text"><text><xsl:call-template name="replace_text_tags">
10670
11116
  <xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
10671
11117
  <xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
@@ -10689,7 +11135,11 @@
10689
11135
  </xsl:variable>
10690
11136
 
10691
11137
  <!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
10692
- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable>
11138
+ <!-- \S matches any non-whitespace character (equivalent to [^\r\n\t\f\v ]) -->
11139
+ <!-- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable> -->
11140
+ <!-- add &lt; and &gt; to \S -->
11141
+ <xsl:variable name="regex_S">[^\r\n\t\f\v \&lt;&gt;]</xsl:variable>
11142
+ <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>
10693
11143
  <xsl:variable name="text3">
10694
11144
  <text><xsl:for-each select="xalan:nodeset($text2)/text/node()">
10695
11145
  <xsl:choose>
@@ -10753,9 +11203,8 @@
10753
11203
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
10754
11204
  </xsl:choose>
10755
11205
  </xsl:template>
10756
-
10757
11206
  <!-- ===================================== -->
10758
- <!-- End Update xml -->
11207
+ <!-- END XML UPDATE STEP: enclose standard's name into tag 'keep-together_within-line' -->
10759
11208
  <!-- ===================================== -->
10760
11209
 
10761
11210
  <!-- for correct rendering combining chars -->
@@ -11143,13 +11592,14 @@
11143
11592
  </xsl:template>
11144
11593
 
11145
11594
  <xsl:template name="setId">
11595
+ <xsl:param name="prefix"/>
11146
11596
  <xsl:attribute name="id">
11147
11597
  <xsl:choose>
11148
11598
  <xsl:when test="@id">
11149
- <xsl:value-of select="@id"/>
11599
+ <xsl:value-of select="concat($prefix, @id)"/>
11150
11600
  </xsl:when>
11151
11601
  <xsl:otherwise>
11152
- <xsl:value-of select="generate-id()"/>
11602
+ <xsl:value-of select="concat($prefix, generate-id())"/>
11153
11603
  </xsl:otherwise>
11154
11604
  </xsl:choose>
11155
11605
  </xsl:attribute>