metanorma-iec 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,17 +2,12 @@
2
2
 
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
- <xsl:param name="svg_images"/>
6
- <xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
7
- <xsl:variable name="images" select="document($svg_images)"/>
8
- <xsl:param name="basepath"/>
5
+ <xsl:param name="additionalXMLs" select="''"/> <!-- iec-rice.fr.xml -->
9
6
 
10
7
  <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
11
8
 
12
9
 
13
-
14
- <xsl:param name="additionalXMLs" select="''"/> <!-- iec-rice.fr.xml -->
15
-
10
+
16
11
  <xsl:variable name="additionalXMLsArray">
17
12
  <xsl:call-template name="split">
18
13
  <xsl:with-param name="pText" select="normalize-space($additionalXMLs)"/>
@@ -23,14 +18,8 @@
23
18
 
24
19
  <xsl:variable name="debug">false</xsl:variable>
25
20
 
26
- <xsl:variable name="marginLeftRight1" select="25"/>
27
- <xsl:variable name="marginLeftRight2" select="25"/>
28
- <xsl:variable name="marginTop" select="31"/>
29
- <xsl:variable name="marginBottom" select="15"/>
30
-
31
21
  <xsl:variable name="copyrightText" select="concat('© ', //iec:iec-standard/iec:bibdata/iec:copyright/iec:owner/iec:organization/iec:abbreviation, ':', //iec:iec-standard/iec:bibdata/iec:copyright/iec:from)"/>
32
- <!-- <xsl:variable name="lang-1st-letter" select="concat('(', translate(substring(iec:iec-standard/iec:bibdata/iec:language,1,1),$lower, $upper), ')')"/> -->
33
- <xsl:variable name="lang-1st-letter" select="''"/>
22
+
34
23
  <xsl:variable name="ISOname" select="//iec:iec-standard/iec:bibdata/iec:docidentifier[@type='iso' or @type='ISO']"/>
35
24
 
36
25
  <xsl:variable name="part" select="//iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:project-number/@part"/>
@@ -102,36 +91,6 @@
102
91
  </xsl:for-each>
103
92
  </xsl:for-each>
104
93
 
105
-
106
- <!-- <xsl:variable name="docid">
107
- <xsl:call-template name="getDocumentId"/>
108
- </xsl:variable>
109
- <doc id="{$docid}" lang="{$lang}">
110
- <xsl:call-template name="generateContents"/>
111
- </doc>
112
-
113
- <xsl:for-each select="xalan:nodeset($additionalXMLsArray)/*">
114
- <xsl:for-each select="document(.)">
115
- <xsl:variable name="lang">
116
- <xsl:call-template name="getLang"/>
117
- </xsl:variable>
118
- <xsl:variable name="document">
119
- <xsl:apply-templates mode="change_id">
120
- <xsl:with-param name="lang" select="$lang"/>
121
- </xsl:apply-templates>
122
- </xsl:variable>
123
- <xsl:for-each select="xalan:nodeset($document)">
124
- <xsl:variable name="docid">
125
- <xsl:call-template name="getDocumentId"/>
126
- </xsl:variable>
127
- <doc id="{$docid}" lang="{$lang}">
128
- <xsl:call-template name="generateContents"/>
129
- </doc>
130
- </xsl:for-each>
131
- </xsl:for-each>
132
- </xsl:for-each> -->
133
-
134
-
135
94
  </xsl:variable>
136
95
 
137
96
  <xsl:template name="generateContents">
@@ -155,10 +114,6 @@
155
114
  <xsl:variable name="color_blue">rgb(0, 90, 162)</xsl:variable>
156
115
  <xsl:variable name="color_gray">rgb(157, 158, 160)</xsl:variable>
157
116
 
158
- <xsl:variable name="lang">
159
- <xsl:call-template name="getLang"/>
160
- </xsl:variable>
161
-
162
117
  <xsl:variable name="isIEV" select="normalize-space((//iec:iec-standard/iec:bibdata/iec:title[@language = 'en' and @type = 'title-main'] = 'International Electrotechnical Vocabulary') and 1 = 1)"/>
163
118
 
164
119
  <xsl:template match="/">
@@ -349,143 +304,19 @@
349
304
 
350
305
  <xsl:apply-templates select="(//iec:iec-standard)[1]/iec:boilerplate/iec:feedback-statement"/> <!-- //iec:clause[not(@id) or @id != 'boilerplate-cenelec-attention'] -->
351
306
  <fo:block span="all" border-bottom="0.5pt solid black"/>
307
+ <!-- About the IEC
308
+ The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
309
+ International Standards for all electrical, electronic and related technologies.
310
+ About IEC publications
311
+ The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
312
+ latest edition, a corrigenda or an amendment might have been published.
313
+ ...
314
+ -->
352
315
  <xsl:if test="(//iec:iec-standard)[2]/iec:boilerplate/iec:feedback-statement">
353
316
  <xsl:apply-templates select="(//iec:iec-standard)[2]/iec:boilerplate/iec:feedback-statement"/>
354
317
  <fo:block span="all"/>
355
318
  </xsl:if>
356
- <!-- <fo:block span="all">
357
- <fo:block-container margin-top="6pt">
358
- <fo:block-container text-align="justify" margin-left="0mm" margin-right="0mm">
359
-
360
- <fo:block font-weight="bold">About the IEC</fo:block>
361
- <fo:block margin-bottom="6pt">The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
362
- International Standards for all electrical, electronic and related technologies.</fo:block>
363
-
364
- <fo:block font-weight="bold">About IEC publications</fo:block>
365
- <fo:block margin-bottom="6pt">The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
366
- latest edition, a corrigenda or an amendment might have been published.</fo:block>
367
-
368
- <fo:table table-layout="fixed" width="100%" margin-bottom="12pt">
369
- <fo:table-column column-width="82mm"/>
370
- <fo:table-column column-width="78mm"/>
371
- <fo:table-body>
372
- <fo:table-row border-bottom="0.5pt solid black">
373
- <fo:table-cell padding-right="5mm">
374
- <fo:block font-weight="bold">IEC Catalogue - <fo:inline color="blue">webstore.iec.ch/catalogue</fo:inline></fo:block>
375
- <fo:block margin-bottom="6pt">
376
- <xsl:text>The stand-alone application for consulting the entire
377
- bibliographical information on IEC International Standards,
378
- Technical Specifications, Technical Reports and other
379
- documents. Available for PC, Mac OS, Android Tablets and
380
- iPad.</xsl:text>
381
- </fo:block>
382
- <fo:block font-weight="bold">IEC publications search - <fo:inline color="blue">www.iec.ch/searchpub</fo:inline></fo:block>
383
- <fo:block margin-bottom="6pt">
384
- <xsl:text>The advanced search enables to find IEC publications by a
385
- variety of criteria (reference number, text, technical
386
- committee,…). It also gives information on projects, replaced
387
- and withdrawn publications.</xsl:text>
388
- </fo:block>
389
- <fo:block font-weight="bold">IEC Just Published - <fo:inline color="blue">webstore.iec.ch/justpublished</fo:inline></fo:block>
390
- <fo:block margin-bottom="6pt">
391
- <xsl:text>Stay up to date on all new IEC publications. Just Published
392
- details all new publications released. Available online and
393
- also once a month by email.</xsl:text>
394
- </fo:block>
395
- </fo:table-cell>
396
- <fo:table-cell>
397
- <fo:block font-weight="bold">Electropedia - <fo:inline color="blue">www.electropedia.org</fo:inline></fo:block>
398
- <fo:block margin-bottom="6pt">
399
- <xsl:text>The world's leading online dictionary of electronic and
400
- electrical terms containing more than 30 000 terms and
401
- definitions in English and French, with equivalent terms in 14
402
- additional languages. Also known as the International
403
- Electrotechnical Vocabulary (IEV) online.</xsl:text>
404
- </fo:block>
405
- <fo:block font-weight="bold">IEC Glossary - <fo:inline color="blue">std.iec.ch/glossary</fo:inline></fo:block>
406
- <fo:block margin-bottom="6pt">
407
- <xsl:text>More than 55 000 electrotechnical terminology entries in
408
- English and French extracted from the Terms and Definitions
409
- clause of IEC publications issued since 2002. Some entries
410
- have been collected from earlier publications of IEC TC 37,
411
- 77, 86 and CISPR.</xsl:text>
412
- </fo:block>
413
- <fo:block font-weight="bold">IEC Customer Service Centre - <fo:inline color="blue">webstore.iec.ch/csc</fo:inline></fo:block>
414
- <fo:block margin-bottom="6pt">
415
- <xsl:text>If you wish to give us your feedback on this publication or
416
- need further assistance, please contact the Customer Service
417
- Centre: </xsl:text><fo:inline color="blue">csc@iec.ch</fo:inline>.
418
- </fo:block>
419
- </fo:table-cell>
420
- </fo:table-row>
421
- </fo:table-body>
422
- </fo:table>
423
-
424
- <fo:block font-weight="bold">A propos de l'IEC</fo:block>
425
- <fo:block margin-bottom="6pt">La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des
426
- Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.</fo:block>
427
-
428
- <fo:block font-weight="bold">A propos des publications IEC</fo:block>
429
- <fo:block margin-bottom="6pt">Le contenu technique des publications IEC est constamment revu. Veuillez vous assurer que vous possédez l’édition la
430
- plus récente, un corrigendum ou amendement peut avoir été publié.</fo:block>
431
-
432
- <fo:table table-layout="fixed" width="100%">
433
- <fo:table-column column-width="82mm"/>
434
- <fo:table-column column-width="78mm"/>
435
- <fo:table-body>
436
- <fo:table-row>
437
- <fo:table-cell padding-right="5mm">
438
- <fo:block font-weight="bold">Catalogue IEC - <fo:inline color="blue">webstore.iec.ch/catalogue</fo:inline></fo:block>
439
- <fo:block margin-bottom="6pt">
440
- <xsl:text>Application autonome pour consulter tous les renseignements
441
- bibliographiques sur les Normes internationales,
442
- Spécifications techniques, Rapports techniques et autres
443
- documents de l'IEC. Disponible pour PC, Mac OS, tablettes
444
- Android et iPad.</xsl:text>
445
- </fo:block>
446
- <fo:block font-weight="bold">Recherche de publications IEC - <fo:inline color="blue">www.iec.ch/searchpub</fo:inline></fo:block>
447
- <fo:block margin-bottom="6pt">
448
- <xsl:text>La recherche avancée permet de trouver des publications IEC
449
- en utilisant différents critères (numéro de référence, texte,
450
- comité d’études,…). Elle donne aussi des informations sur les
451
- projets et les publications remplacées ou retirées.</xsl:text>
452
- </fo:block>
453
- <fo:block font-weight="bold">IEC Just Published - <fo:inline color="blue">webstore.iec.ch/justpublished</fo:inline></fo:block>
454
- <fo:block margin-bottom="6pt">
455
- <xsl:text>Restez informé sur les nouvelles publications IEC. Just
456
- Published détaille les nouvelles publications parues.
457
- Disponible en ligne et aussi une fois par mois par email.</xsl:text>
458
- </fo:block>
459
- </fo:table-cell>
460
- <fo:table-cell>
461
- <fo:block font-weight="bold">Electropedia - <fo:inline color="blue">www.electropedia.org</fo:inline></fo:block>
462
- <fo:block margin-bottom="6pt">
463
- <xsl:text>Le premier dictionnaire en ligne de termes électroniques et
464
- électriques. Il contient plus de 30 000 termes et définitions en
465
- anglais et en français, ainsi que les termes équivalents dans
466
- 14 langues additionnelles. Egalement appelé Vocabulaire
467
- Electrotechnique International (IEV) en ligne.</xsl:text>
468
- </fo:block>
469
- <fo:block font-weight="bold">Glossaire IEC - <fo:inline color="blue">std.iec.ch/glossary</fo:inline></fo:block>
470
- <fo:block margin-bottom="6pt">
471
- <xsl:text>Plus de 55 000 entrées terminologiques électrotechniques, en
472
- anglais et en français, extraites des articles Termes et
473
- Définitions des publications IEC parues depuis 2002. Plus
474
- certaines entrées antérieures extraites des publications des
475
- CE 37, 77, 86 et CISPR de l'IEC.</xsl:text>
476
- </fo:block>
477
- <fo:block font-weight="bold">Service Clients - <fo:inline color="blue">webstore.iec.ch/csc</fo:inline></fo:block>
478
- <fo:block margin-bottom="6pt">
479
- <xsl:text>Si vous désirez nous donner des commentaires sur cette
480
- publication ou si vous avez des questions contactez-nous: </xsl:text><fo:inline color="blue">csc@iec.ch</fo:inline>.
481
- </fo:block>
482
- </fo:table-cell>
483
- </fo:table-row>
484
- </fo:table-body>
485
- </fo:table>
486
- </fo:block-container>
487
- </fo:block-container>
488
- </fo:block> -->
319
+
489
320
  </fo:flow>
490
321
  </fo:page-sequence>
491
322
  </xsl:if>
@@ -513,6 +344,7 @@
513
344
  <xsl:call-template name="getLocalizedString">
514
345
  <xsl:with-param name="key">IEC</xsl:with-param>
515
346
  <xsl:with-param name="lang"><xsl:value-of select="$lang_second"/></xsl:with-param>
347
+ <xsl:with-param name="returnEmptyIfNotFound">true</xsl:with-param>
516
348
  </xsl:call-template>
517
349
  </xsl:variable>
518
350
 
@@ -520,7 +352,7 @@
520
352
  <fo:block font-size="9pt" line-height="150%" margin-top="8pt">
521
353
  <fo:block-container width="40mm">
522
354
  <fo:block>
523
- <!-- <xsl:value-of select="'COMMISSION ELECTROTECHNIQUE INTERNATIONALE'"/> -->
355
+ <!-- 'COMMISSION ELECTROTECHNIQUE INTERNATIONALE' -->
524
356
  <xsl:value-of select="$IEC_lang_second"/>
525
357
  </fo:block>
526
358
  </fo:block-container>
@@ -547,9 +379,7 @@
547
379
  </xsl:variable>
548
380
  <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($price_code))"/>
549
381
  </fo:block>
550
- <!-- <xsl:if test="$lang != 'fr'">
551
- <fo:block>CODE PRIX</fo:block>
552
- </xsl:if> -->
382
+
553
383
  <fo:block>
554
384
  <xsl:variable name="price_code">
555
385
  <xsl:call-template name="getLocalizedString">
@@ -578,7 +408,7 @@
578
408
  <fo:inline keep-together.within-line="always"><fo:leader leader-pattern="space"/>
579
409
  <xsl:text> </xsl:text>
580
410
  <xsl:if test="//iec:iec-standard/iec:bibdata/iec:docidentifier[@type='ISBN']">
581
- <!-- <xsl:text>Example: ISBN 978-2-8322-1532-6</xsl:text> -->
411
+ <!-- Example: ISBN 978-2-8322-1532-6 -->
582
412
  <xsl:value-of select="//iec:iec-standard/iec:bibdata/iec:docidentifier[@type='ISBN']"/>
583
413
  </xsl:if>
584
414
  </fo:inline>
@@ -614,22 +444,6 @@
614
444
 
615
445
  <xsl:apply-templates select="(//iec:iec-standard)[1]/iec:boilerplate/iec:copyright-statement/iec:clause/iec:p[not(@id)]"/>
616
446
 
617
- <!-- <fo:inline font-weight="bold">
618
- <xsl:call-template name="addLetterSpacing">
619
- <xsl:with-param name="text">
620
- <xsl:for-each select="(//iec:iec-standard)[1]/iec:bibdata/iec:copyright">
621
- <xsl:text>Copyright © </xsl:text><xsl:value-of select="iec:from"/><xsl:text> </xsl:text><xsl:value-of select="iec:owner/iec:organization/iec:name"/><xsl:text>, </xsl:text><xsl:value-of select="iec:owner/iec:organization/iec:abbreviation"/>
622
- </xsl:for-each>
623
- </xsl:with-param>
624
- </xsl:call-template>
625
- </fo:inline>
626
- <fo:inline>
627
- <xsl:call-template name="addLetterSpacing">
628
- <xsl:with-param name="text">
629
- <xsl:text>. All rights reserved. It is permitted to download this electronic file, to make a copy and to print out the content for the sole purpose of preparing National Committee positions. You may not copy or "mirror" the file or printed version of the document, or any part of it, for any other purpose without permission in writing from IEC.</xsl:text>
630
- </xsl:with-param>
631
- </xsl:call-template>
632
- </fo:inline> -->
633
447
  </fo:block>
634
448
  </fo:block-container>
635
449
  </fo:static-content>
@@ -647,19 +461,10 @@
647
461
  </fo:inline>
648
462
  </fo:block>
649
463
  <fo:block font-size="10pt" text-align="right" margin-top="-2mm" margin-bottom="8pt">
464
+ <!-- Examples: 'FINAL DRAFT INTERNATIONAL STANDARD (FDIS)', 'COMMITTEE DRAFT FOR VOTE (CDV)' -->
650
465
  <xsl:call-template name="addLetterSpacing">
651
466
  <xsl:with-param name="text" select="concat($stage-fullname-uppercased, ' (', $stage-abbreviation ,')')"/>
652
467
  </xsl:call-template>
653
- <!-- <xsl:if test="$stage-abbreviation = 'FDIS'">
654
- <xsl:call-template name="addLetterSpacing">
655
- <xsl:with-param name="text" select="'FINAL DRAFT INTERNATIONAL STANDARD (FDIS)'"/>
656
- </xsl:call-template>
657
- </xsl:if>
658
- <xsl:if test="$stage-abbreviation = 'CDV'">
659
- <xsl:call-template name="addLetterSpacing">
660
- <xsl:with-param name="text" select="'COMMITTEE DRAFT FOR VOTE (CDV)'"/>
661
- </xsl:call-template>
662
- </xsl:if> -->
663
468
  <xsl:text> </xsl:text>
664
469
  </fo:block>
665
470
  <fo:block-container margin-left="57mm">
@@ -937,24 +742,6 @@
937
742
 
938
743
  <xsl:apply-templates select="(//iec:iec-standard)[1]/iec:boilerplate/iec:feedback-statement/iec:clause[@id = 'boilerplate-cenelec-attention']"/>
939
744
 
940
- <!-- <fo:block font-size="8pt" margin-bottom="10pt" text-align="justify">
941
- <xsl:if test="$stage-abbreviation = 'FDIS'">
942
- <xsl:call-template name="addLetterSpacing">
943
- <xsl:with-param name="text" select="'The attention of IEC National Committees, members of CENELEC, is drawn to the fact that this Final Draft International Standard (FDIS) is submitted for parallel voting.'"/>
944
- </xsl:call-template>
945
- </xsl:if>
946
- <xsl:if test="$stage-abbreviation = 'CDV'">
947
- <xsl:call-template name="addLetterSpacing">
948
- <xsl:with-param name="text" select="'The attention of IEC National Committees, members of CENELEC, is drawn to the fact that this Committee Draft for Vote (CDV) is submitted for parallel voting.'"/>
949
- </xsl:call-template>
950
- </xsl:if>
951
- </fo:block>
952
- <fo:block font-size="8pt" margin-bottom="10pt">
953
- <xsl:call-template name="addLetterSpacing">
954
- <xsl:with-param name="text" select="'The CENELEC members are invited to vote through the CENELEC online voting system.'"/>
955
- </xsl:call-template>
956
- </fo:block> -->
957
-
958
745
  </fo:table-cell>
959
746
  <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
960
747
  <fo:block font-size="6.5pt" margin-bottom="6pt">
@@ -982,45 +769,6 @@
982
769
  <fo:block>
983
770
  <xsl:apply-templates select="(//iec:iec-standard)[1]/iec:boilerplate/iec:license-statement" mode="cover-page-internal"/>
984
771
  </fo:block>
985
- <!-- <xsl:if test="$stage-abbreviation = 'FDIS'">
986
- <fo:block margin-bottom="6pt">
987
- <xsl:call-template name="addLetterSpacing">
988
- <xsl:with-param name="text">This document is a draft distributed for approval. It may not be referred to as an International Standard until published as such.</xsl:with-param>
989
- </xsl:call-template>
990
- </fo:block>
991
- <fo:block margin-bottom="6pt">
992
- <xsl:call-template name="addLetterSpacing">
993
- <xsl:with-param name="text">In addition to their evaluation as being acceptable for industrial, technological, commercial and user purposes, Final Draft International Standards may on occasion have to be considered in the light of their potential to become standards to which reference may be made in national regulations.</xsl:with-param>
994
- </xsl:call-template>
995
- </fo:block>
996
- <fo:block>
997
- <xsl:call-template name="addLetterSpacing">
998
- <xsl:with-param name="text"> Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.</xsl:with-param>
999
- </xsl:call-template>
1000
- </fo:block>
1001
- </xsl:if>
1002
- <xsl:if test="$stage-abbreviation = 'NWIP' or
1003
- $stage-abbreviation = 'PWI' or
1004
- $stage-abbreviation = 'NP' or
1005
- $stage-abbreviation = 'AWI' or
1006
- $stage-abbreviation = 'WD' or
1007
- $stage-abbreviation = 'CD' or
1008
- $stage-abbreviation = 'CDV' or
1009
- $stage-abbreviation = 'CD-TSTR' or
1010
- $stage-abbreviation = 'DTS' or
1011
- $stage-abbreviation = 'DTR' or
1012
- $stage-abbreviation = 'DPAS'">
1013
- <fo:block margin-bottom="6pt">
1014
- <xsl:call-template name="addLetterSpacing">
1015
- <xsl:with-param name="text">This document is still under study and subject to change. It should not be used for reference purposes.</xsl:with-param>
1016
- </xsl:call-template>
1017
- </fo:block>
1018
- <fo:block margin-bottom="6pt">
1019
- <xsl:call-template name="addLetterSpacing">
1020
- <xsl:with-param name="text">Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.</xsl:with-param>
1021
- </xsl:call-template>
1022
- </fo:block>
1023
- </xsl:if> -->
1024
772
  </fo:block-container>
1025
773
 
1026
774
  <fo:block-container background-color="rgb(219, 229, 241)" margin-top="4mm" padding="2mm" padding-top="1mm" border="1.5pt solid white">
@@ -1060,24 +808,6 @@
1060
808
  <xsl:apply-templates select="(//iec:iec-standard)[1]/iec:bibdata/iec:ext/iec:tc-sc-officers-note"/>
1061
809
  </fo:block-container>
1062
810
 
1063
- <!-- <xsl:if test="$stage-abbreviation = 'FDIS'">
1064
- <fo:block-container font-size="9pt" border="1.5 solid" border-color="rgb(221, 213, 213)" height="13mm" padding="1mm" margin-top="3mm">
1065
- <fo:block margin-bottom="6pt">
1066
- <xsl:call-template name="addLetterSpacing">
1067
- <xsl:with-param name="text">
1068
- <xsl:text>Chicago (USA) on April 9th</xsl:text>
1069
- </xsl:with-param>
1070
- </xsl:call-template>
1071
- </fo:block>
1072
- <fo:block>
1073
- <xsl:call-template name="addLetterSpacing">
1074
- <xsl:with-param name="text">
1075
- <xsl:text>This document is also of interest for ISO/ TC114/ WG1 Requirements for Watch batteries</xsl:text>
1076
- </xsl:with-param>
1077
- </xsl:call-template>
1078
- </fo:block>
1079
- </fo:block-container>
1080
- </xsl:if> -->
1081
811
 
1082
812
  </fo:flow>
1083
813
  </fo:page-sequence>
@@ -1133,76 +863,7 @@
1133
863
  </xsl:for-each>
1134
864
  </xsl:for-each>
1135
865
 
1136
-
1137
-
1138
- <!-- <fo:page-sequence master-reference="document" format="1" initial-page-number="2" force-page-count="no-force">
1139
- <xsl:call-template name="insertHeaderFooter"/>
1140
- <fo:flow flow-name="xsl-region-body">
1141
-
1142
- <xsl:variable name="docid">
1143
- <xsl:call-template name="getDocumentId"/>
1144
- </xsl:variable>
1145
-
1146
-
1147
- <xsl:call-template name="insertTOCpages">
1148
- <xsl:with-param name="contents" select="xalan:nodeset($contents)/doc[@id = $docid]"/>
1149
- </xsl:call-template>
1150
-
1151
- <xsl:call-template name="insertPrefacepages"/>
1152
-
1153
- </fo:flow>
1154
- </fo:page-sequence>
1155
-
1156
-
1157
- <xsl:call-template name="insertBodypages"/>
1158
- -->
1159
-
1160
-
1161
- <!-- Test=<xsl:copy-of select="$additionalDocs"/> Test -->
1162
- <!-- <xsl:for-each select="xalan:nodeset($additionalXMLsArray)/*">
1163
-
1164
- <xsl:for-each select="document(.)">
1165
- <xsl:variable name="lang">
1166
- <xsl:call-template name="getLang"/>
1167
- </xsl:variable>
1168
- <xsl:variable name="document">
1169
- <xsl:apply-templates mode="change_id">
1170
- <xsl:with-param name="lang" select="$lang"/>
1171
- </xsl:apply-templates>
1172
- </xsl:variable>
1173
-
1174
-
1175
- <xsl:for-each select="xalan:nodeset($document)">
1176
-
1177
- <fo:page-sequence master-reference="document" force-page-count="no-force">
1178
- <xsl:call-template name="insertHeaderFooter"/>
1179
- <fo:flow flow-name="xsl-region-body">
1180
-
1181
- <xsl:variable name="docid">
1182
- <xsl:call-template name="getDocumentId"/>
1183
- </xsl:variable>
1184
-
1185
- <xsl:call-template name="insertTOCpages">
1186
- <xsl:with-param name="contents" select="xalan:nodeset($contents)/doc[@id = $docid]"/>
1187
- </xsl:call-template>
1188
-
1189
- <xsl:call-template name="insertPrefacepages">
1190
- <xsl:with-param name="lang" select="$lang"/>
1191
- </xsl:call-template>
1192
-
1193
- </fo:flow>
1194
- </fo:page-sequence>
1195
-
1196
- <xsl:call-template name="insertBodypages">
1197
- <xsl:with-param name="lang" select="$lang"/>
1198
- </xsl:call-template>
1199
-
1200
-
1201
- </xsl:for-each>
1202
- </xsl:for-each>
1203
- </xsl:for-each> -->
1204
-
1205
-
866
+
1206
867
 
1207
868
 
1208
869
  <xsl:if test="$stage &gt;= 60">
@@ -1399,10 +1060,8 @@
1399
1060
  </xsl:call-template>
1400
1061
  </xsl:variable>
1401
1062
 
1402
- <!-- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($localized_part),'#',$part)"/> -->
1403
1063
  <xsl:value-of select="concat($localized_part ,' ',$part, ': ')"/>
1404
- <!-- <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
1405
- <xsl:text>: </xsl:text> -->
1064
+
1406
1065
  </xsl:if>
1407
1066
  <xsl:value-of select="$title-part"/>
1408
1067
  </xsl:if>
@@ -1428,11 +1087,12 @@
1428
1087
  <xsl:call-template name="getLocalizedString">
1429
1088
  <xsl:with-param name="key">locality.part</xsl:with-param>
1430
1089
  <xsl:with-param name="lang"><xsl:value-of select="$lang_second"/></xsl:with-param>
1090
+ <xsl:with-param name="returnEmptyIfNotFound">true</xsl:with-param>
1431
1091
  </xsl:call-template>
1432
1092
  </xsl:variable>
1433
1093
 
1434
1094
  <xsl:choose>
1435
- <xsl:when test="normalize-space($locality_part_lang_second)">
1095
+ <xsl:when test="normalize-space($locality_part_lang_second) != ''">
1436
1096
  <xsl:variable name="localized_part">
1437
1097
  <xsl:value-of select="$locality_part_lang_second"/>
1438
1098
  </xsl:variable>
@@ -1443,10 +1103,6 @@
1443
1103
  </xsl:otherwise>
1444
1104
  </xsl:choose>
1445
1105
 
1446
- <!-- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($localized_part),'#',$part)"/> -->
1447
-
1448
- <!-- <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
1449
- <xsl:text>: </xsl:text> -->
1450
1106
  </xsl:if>
1451
1107
  <xsl:value-of select="$part-second"/>
1452
1108
  </xsl:if>
@@ -1489,55 +1145,50 @@
1489
1145
  <xsl:if test="@type = 'references'">
1490
1146
  <xsl:attribute name="space-before">5pt</xsl:attribute>
1491
1147
  </xsl:if>
1492
- <!-- <xsl:if test="@level &gt;= 2 and @section != ''">
1493
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
1494
- </xsl:if> -->
1495
1148
 
1496
- <!-- <xsl:choose>
1497
- <xsl:when test="@section != '' and not(@display-section = 'false')"> -->
1498
- <fo:list-block>
1499
- <xsl:attribute name="margin-left">
1500
- <xsl:choose>
1501
- <xsl:when test="title/@variant-title = 'true'">0mm</xsl:when>
1502
- <xsl:when test="@level = 2">8mm</xsl:when>
1503
- <xsl:when test="@level &gt;= 3"><xsl:value-of select="(@level - 2) * 23"/>mm</xsl:when>
1504
- <xsl:otherwise>0mm</xsl:otherwise>
1505
- </xsl:choose>
1506
- </xsl:attribute>
1507
- <xsl:attribute name="provisional-distance-between-starts">
1508
- <xsl:choose>
1509
- <xsl:when test="@section = ''">0mm</xsl:when>
1510
- <xsl:when test="@level = 1">8mm</xsl:when>
1511
- <xsl:when test="@level = 2">15mm</xsl:when>
1512
- <xsl:when test="@level &gt;= 3"><xsl:value-of select="(@level - 2) * 19"/>mm</xsl:when>
1513
- <xsl:otherwise>0mm</xsl:otherwise>
1514
- </xsl:choose>
1515
- </xsl:attribute>
1516
- <fo:list-item>
1517
- <fo:list-item-label end-indent="label-end()">
1518
- <fo:block>
1519
- <xsl:value-of select="@section"/>
1520
- </fo:block>
1521
- </fo:list-item-label>
1522
- <fo:list-item-body start-indent="body-start()">
1523
- <fo:block text-align-last="justify">
1524
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1525
- <xsl:variable name="title">
1526
- <xsl:apply-templates select="title"/>
1527
- </xsl:variable>
1528
- <xsl:call-template name="addLetterSpacing">
1529
- <xsl:with-param name="text" select="$title"/>
1530
- </xsl:call-template>
1531
- <xsl:text> </xsl:text>
1532
- <fo:inline keep-together.within-line="always">
1533
- <fo:leader leader-pattern="dots"/>
1534
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
1535
- </fo:inline>
1536
- </fo:basic-link>
1537
- </fo:block>
1538
- </fo:list-item-body>
1539
- </fo:list-item>
1540
- </fo:list-block>
1149
+ <fo:list-block>
1150
+ <xsl:attribute name="margin-left">
1151
+ <xsl:choose>
1152
+ <xsl:when test="title/@variant-title = 'true'">0mm</xsl:when>
1153
+ <xsl:when test="@level = 2">8mm</xsl:when>
1154
+ <xsl:when test="@level &gt;= 3"><xsl:value-of select="(@level - 2) * 23"/>mm</xsl:when>
1155
+ <xsl:otherwise>0mm</xsl:otherwise>
1156
+ </xsl:choose>
1157
+ </xsl:attribute>
1158
+ <xsl:attribute name="provisional-distance-between-starts">
1159
+ <xsl:choose>
1160
+ <xsl:when test="@section = ''">0mm</xsl:when>
1161
+ <xsl:when test="@level = 1">8mm</xsl:when>
1162
+ <xsl:when test="@level = 2">15mm</xsl:when>
1163
+ <xsl:when test="@level &gt;= 3"><xsl:value-of select="(@level - 2) * 19"/>mm</xsl:when>
1164
+ <xsl:otherwise>0mm</xsl:otherwise>
1165
+ </xsl:choose>
1166
+ </xsl:attribute>
1167
+ <fo:list-item>
1168
+ <fo:list-item-label end-indent="label-end()">
1169
+ <fo:block>
1170
+ <xsl:value-of select="@section"/>
1171
+ </fo:block>
1172
+ </fo:list-item-label>
1173
+ <fo:list-item-body start-indent="body-start()">
1174
+ <fo:block text-align-last="justify">
1175
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1176
+ <xsl:variable name="title">
1177
+ <xsl:apply-templates select="title"/>
1178
+ </xsl:variable>
1179
+ <xsl:call-template name="addLetterSpacing">
1180
+ <xsl:with-param name="text" select="$title"/>
1181
+ </xsl:call-template>
1182
+ <xsl:text> </xsl:text>
1183
+ <fo:inline keep-together.within-line="always">
1184
+ <fo:leader leader-pattern="dots"/>
1185
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
1186
+ </fo:inline>
1187
+ </fo:basic-link>
1188
+ </fo:block>
1189
+ </fo:list-item-body>
1190
+ </fo:list-item>
1191
+ </fo:list-block>
1541
1192
  </fo:block>
1542
1193
  </xsl:for-each>
1543
1194
 
@@ -1633,9 +1284,7 @@
1633
1284
  <fo:flow flow-name="xsl-region-body">
1634
1285
 
1635
1286
  <fo:block-container font-size="12pt" text-align="center" margin-bottom="36pt">
1636
- <!-- <fo:block><xsl:value-of select="$organization"/></fo:block>
1637
- <fo:block>____________</fo:block>
1638
- <fo:block>&#xa0;</fo:block> -->
1287
+
1639
1288
  <fo:block font-weight="bold" role="H1">
1640
1289
  <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(/iec:iec-standard/iec:bibdata/iec:title[@language = $lang and @type = 'title-intro']))"/>
1641
1290
  <xsl:text> — </xsl:text>
@@ -1790,9 +1439,6 @@
1790
1439
  </xsl:if>
1791
1440
  <title>
1792
1441
  <xsl:choose>
1793
- <!-- <xsl:when test="$type = 'foreword' or $type = 'introduction'">
1794
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title))"/>
1795
- </xsl:when> -->
1796
1442
  <xsl:when test="normalize-space($variant_title) != ''">
1797
1443
  <xsl:attribute name="variant-title">true</xsl:attribute>
1798
1444
  <xsl:apply-templates select="xalan:nodeset($variant_title)" mode="contents_item"/>
@@ -1897,14 +1543,7 @@
1897
1543
  <xsl:apply-templates select="*[not(local-name() = 'title')]"/>
1898
1544
  </fo:block>
1899
1545
  </xsl:template>
1900
-
1901
- <!-- <xsl:template match="iec:iec-standard/iec:preface/iec:introduction" priority="3">
1902
- <fo:block break-after="page"/>
1903
- <fo:block id="{@id}">
1904
- <xsl:apply-templates />
1905
- </fo:block>
1906
- </xsl:template> -->
1907
-
1546
+
1908
1547
 
1909
1548
  <xsl:template match="iec:annex//iec:clause" priority="2">
1910
1549
  <fo:block id="{@id}" margin-top="5pt" margin-bottom="10pt" text-align="justify">
@@ -1917,24 +1556,6 @@
1917
1556
  <xsl:apply-templates/>
1918
1557
  </fo:block>
1919
1558
  </xsl:template>
1920
- <!-- <xsl:template match="iec:clause//iec:clause[not(iec:title)]">
1921
- <xsl:param name="sectionNum"/>
1922
- <xsl:variable name="section">
1923
- <xsl:call-template name="getSection">
1924
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1925
- </xsl:call-template>
1926
- </xsl:variable>
1927
-
1928
- <fo:block margin-top="5pt" margin-bottom="5pt" font-weight="bold" keep-with-next="always">
1929
- <xsl:value-of select="$section"/>
1930
- </fo:block>
1931
- <fo:block margin-bottom="10pt">
1932
- <xsl:apply-templates>
1933
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1934
- </xsl:apply-templates>
1935
- </fo:block>
1936
-
1937
- </xsl:template> -->
1938
1559
 
1939
1560
  <!-- ====== -->
1940
1561
  <!-- title -->
@@ -1947,7 +1568,6 @@
1947
1568
  </xsl:template>
1948
1569
  <xsl:template match="iec:introduction/iec:title/text()">
1949
1570
  <xsl:call-template name="addLetterSpacing">
1950
- <!-- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/> -->
1951
1571
  <xsl:with-param name="text" select="."/>
1952
1572
  </xsl:call-template>
1953
1573
  </xsl:template>
@@ -1999,8 +1619,7 @@
1999
1619
  <xsl:choose>
2000
1620
  <xsl:when test="$level = 2 and ancestor::iec:annex">22pt</xsl:when>
2001
1621
  <xsl:when test="$level &gt;= 2 and ancestor::iec:annex">5pt</xsl:when>
2002
- <!-- <xsl:when test="$level &gt;= 4">5pt</xsl:when> -->
2003
- <xsl:when test="$level = '' or $level = 1">18pt</xsl:when><!-- 13.5pt -->
1622
+ <xsl:when test="$level = '' or $level = 1">18pt</xsl:when>
2004
1623
  <xsl:otherwise>10pt</xsl:otherwise>
2005
1624
  </xsl:choose>
2006
1625
  </xsl:attribute>
@@ -2033,15 +1652,14 @@
2033
1652
  <xsl:otherwise>fo:block</xsl:otherwise>
2034
1653
  </xsl:choose>
2035
1654
  </xsl:variable>
2036
- <!-- inline=<xsl:value-of select="$inline"/> -->
1655
+
2037
1656
  <xsl:choose>
2038
1657
  <xsl:when test="$element-name = 'fo:block'">
2039
1658
  <xsl:element name="{$element-name}">
2040
1659
  <xsl:attribute name="text-align">
2041
1660
  <xsl:choose>
2042
- <!-- <xsl:when test="ancestor::iec:preface">justify</xsl:when> -->
2043
1661
  <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
2044
- <xsl:otherwise>justify</xsl:otherwise><!-- left -->
1662
+ <xsl:otherwise>justify</xsl:otherwise>
2045
1663
  </xsl:choose>
2046
1664
  </xsl:attribute>
2047
1665
  <xsl:attribute name="margin-top">5pt</xsl:attribute>
@@ -2064,10 +1682,7 @@
2064
1682
  <xsl:if test="ancestor::iec:dl">
2065
1683
  <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2066
1684
  </xsl:if>
2067
- <!-- Key -->
2068
- <!-- <xsl:if test="ancestor::iec:dl and ancestor::iec:figure">
2069
- <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2070
- </xsl:if> -->
1685
+
2071
1686
  <xsl:apply-templates select="@language"/>
2072
1687
  <xsl:apply-templates/>
2073
1688
  </xsl:element>
@@ -2077,18 +1692,6 @@
2077
1692
  </xsl:otherwise>
2078
1693
  </xsl:choose>
2079
1694
 
2080
-
2081
- <!-- <xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
2082
- <fo:block margin-bottom="10pt">
2083
- <xsl:if test="ancestor::iec:annex">
2084
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2085
- </xsl:if>
2086
- <xsl:value-of select="$linebreak"/>
2087
- </fo:block>
2088
- </xsl:if> -->
2089
- <!-- <xsl:if test="$inline = 'true'">
2090
- <fo:block>&#xA0;</fo:block>
2091
- </xsl:if> -->
2092
1695
  </xsl:template>
2093
1696
 
2094
1697
 
@@ -2105,63 +1708,6 @@
2105
1708
  </xsl:template>
2106
1709
 
2107
1710
 
2108
-
2109
- <xsl:template match="iec:ul | iec:ol" mode="ul_ol">
2110
- <fo:list-block provisional-distance-between-starts="6mm" margin-bottom="12pt">
2111
- <xsl:if test="ancestor::iec:ul or ancestor::iec:ol">
2112
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2113
- </xsl:if>
2114
- <!-- <xsl:if test="local-name() = 'ul'">
2115
- <xsl:attribute name="margin-left">6mm</xsl:attribute>
2116
- </xsl:if> -->
2117
- <xsl:if test="ancestor::iec:legal-statement">
2118
- <xsl:attribute name="provisional-distance-between-starts">5mm</xsl:attribute>
2119
- </xsl:if>
2120
- <xsl:apply-templates/>
2121
- </fo:list-block>
2122
- </xsl:template>
2123
-
2124
- <xsl:template match="iec:li">
2125
- <fo:list-item>
2126
- <fo:list-item-label end-indent="label-end()">
2127
- <fo:block>
2128
- <xsl:choose>
2129
- <xsl:when test="local-name(..) = 'ul'">
2130
- <xsl:call-template name="setULLabel"/>
2131
- </xsl:when>
2132
- <xsl:otherwise> <!-- for ordered lists -->
2133
- <xsl:choose>
2134
- <xsl:when test="../@type = 'arabic'">
2135
- <xsl:number format="1)"/>
2136
- </xsl:when>
2137
- <xsl:when test="../@type = 'alphabet'">
2138
- <xsl:number format="a)" lang="en"/>
2139
- </xsl:when>
2140
- <xsl:when test="../@type = 'alphabet_upper'">
2141
- <xsl:number format="A." lang="en"/>
2142
- </xsl:when>
2143
- <xsl:when test="../@type = 'roman'">
2144
- <xsl:number format="i)" lang="en"/>
2145
- </xsl:when>
2146
- <xsl:when test="../@type = 'roman_upper'">
2147
- <xsl:number format="I." lang="en"/>
2148
- </xsl:when>
2149
- <xsl:otherwise>
2150
- <xsl:number format="a)" lang="en"/>
2151
- </xsl:otherwise>
2152
- </xsl:choose>
2153
- </xsl:otherwise>
2154
- </xsl:choose>
2155
- </fo:block>
2156
- </fo:list-item-label>
2157
- <fo:list-item-body start-indent="body-start()">
2158
- <fo:block>
2159
- <xsl:apply-templates/>
2160
- </fo:block>
2161
- </fo:list-item-body>
2162
- </fo:list-item>
2163
- </xsl:template>
2164
-
2165
1711
  <xsl:template match="iec:li/iec:p" priority="2">
2166
1712
  <fo:block margin-bottom="6pt">
2167
1713
  <xsl:if test="ancestor::iec:ul">
@@ -2175,26 +1721,6 @@
2175
1721
  </xsl:template>
2176
1722
 
2177
1723
 
2178
- <xsl:template match="iec:preferred">
2179
- <xsl:variable name="levelTerm">
2180
- <xsl:call-template name="getLevelTermName"/>
2181
- </xsl:variable>
2182
- <fo:block line-height="1.1" space-before="14pt" role="H{$levelTerm}">
2183
- <xsl:if test="preceding-sibling::*[1][self::iec:preferred]">
2184
- <xsl:attribute name="space-before">1pt</xsl:attribute>
2185
- </xsl:if>
2186
- <xsl:if test="parent::iec:term and not(preceding-sibling::iec:preferred)"> <!-- if first preffered in term, then display term's name -->
2187
- <fo:block font-weight="bold" keep-with-next="always">
2188
- <xsl:apply-templates select="ancestor::iec:term[1]/iec:name"/>
2189
- </fo:block>
2190
- </xsl:if>
2191
- <fo:block font-weight="bold" keep-with-next="always">
2192
- <xsl:call-template name="setStyle_preferred"/>
2193
- <xsl:apply-templates/>
2194
- </fo:block>
2195
- </fo:block>
2196
- </xsl:template>
2197
-
2198
1724
 
2199
1725
  <xsl:template match="iec:admonition//iec:p//text()">
2200
1726
  <xsl:call-template name="addLetterSpacing">
@@ -2203,31 +1729,6 @@
2203
1729
  </xsl:template>
2204
1730
 
2205
1731
 
2206
-
2207
-
2208
- <xsl:template match="iec:formula/iec:stem">
2209
- <fo:block margin-top="6pt" margin-bottom="12pt">
2210
- <fo:table table-layout="fixed" width="100%">
2211
- <fo:table-column column-width="95%"/>
2212
- <fo:table-column column-width="5%"/>
2213
- <fo:table-body>
2214
- <fo:table-row>
2215
- <fo:table-cell display-align="center">
2216
- <fo:block text-align="center">
2217
- <xsl:apply-templates/>
2218
- </fo:block>
2219
- </fo:table-cell>
2220
- <fo:table-cell display-align="center">
2221
- <fo:block text-align="right" margin-right="-10mm">
2222
- <xsl:apply-templates select="../iec:name" mode="formula_number"/>
2223
- </fo:block>
2224
- </fo:table-cell>
2225
- </fo:table-row>
2226
- </fo:table-body>
2227
- </fo:table>
2228
- </fo:block>
2229
- </xsl:template>
2230
-
2231
1732
  <!-- =================== -->
2232
1733
  <!-- Index processing -->
2233
1734
  <!-- =================== -->
@@ -2247,29 +1748,11 @@
2247
1748
  </fo:flow>
2248
1749
  </fo:page-sequence>
2249
1750
  </xsl:template>
2250
-
2251
- <xsl:template match="iec:indexsect/iec:title" priority="4">
2252
- <fo:block font-size="12pt" font-weight="bold" margin-bottom="84pt" role="H1">
2253
- <!-- Index -->
2254
- <xsl:apply-templates/>
2255
- </fo:block>
2256
- </xsl:template>
2257
1751
 
2258
1752
  <xsl:template match="iec:indexsect/iec:title/text()" priority="4">
2259
1753
  <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
2260
1754
  </xsl:template>
2261
1755
 
2262
- <xsl:template match="iec:indexsect/iec:clause/iec:title" priority="4">
2263
- <!-- Letter A, B, C, ... -->
2264
- <fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
2265
- <xsl:apply-templates/>
2266
- </fo:block>
2267
- </xsl:template>
2268
-
2269
- <xsl:template match="iec:indexsect//iec:li/text()">
2270
- <!-- to split by '_' and other chars -->
2271
- <xsl:call-template name="add-zero-spaces-java"/>
2272
- </xsl:template>
2273
1756
 
2274
1757
  <xsl:template match="iec:xref[@pagenumber = 'true']" priority="2">
2275
1758
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
@@ -2448,11 +1931,21 @@
2448
1931
  </xsl:copy>
2449
1932
  </xsl:template> -->
2450
1933
 
2451
- <xsl:variable name="pageWidth_">
1934
+ <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
1935
+ <xsl:call-template name="getLang"/>
1936
+ </xsl:variable><xsl:variable name="pageWidth_">
2452
1937
  210
2453
1938
  </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
2454
1939
  297
2455
- </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
1940
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
1941
+ 25
1942
+ </xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
1943
+ 25
1944
+ </xsl:variable><xsl:variable name="marginLeftRight2" select="normalize-space($marginLeftRight2_)"/><xsl:variable name="marginTop_">
1945
+ 31
1946
+ </xsl:variable><xsl:variable name="marginTop" select="normalize-space($marginTop_)"/><xsl:variable name="marginBottom_">
1947
+ 15
1948
+ </xsl:variable><xsl:variable name="marginBottom" select="normalize-space($marginBottom_)"/><xsl:variable name="titles_">
2456
1949
 
2457
1950
  <title-edition lang="en">
2458
1951
 
@@ -2516,7 +2009,7 @@
2516
2009
  </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
2517
2010
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
2518
2011
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
2519
- </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
2012
+ </xsl:variable><xsl:variable name="linebreak">&#8232;</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space">​</xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
2520
2013
  <xsl:param name="name"/>
2521
2014
  <xsl:param name="lang"/>
2522
2015
  <xsl:variable name="lang_">
@@ -2539,7 +2032,7 @@
2539
2032
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
2540
2033
  </xsl:otherwise>
2541
2034
  </xsl:choose>
2542
- </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
2035
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:attribute-set name="root-style">
2543
2036
 
2544
2037
 
2545
2038
 
@@ -2706,11 +2199,12 @@
2706
2199
 
2707
2200
 
2708
2201
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
2709
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2710
2202
 
2711
2203
 
2712
2204
 
2713
2205
 
2206
+
2207
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2714
2208
  <xsl:attribute name="padding-right">9mm</xsl:attribute>
2715
2209
 
2716
2210
 
@@ -3106,24 +2600,22 @@
3106
2600
 
3107
2601
 
3108
2602
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
3109
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
2603
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2604
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
3110
2605
 
3111
2606
 
3112
2607
 
3113
2608
 
3114
2609
  <xsl:attribute name="margin-top">5pt</xsl:attribute>
3115
2610
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
3116
- <xsl:attribute name="margin-left">12mm</xsl:attribute>
3117
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
3118
2611
 
3119
2612
 
3120
2613
 
3121
2614
 
3122
2615
  </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2616
+ <xsl:attribute name="text-align">right</xsl:attribute>
3123
2617
 
3124
-
3125
2618
 
3126
- <xsl:attribute name="text-align">right</xsl:attribute>
3127
2619
  <xsl:attribute name="margin-top">15pt</xsl:attribute>
3128
2620
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
3129
2621
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -3149,6 +2641,9 @@
3149
2641
 
3150
2642
  </xsl:attribute-set><xsl:attribute-set name="term-style">
3151
2643
 
2644
+ </xsl:attribute-set><xsl:attribute-set name="term-name-style">
2645
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2646
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3152
2647
  </xsl:attribute-set><xsl:attribute-set name="figure-style">
3153
2648
 
3154
2649
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
@@ -3179,6 +2674,35 @@
3179
2674
 
3180
2675
 
3181
2676
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
2677
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2678
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2679
+
2680
+
2681
+
2682
+
2683
+
2684
+
2685
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-block-style">
2686
+ <xsl:attribute name="text-align">center</xsl:attribute>
2687
+
2688
+
2689
+
2690
+
2691
+
2692
+
2693
+
2694
+
2695
+
2696
+
2697
+
2698
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
2699
+ <xsl:attribute name="text-align">right</xsl:attribute>
2700
+
2701
+
2702
+ <xsl:attribute name="margin-right">-10mm</xsl:attribute>
2703
+
2704
+
2705
+
3182
2706
 
3183
2707
  </xsl:attribute-set><xsl:attribute-set name="image-style">
3184
2708
  <xsl:attribute name="text-align">center</xsl:attribute>
@@ -3214,44 +2738,89 @@
3214
2738
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
3215
2739
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
3216
2740
 
2741
+ </xsl:attribute-set><xsl:attribute-set name="preferred-block-style">
2742
+
2743
+
2744
+ <xsl:attribute name="line-height">1.1</xsl:attribute>
2745
+ <xsl:attribute name="space-before">14pt</xsl:attribute>
2746
+
2747
+
2748
+
2749
+
2750
+
2751
+ </xsl:attribute-set><xsl:attribute-set name="preferred-term-style">
2752
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2753
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2754
+
2755
+
3217
2756
  </xsl:attribute-set><xsl:attribute-set name="domain-style">
3218
2757
 
3219
2758
  </xsl:attribute-set><xsl:attribute-set name="admitted-style">
3220
2759
 
3221
2760
 
3222
2761
 
3223
- </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2762
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2763
+
2764
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2765
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2766
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2767
+
2768
+
2769
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
2770
+
2771
+
2772
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2773
+
2774
+
2775
+ </xsl:attribute-set><xsl:variable name="color-added-text">
2776
+ <xsl:text>rgb(0, 255, 0)</xsl:text>
2777
+ </xsl:variable><xsl:attribute-set name="add-style">
2778
+ <xsl:attribute name="color">red</xsl:attribute>
2779
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2780
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
2781
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2782
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2783
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2784
+ </xsl:attribute-set><xsl:variable name="color-deleted-text">
2785
+ <xsl:text>red</xsl:text>
2786
+ </xsl:variable><xsl:attribute-set name="del-style">
2787
+ <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
2788
+ <xsl:attribute name="text-decoration">line-through</xsl:attribute>
2789
+ </xsl:attribute-set><xsl:attribute-set name="mathml-style">
2790
+ <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
2791
+
2792
+
2793
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
2794
+
2795
+
2796
+
2797
+
2798
+
2799
+ <xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
2800
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2801
+
2802
+
2803
+
2804
+
2805
+
2806
+
2807
+
2808
+
2809
+
3224
2810
 
3225
- <xsl:attribute name="font-size">8pt</xsl:attribute>
3226
- <xsl:attribute name="margin-top">5pt</xsl:attribute>
3227
- <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
3228
2811
 
3229
2812
 
3230
- </xsl:attribute-set><xsl:attribute-set name="definition-style">
3231
2813
 
2814
+ </xsl:attribute-set><xsl:attribute-set name="list-item-style">
3232
2815
 
3233
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3234
2816
 
2817
+ </xsl:attribute-set><xsl:attribute-set name="list-item-label-style">
3235
2818
 
3236
- </xsl:attribute-set><xsl:variable name="color-added-text">
3237
- <xsl:text>rgb(0, 255, 0)</xsl:text>
3238
- </xsl:variable><xsl:attribute-set name="add-style">
3239
- <xsl:attribute name="color">red</xsl:attribute>
3240
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
3241
- <!-- <xsl:attribute name="color">black</xsl:attribute>
3242
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
3243
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
3244
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
3245
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
3246
- <xsl:text>red</xsl:text>
3247
- </xsl:variable><xsl:attribute-set name="del-style">
3248
- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
3249
- <xsl:attribute name="text-decoration">line-through</xsl:attribute>
3250
- </xsl:attribute-set><xsl:attribute-set name="mathml-style">
3251
- <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
3252
2819
 
3253
2820
 
3254
- </xsl:attribute-set><xsl:attribute-set name="list-style">
2821
+ </xsl:attribute-set><xsl:attribute-set name="list-item-body-style">
2822
+
2823
+
3255
2824
 
3256
2825
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
3257
2826
  <xsl:attribute name="line-height">135%</xsl:attribute>
@@ -3535,6 +3104,119 @@
3535
3104
 
3536
3105
 
3537
3106
 
3107
+ </xsl:attribute-set><xsl:attribute-set name="hljs-doctag">
3108
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
3109
+ </xsl:attribute-set><xsl:attribute-set name="hljs-keyword">
3110
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
3111
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-keyword">
3112
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
3113
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-tag">
3114
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
3115
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-variable">
3116
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
3117
+ </xsl:attribute-set><xsl:attribute-set name="hljs-type">
3118
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
3119
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable_and_language_">
3120
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
3121
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title">
3122
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
3123
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class_">
3124
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
3125
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class__and_inherited__">
3126
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
3127
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_function_">
3128
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
3129
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attr">
3130
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3131
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attribute">
3132
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3133
+ </xsl:attribute-set><xsl:attribute-set name="hljs-literal">
3134
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3135
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta">
3136
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3137
+ </xsl:attribute-set><xsl:attribute-set name="hljs-number">
3138
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3139
+ </xsl:attribute-set><xsl:attribute-set name="hljs-operator">
3140
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3141
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable">
3142
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3143
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-attr">
3144
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3145
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-class">
3146
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3147
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-id">
3148
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3149
+ </xsl:attribute-set><xsl:attribute-set name="hljs-regexp">
3150
+ <xsl:attribute name="color">#032f62</xsl:attribute>
3151
+ </xsl:attribute-set><xsl:attribute-set name="hljs-string">
3152
+ <xsl:attribute name="color">#032f62</xsl:attribute>
3153
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-string">
3154
+ <xsl:attribute name="color">#032f62</xsl:attribute>
3155
+ </xsl:attribute-set><xsl:attribute-set name="hljs-built_in">
3156
+ <xsl:attribute name="color">#e36209</xsl:attribute>
3157
+ </xsl:attribute-set><xsl:attribute-set name="hljs-symbol">
3158
+ <xsl:attribute name="color">#e36209</xsl:attribute>
3159
+ </xsl:attribute-set><xsl:attribute-set name="hljs-comment">
3160
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
3161
+ </xsl:attribute-set><xsl:attribute-set name="hljs-code">
3162
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
3163
+ </xsl:attribute-set><xsl:attribute-set name="hljs-formula">
3164
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
3165
+ </xsl:attribute-set><xsl:attribute-set name="hljs-name">
3166
+ <xsl:attribute name="color">#22863a</xsl:attribute>
3167
+ </xsl:attribute-set><xsl:attribute-set name="hljs-quote">
3168
+ <xsl:attribute name="color">#22863a</xsl:attribute>
3169
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-tag">
3170
+ <xsl:attribute name="color">#22863a</xsl:attribute>
3171
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-pseudo">
3172
+ <xsl:attribute name="color">#22863a</xsl:attribute>
3173
+ </xsl:attribute-set><xsl:attribute-set name="hljs-subst">
3174
+ <xsl:attribute name="color">#24292e</xsl:attribute>
3175
+ </xsl:attribute-set><xsl:attribute-set name="hljs-section">
3176
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
3177
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3178
+ </xsl:attribute-set><xsl:attribute-set name="hljs-bullet">
3179
+ <xsl:attribute name="color">#735c0f</xsl:attribute>
3180
+ </xsl:attribute-set><xsl:attribute-set name="hljs-emphasis">
3181
+ <xsl:attribute name="color">#24292e</xsl:attribute>
3182
+ <xsl:attribute name="font-style">italic</xsl:attribute>
3183
+ </xsl:attribute-set><xsl:attribute-set name="hljs-strong">
3184
+ <xsl:attribute name="color">#24292e</xsl:attribute>
3185
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3186
+ </xsl:attribute-set><xsl:attribute-set name="hljs-addition">
3187
+ <xsl:attribute name="color">#22863a</xsl:attribute>
3188
+ <xsl:attribute name="background-color">#f0fff4</xsl:attribute>
3189
+ </xsl:attribute-set><xsl:attribute-set name="hljs-deletion">
3190
+ <xsl:attribute name="color">#b31d28</xsl:attribute>
3191
+ <xsl:attribute name="background-color">#ffeef0</xsl:attribute>
3192
+ </xsl:attribute-set><xsl:attribute-set name="hljs-char_and_escape_">
3193
+ </xsl:attribute-set><xsl:attribute-set name="hljs-link">
3194
+ </xsl:attribute-set><xsl:attribute-set name="hljs-params">
3195
+ </xsl:attribute-set><xsl:attribute-set name="hljs-property">
3196
+ </xsl:attribute-set><xsl:attribute-set name="hljs-punctuation">
3197
+ </xsl:attribute-set><xsl:attribute-set name="hljs-tag">
3198
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-title-style">
3199
+ <xsl:attribute name="role">H1</xsl:attribute>
3200
+
3201
+
3202
+
3203
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
3204
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3205
+ <xsl:attribute name="margin-bottom">84pt</xsl:attribute>
3206
+
3207
+
3208
+
3209
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-clause-title-style">
3210
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
3211
+
3212
+
3213
+
3214
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3215
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3216
+ <xsl:attribute name="margin-bottom">3pt</xsl:attribute>
3217
+
3218
+
3219
+
3538
3220
  </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
3539
3221
  <xsl:for-each select="/*/*[local-name()='preface']/*">
3540
3222
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -3621,9 +3303,12 @@
3621
3303
 
3622
3304
 
3623
3305
  </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
3306
+ <xsl:param name="margin"/>
3624
3307
 
3625
3308
  <!-- process in the template 'paragraph' -->
3626
- <xsl:call-template name="paragraph"/>
3309
+ <xsl:call-template name="paragraph">
3310
+ <xsl:with-param name="margin" select="$margin"/>
3311
+ </xsl:call-template>
3627
3312
 
3628
3313
  </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
3629
3314
  <fo:block xsl:use-attribute-sets="feedback-statement-style">
@@ -3639,6 +3324,7 @@
3639
3324
  </fo:block>
3640
3325
 
3641
3326
  </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
3327
+ <xsl:param name="margin"/>
3642
3328
 
3643
3329
  <fo:block xsl:use-attribute-sets="feedback-statement-p-style">
3644
3330
  <xsl:apply-templates/>
@@ -3992,8 +3678,7 @@
3992
3678
  </xsl:call-template>
3993
3679
  </xsl:if>
3994
3680
  </xsl:template><xsl:template match="text()" mode="td_text">
3995
- <xsl:variable name="zero-space">​</xsl:variable>
3996
- <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
3681
+ <xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
3997
3682
  </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
3998
3683
  <xsl:value-of select="*[local-name()='origin']/@citeas"/>
3999
3684
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
@@ -5003,20 +4688,44 @@
5003
4688
  <fo:inline text-decoration="underline">
5004
4689
  <xsl:apply-templates/>
5005
4690
  </fo:inline>
5006
- </xsl:template><xsl:template match="*[local-name()='add']">
4691
+ </xsl:template><xsl:template match="*[local-name()='add']" name="tag_add">
5007
4692
  <xsl:param name="skip">true</xsl:param>
4693
+ <xsl:param name="block">false</xsl:param>
4694
+ <xsl:param name="type"/>
4695
+ <xsl:param name="text-align"/>
5008
4696
  <xsl:choose>
5009
4697
  <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
5010
4698
  <xsl:choose>
5011
- <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
4699
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab']) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
5012
4700
  <xsl:otherwise>
5013
- <fo:inline>
4701
+ <xsl:variable name="tag">
5014
4702
  <xsl:call-template name="insertTag">
5015
- <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
4703
+ <xsl:with-param name="type">
4704
+ <xsl:choose>
4705
+ <xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
4706
+ <xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
4707
+ </xsl:choose>
4708
+ </xsl:with-param>
5016
4709
  <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
5017
4710
  <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
5018
4711
  </xsl:call-template>
5019
- </fo:inline>
4712
+ </xsl:variable>
4713
+ <xsl:choose>
4714
+ <xsl:when test="$block = 'false'">
4715
+ <fo:inline>
4716
+ <xsl:copy-of select="$tag"/>
4717
+ </fo:inline>
4718
+ </xsl:when>
4719
+ <xsl:otherwise>
4720
+ <fo:block> <!-- for around figures -->
4721
+ <xsl:if test="$text-align != ''">
4722
+ <xsl:attribute name="text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
4723
+ </xsl:if>
4724
+ <xsl:copy-of select="$tag"/>
4725
+ </fo:block>
4726
+ </xsl:otherwise>
4727
+ </xsl:choose>
4728
+
5020
4729
  </xsl:otherwise>
5021
4730
  </xsl:choose>
5022
4731
  </xsl:when>
@@ -5375,17 +5084,21 @@
5375
5084
  </xsl:apply-templates>
5376
5085
  </xsl:template><xsl:template name="getLang">
5377
5086
  <xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
5378
- <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
5379
5087
  <xsl:variable name="language">
5380
5088
  <xsl:choose>
5381
5089
  <xsl:when test="$language_current != ''">
5382
5090
  <xsl:value-of select="$language_current"/>
5383
5091
  </xsl:when>
5384
- <xsl:when test="$language_current_2 != ''">
5385
- <xsl:value-of select="$language_current_2"/>
5386
- </xsl:when>
5387
5092
  <xsl:otherwise>
5388
- <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
5093
+ <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
5094
+ <xsl:choose>
5095
+ <xsl:when test="$language_current_2 != ''">
5096
+ <xsl:value-of select="$language_current_2"/>
5097
+ </xsl:when>
5098
+ <xsl:otherwise>
5099
+ <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
5100
+ </xsl:otherwise>
5101
+ </xsl:choose>
5389
5102
  </xsl:otherwise>
5390
5103
  </xsl:choose>
5391
5104
  </xsl:variable>
@@ -5606,8 +5319,8 @@
5606
5319
 
5607
5320
  </xsl:if>
5608
5321
  <fo:block-container margin-left="0mm">
5609
- <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
5610
- <xsl:apply-templates/>
5322
+ <fo:block id="{@id}">
5323
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
5611
5324
  </fo:block>
5612
5325
  </fo:block-container>
5613
5326
  </fo:block-container>
@@ -5619,10 +5332,43 @@
5619
5332
  <fo:inline>
5620
5333
  <xsl:apply-templates/>
5621
5334
  </fo:inline>
5622
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
5335
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
5623
5336
  <xsl:if test="normalize-space() != ''">
5624
5337
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
5625
5338
  </xsl:if>
5339
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][*[local-name() = 'name']]/*[local-name() = 'stem']">
5340
+ <fo:block xsl:use-attribute-sets="formula-style">
5341
+
5342
+
5343
+
5344
+ <fo:table table-layout="fixed" width="100%">
5345
+ <fo:table-column column-width="95%"/>
5346
+ <fo:table-column column-width="5%"/>
5347
+ <fo:table-body>
5348
+ <fo:table-row>
5349
+ <fo:table-cell display-align="center">
5350
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
5351
+
5352
+
5353
+
5354
+ <xsl:apply-templates/>
5355
+ </fo:block>
5356
+ </fo:table-cell>
5357
+ <fo:table-cell display-align="center">
5358
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style">
5359
+ <xsl:apply-templates select="../*[local-name() = 'name']"/>
5360
+ </fo:block>
5361
+ </fo:table-cell>
5362
+ </fo:table-row>
5363
+ </fo:table-body>
5364
+ </fo:table>
5365
+ </fo:block>
5366
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][not(*[local-name() = 'name'])]/*[local-name() = 'stem']">
5367
+ <fo:block xsl:use-attribute-sets="formula-style">
5368
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
5369
+ <xsl:apply-templates/>
5370
+ </fo:block>
5371
+ </fo:block>
5626
5372
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
5627
5373
 
5628
5374
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
@@ -6570,12 +6316,140 @@
6570
6316
  </fo:block-container>
6571
6317
  </fo:block-container>
6572
6318
  </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
6573
- <xsl:variable name="text">
6319
+ <xsl:choose>
6320
+ <xsl:when test="normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
6321
+ <xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
6322
+ <xsl:choose>
6323
+ <xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
6324
+ <xsl:apply-templates select="xalan:nodeset($syntax)" mode="syntax_highlight"/> <!-- process span tags -->
6325
+ </xsl:when>
6326
+ <xsl:otherwise> <!-- if case of non-succesfull syntax highlight (for instance, unknown lang), process without highlighting -->
6327
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
6328
+ </xsl:otherwise>
6329
+ </xsl:choose>
6330
+ </xsl:when>
6331
+ <xsl:otherwise>
6332
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
6333
+ </xsl:otherwise>
6334
+ </xsl:choose>
6335
+
6336
+ </xsl:template><xsl:template name="add_spaces_to_sourcecode">
6337
+ <xsl:variable name="text_step1">
6574
6338
  <xsl:call-template name="add-zero-spaces-equal"/>
6575
6339
  </xsl:variable>
6576
- <xsl:call-template name="add-zero-spaces-java">
6577
- <xsl:with-param name="text" select="$text"/>
6578
- </xsl:call-template>
6340
+ <xsl:variable name="text_step2">
6341
+ <xsl:call-template name="add-zero-spaces-java">
6342
+ <xsl:with-param name="text" select="$text_step1"/>
6343
+ </xsl:call-template>
6344
+ </xsl:variable>
6345
+ <xsl:value-of select="$text_step2"/>
6346
+ </xsl:template><xsl:template match="*" mode="syntax_highlight">
6347
+ <xsl:apply-templates mode="syntax_highlight"/>
6348
+ </xsl:template><xsl:variable name="syntax_highlight_styles_">
6349
+ <style class="hljs-addition" xsl:use-attribute-sets="hljs-addition"/>
6350
+ <style class="hljs-attr" xsl:use-attribute-sets="hljs-attr"/>
6351
+ <style class="hljs-attribute" xsl:use-attribute-sets="hljs-attribute"/>
6352
+ <style class="hljs-built_in" xsl:use-attribute-sets="hljs-built_in"/>
6353
+ <style class="hljs-bullet" xsl:use-attribute-sets="hljs-bullet"/>
6354
+ <style class="hljs-char_and_escape_" xsl:use-attribute-sets="hljs-char_and_escape_"/>
6355
+ <style class="hljs-code" xsl:use-attribute-sets="hljs-code"/>
6356
+ <style class="hljs-comment" xsl:use-attribute-sets="hljs-comment"/>
6357
+ <style class="hljs-deletion" xsl:use-attribute-sets="hljs-deletion"/>
6358
+ <style class="hljs-doctag" xsl:use-attribute-sets="hljs-doctag"/>
6359
+ <style class="hljs-emphasis" xsl:use-attribute-sets="hljs-emphasis"/>
6360
+ <style class="hljs-formula" xsl:use-attribute-sets="hljs-formula"/>
6361
+ <style class="hljs-keyword" xsl:use-attribute-sets="hljs-keyword"/>
6362
+ <style class="hljs-link" xsl:use-attribute-sets="hljs-link"/>
6363
+ <style class="hljs-literal" xsl:use-attribute-sets="hljs-literal"/>
6364
+ <style class="hljs-meta" xsl:use-attribute-sets="hljs-meta"/>
6365
+ <style class="hljs-meta_hljs-string" xsl:use-attribute-sets="hljs-meta_hljs-string"/>
6366
+ <style class="hljs-meta_hljs-keyword" xsl:use-attribute-sets="hljs-meta_hljs-keyword"/>
6367
+ <style class="hljs-name" xsl:use-attribute-sets="hljs-name"/>
6368
+ <style class="hljs-number" xsl:use-attribute-sets="hljs-number"/>
6369
+ <style class="hljs-operator" xsl:use-attribute-sets="hljs-operator"/>
6370
+ <style class="hljs-params" xsl:use-attribute-sets="hljs-params"/>
6371
+ <style class="hljs-property" xsl:use-attribute-sets="hljs-property"/>
6372
+ <style class="hljs-punctuation" xsl:use-attribute-sets="hljs-punctuation"/>
6373
+ <style class="hljs-quote" xsl:use-attribute-sets="hljs-quote"/>
6374
+ <style class="hljs-regexp" xsl:use-attribute-sets="hljs-regexp"/>
6375
+ <style class="hljs-section" xsl:use-attribute-sets="hljs-section"/>
6376
+ <style class="hljs-selector-attr" xsl:use-attribute-sets="hljs-selector-attr"/>
6377
+ <style class="hljs-selector-class" xsl:use-attribute-sets="hljs-selector-class"/>
6378
+ <style class="hljs-selector-id" xsl:use-attribute-sets="hljs-selector-id"/>
6379
+ <style class="hljs-selector-pseudo" xsl:use-attribute-sets="hljs-selector-pseudo"/>
6380
+ <style class="hljs-selector-tag" xsl:use-attribute-sets="hljs-selector-tag"/>
6381
+ <style class="hljs-string" xsl:use-attribute-sets="hljs-string"/>
6382
+ <style class="hljs-strong" xsl:use-attribute-sets="hljs-strong"/>
6383
+ <style class="hljs-subst" xsl:use-attribute-sets="hljs-subst"/>
6384
+ <style class="hljs-symbol" xsl:use-attribute-sets="hljs-symbol"/>
6385
+ <style class="hljs-tag" xsl:use-attribute-sets="hljs-tag"/>
6386
+ <!-- <style class="hljs-tag_hljs-attr" xsl:use-attribute-sets="hljs-tag_hljs-attr"></style> -->
6387
+ <!-- <style class="hljs-tag_hljs-name" xsl:use-attribute-sets="hljs-tag_hljs-name"></style> -->
6388
+ <style class="hljs-template-tag" xsl:use-attribute-sets="hljs-template-tag"/>
6389
+ <style class="hljs-template-variable" xsl:use-attribute-sets="hljs-template-variable"/>
6390
+ <style class="hljs-title" xsl:use-attribute-sets="hljs-title"/>
6391
+ <style class="hljs-title_and_class_" xsl:use-attribute-sets="hljs-title_and_class_"/>
6392
+ <style class="hljs-title_and_class__and_inherited__" xsl:use-attribute-sets="hljs-title_and_class__and_inherited__"/>
6393
+ <style class="hljs-title_and_function_" xsl:use-attribute-sets="hljs-title_and_function_"/>
6394
+ <style class="hljs-type" xsl:use-attribute-sets="hljs-type"/>
6395
+ <style class="hljs-variable" xsl:use-attribute-sets="hljs-variable"/>
6396
+ <style class="hljs-variable_and_language_" xsl:use-attribute-sets="hljs-variable_and_language_"/>
6397
+ </xsl:variable><xsl:variable name="syntax_highlight_styles" select="xalan:nodeset($syntax_highlight_styles_)"/><xsl:template match="span" mode="syntax_highlight" priority="2">
6398
+ <!-- <fo:inline color="green" font-style="italic"><xsl:apply-templates mode="syntax_highlight"/></fo:inline> -->
6399
+ <fo:inline>
6400
+ <xsl:variable name="classes_">
6401
+ <xsl:call-template name="split">
6402
+ <xsl:with-param name="pText" select="@class"/>
6403
+ <xsl:with-param name="sep" select="' '"/>
6404
+ </xsl:call-template>
6405
+ <!-- a few classes together (_and_ suffix) -->
6406
+ <xsl:if test="contains(@class, 'hljs-char') and contains(@class, 'escape_')">
6407
+ <item>hljs-char_and_escape_</item>
6408
+ </xsl:if>
6409
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_')">
6410
+ <item>hljs-title_and_class_</item>
6411
+ </xsl:if>
6412
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_') and contains(@class, 'inherited__')">
6413
+ <item>hljs-title_and_class__and_inherited__</item>
6414
+ </xsl:if>
6415
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'function_')">
6416
+ <item>hljs-title_and_function_</item>
6417
+ </xsl:if>
6418
+ <xsl:if test="contains(@class, 'hljs-variable') and contains(@class, 'language_')">
6419
+ <item>hljs-variable_and_language_</item>
6420
+ </xsl:if>
6421
+ <!-- with parent classes (_ suffix) -->
6422
+ <xsl:if test="contains(@class, 'hljs-keyword') and contains(ancestor::*/@class, 'hljs-meta')">
6423
+ <item>hljs-meta_hljs-keyword</item>
6424
+ </xsl:if>
6425
+ <xsl:if test="contains(@class, 'hljs-string') and contains(ancestor::*/@class, 'hljs-meta')">
6426
+ <item>hljs-meta_hljs-string</item>
6427
+ </xsl:if>
6428
+ </xsl:variable>
6429
+ <xsl:variable name="classes" select="xalan:nodeset($classes_)"/>
6430
+
6431
+ <xsl:for-each select="$classes/item">
6432
+ <xsl:variable name="class_name" select="."/>
6433
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
6434
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
6435
+ </xsl:for-each>
6436
+ </xsl:for-each>
6437
+
6438
+ <!-- <xsl:variable name="class_name">
6439
+ <xsl:choose>
6440
+ <xsl:when test="@class = 'hljs-attr' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-attr</xsl:when>
6441
+ <xsl:when test="@class = 'hljs-name' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-name</xsl:when>
6442
+ <xsl:when test="@class = 'hljs-string' and ancestor::*/@class = 'hljs-meta'">hljs-meta_hljs-string</xsl:when>
6443
+ <xsl:otherwise><xsl:value-of select="@class"/></xsl:otherwise>
6444
+ </xsl:choose>
6445
+ </xsl:variable>
6446
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
6447
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
6448
+ </xsl:for-each> -->
6449
+
6450
+ <xsl:apply-templates mode="syntax_highlight"/></fo:inline>
6451
+ </xsl:template><xsl:template match="text()" mode="syntax_highlight" priority="2">
6452
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
6579
6453
  </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
6580
6454
  <xsl:if test="normalize-space() != ''">
6581
6455
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
@@ -6952,11 +6826,14 @@
6952
6826
 
6953
6827
 
6954
6828
  <fo:block-container margin-left="0mm">
6955
-
6956
- <fo:block xsl:use-attribute-sets="quote-style">
6829
+ <fo:block-container xsl:use-attribute-sets="quote-style">
6957
6830
 
6958
- <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
6959
- </fo:block>
6831
+ <fo:block-container margin-left="0mm" margin-right="0mm">
6832
+ <fo:block role="BlockQuote">
6833
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
6834
+ </fo:block>
6835
+ </fo:block-container>
6836
+ </fo:block-container>
6960
6837
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
6961
6838
  <fo:block xsl:use-attribute-sets="quote-source-style">
6962
6839
  <!-- — ISO, ISO 7301:2011, Clause 1 -->
@@ -7103,6 +6980,35 @@
7103
6980
  <xsl:with-param name="count" select="$count - 1"/>
7104
6981
  </xsl:call-template>
7105
6982
  </xsl:if>
6983
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']">
6984
+ <xsl:variable name="level">
6985
+ <xsl:call-template name="getLevel"/>
6986
+ </xsl:variable>
6987
+ <xsl:variable name="font-size">
6988
+ inherit
6989
+ </xsl:variable>
6990
+ <xsl:variable name="levelTerm">
6991
+ <xsl:call-template name="getLevelTermName"/>
6992
+ </xsl:variable>
6993
+ <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
6994
+
6995
+
6996
+ <xsl:if test="preceding-sibling::*[1][self::iec:preferred]">
6997
+ <xsl:attribute name="space-before">1pt</xsl:attribute>
6998
+ </xsl:if>
6999
+
7000
+
7001
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
7002
+ <fo:block xsl:use-attribute-sets="term-name-style">
7003
+ <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
7004
+ </fo:block>
7005
+ </xsl:if>
7006
+
7007
+ <fo:block xsl:use-attribute-sets="preferred-term-style">
7008
+ <xsl:call-template name="setStyle_preferred"/>
7009
+ <xsl:apply-templates/>
7010
+ </fo:block>
7011
+ </fo:block>
7106
7012
  </xsl:template><xsl:template match="*[local-name() = 'domain']">
7107
7013
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
7108
7014
  <xsl:text> </xsl:text>
@@ -7186,26 +7092,10 @@
7186
7092
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
7187
7093
  </xsl:template><xsl:variable name="ul_labels_">
7188
7094
 
7189
-
7190
-
7191
-
7192
-
7193
- <label level="1" font-size="10pt">•</label>
7194
- <label level="2" font-size="10pt">—</label><!-- em dash -->
7195
- <label level="3" font-size="75%">o</label> <!-- white circle -->
7196
-
7197
-
7198
-
7199
-
7200
-
7201
-
7202
-
7203
-
7204
-
7205
-
7206
-
7207
-
7208
-
7095
+ <label level="1" font-size="10pt">•</label>
7096
+ <label level="2" font-size="10pt">—</label><!-- em dash -->
7097
+ <label level="3" font-size="75%">o</label> <!-- white circle -->
7098
+
7209
7099
  </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
7210
7100
  <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
7211
7101
  <xsl:variable name="list_level">
@@ -7231,6 +7121,91 @@
7231
7121
  </xsl:template><xsl:template match="label" mode="ul_labels">
7232
7122
  <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
7233
7123
  <xsl:value-of select="."/>
7124
+ </xsl:template><xsl:template name="getListItemFormat">
7125
+ <!-- Example: for BSI <?list-type loweralpha?> -->
7126
+ <xsl:variable name="processing_instruction_type" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-type'))"/>
7127
+ <xsl:choose>
7128
+ <xsl:when test="local-name(..) = 'ul'">
7129
+ <xsl:choose>
7130
+ <xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/>
7131
+ <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
7132
+ </xsl:choose>
7133
+ </xsl:when>
7134
+ <xsl:otherwise> <!-- for ordered lists 'ol' -->
7135
+
7136
+ <!-- Example: for BSI <?list-start 2?> -->
7137
+ <xsl:variable name="processing_instruction_start" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-start'))"/>
7138
+
7139
+ <xsl:variable name="start_value">
7140
+ <xsl:choose>
7141
+ <xsl:when test="normalize-space($processing_instruction_start) != ''">
7142
+ <xsl:value-of select="number($processing_instruction_start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
7143
+ </xsl:when>
7144
+ <xsl:when test="normalize-space(../@start) != ''">
7145
+ <xsl:value-of select="number(../@start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
7146
+ </xsl:when>
7147
+ <xsl:otherwise>0</xsl:otherwise>
7148
+ </xsl:choose>
7149
+ </xsl:variable>
7150
+
7151
+ <xsl:variable name="curr_value"><xsl:number/></xsl:variable>
7152
+
7153
+ <xsl:variable name="type">
7154
+ <xsl:choose>
7155
+ <xsl:when test="normalize-space($processing_instruction_type) != ''"><xsl:value-of select="$processing_instruction_type"/></xsl:when>
7156
+ <xsl:when test="normalize-space(../@type) != ''"><xsl:value-of select="../@type"/></xsl:when>
7157
+
7158
+ <xsl:otherwise> <!-- if no @type or @class = 'steps' -->
7159
+
7160
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
7161
+ <xsl:variable name="list_level">
7162
+ <xsl:choose>
7163
+ <xsl:when test="$list_level_ &lt;= 5"><xsl:value-of select="$list_level_"/></xsl:when>
7164
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 5"/></xsl:otherwise>
7165
+ </xsl:choose>
7166
+ </xsl:variable>
7167
+
7168
+ <xsl:choose>
7169
+ <xsl:when test="$list_level mod 5 = 0">roman_upper</xsl:when> <!-- level 5 -->
7170
+ <xsl:when test="$list_level mod 4 = 0">alphabet_upper</xsl:when> <!-- level 4 -->
7171
+ <xsl:when test="$list_level mod 3 = 0">roman</xsl:when> <!-- level 3 -->
7172
+ <xsl:when test="$list_level mod 2 = 0 and ancestor::*/@class = 'steps'">alphabet</xsl:when> <!-- level 2 and @class = 'steps'-->
7173
+ <xsl:when test="$list_level mod 2 = 0">arabic</xsl:when> <!-- level 2 -->
7174
+ <xsl:otherwise> <!-- level 1 -->
7175
+ <xsl:choose>
7176
+ <xsl:when test="ancestor::*/@class = 'steps'">arabic</xsl:when>
7177
+ <xsl:otherwise>alphabet</xsl:otherwise>
7178
+ </xsl:choose>
7179
+ </xsl:otherwise>
7180
+ </xsl:choose>
7181
+
7182
+ </xsl:otherwise>
7183
+ </xsl:choose>
7184
+ </xsl:variable>
7185
+
7186
+ <xsl:variable name="format">
7187
+ <xsl:choose>
7188
+ <xsl:when test="$type = 'arabic'">
7189
+ 1)
7190
+ </xsl:when>
7191
+ <xsl:when test="$type = 'alphabet'">
7192
+ a)
7193
+ </xsl:when>
7194
+ <xsl:when test="$type = 'alphabet_upper'">
7195
+ A.
7196
+ </xsl:when>
7197
+ <xsl:when test="$type = 'roman'">
7198
+ i)
7199
+ </xsl:when>
7200
+ <xsl:when test="$type = 'roman_upper'">I.</xsl:when>
7201
+ <xsl:otherwise>1.</xsl:otherwise> <!-- for any case, if $type has non-determined value, not using -->
7202
+ </xsl:choose>
7203
+ </xsl:variable>
7204
+
7205
+ <xsl:number value="$start_value + $curr_value" format="{normalize-space($format)}" lang="en"/>
7206
+
7207
+ </xsl:otherwise>
7208
+ </xsl:choose>
7234
7209
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
7235
7210
  <xsl:choose>
7236
7211
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -7246,18 +7221,73 @@
7246
7221
 
7247
7222
  <fo:block-container margin-left="0mm">
7248
7223
  <fo:block>
7249
- <xsl:apply-templates select="." mode="ul_ol"/>
7224
+ <xsl:apply-templates select="." mode="list"/>
7250
7225
  </fo:block>
7251
7226
  </fo:block-container>
7252
7227
  </fo:block-container>
7253
7228
  </xsl:when>
7254
7229
  <xsl:otherwise>
7255
7230
  <fo:block>
7256
- <xsl:apply-templates select="." mode="ul_ol"/>
7231
+ <xsl:apply-templates select="." mode="list"/>
7257
7232
  </fo:block>
7258
7233
  </xsl:otherwise>
7259
7234
  </xsl:choose>
7260
- </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
7235
+ </xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
7236
+ <fo:list-block xsl:use-attribute-sets="list-style">
7237
+
7238
+
7239
+
7240
+
7241
+ <xsl:if test="ancestor::iec:ul or ancestor::iec:ol">
7242
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
7243
+ </xsl:if>
7244
+ <xsl:if test="ancestor::iec:legal-statement">
7245
+ <xsl:attribute name="provisional-distance-between-starts">5mm</xsl:attribute>
7246
+ </xsl:if>
7247
+
7248
+
7249
+
7250
+
7251
+
7252
+
7253
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
7254
+ </fo:list-block>
7255
+ <!-- <xsl:for-each select="./iho:note">
7256
+ <xsl:call-template name="note"/>
7257
+ </xsl:for-each> -->
7258
+ <xsl:apply-templates select="./*[local-name() = 'note']"/>
7259
+ </xsl:template><xsl:template match="*[local-name()='li']">
7260
+ <fo:list-item xsl:use-attribute-sets="list-item-style">
7261
+ <xsl:copy-of select="@id"/>
7262
+
7263
+
7264
+
7265
+ <fo:list-item-label end-indent="label-end()">
7266
+ <fo:block xsl:use-attribute-sets="list-item-label-style">
7267
+
7268
+
7269
+
7270
+ <xsl:call-template name="getListItemFormat"/>
7271
+ </fo:block>
7272
+ </fo:list-item-label>
7273
+ <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
7274
+ <fo:block>
7275
+
7276
+
7277
+
7278
+
7279
+
7280
+ <xsl:apply-templates/>
7281
+
7282
+ <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
7283
+
7284
+ <xsl:for-each select="./bsi:note">
7285
+ <xsl:call-template name="note"/>
7286
+ </xsl:for-each> -->
7287
+ </fo:block>
7288
+ </fo:list-item-body>
7289
+ </fo:list-item>
7290
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="bookmark_in_fn">
7261
7291
  <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
7262
7292
  <bookmark><xsl:value-of select="@id"/></bookmark>
7263
7293
  </xsl:for-each>
@@ -7279,7 +7309,7 @@
7279
7309
  <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
7280
7310
  <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
7281
7311
  <xsl:if test="@to">
7282
- <xsl:value-of select="$dash"/>
7312
+ <xsl:value-of select="$en_dash"/>
7283
7313
  <xsl:copy>
7284
7314
  <xsl:copy-of select="@*"/>
7285
7315
  <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
@@ -7304,7 +7334,7 @@
7304
7334
  <xsl:param name="target"/>
7305
7335
  <!-- <node></node> -->
7306
7336
  <xsl:choose>
7307
- <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
7337
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $en_dash) and $remove = 'true'">
7308
7338
  <!-- skip text (i.e. remove it) and process next element -->
7309
7339
  <!-- [removed_<xsl:value-of select="."/>] -->
7310
7340
  <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
@@ -7388,12 +7418,22 @@
7388
7418
  </xsl:variable>
7389
7419
  <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
7390
7420
  <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
7421
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'title']" priority="4">
7422
+ <fo:block xsl:use-attribute-sets="indexsect-title-style">
7423
+ <!-- Index -->
7424
+ <xsl:apply-templates/>
7425
+ </fo:block>
7426
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']/*[local-name() = 'title']" priority="4">
7427
+ <!-- Letter A, B, C, ... -->
7428
+ <fo:block xsl:use-attribute-sets="indexsect-clause-title-style">
7429
+ <xsl:apply-templates/>
7430
+ </fo:block>
7391
7431
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
7392
7432
  <xsl:apply-templates/>
7393
7433
  <fo:block>
7394
- <xsl:if test="following-sibling::*[local-name() = 'clause']">
7395
- <fo:block> </fo:block>
7396
- </xsl:if>
7434
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
7435
+ <fo:block> </fo:block>
7436
+ </xsl:if>
7397
7437
  </fo:block>
7398
7438
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
7399
7439
  <xsl:apply-templates/>
@@ -7403,6 +7443,9 @@
7403
7443
 
7404
7444
  <xsl:apply-templates/>
7405
7445
  </fo:block>
7446
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
7447
+ <!-- to split by '_' and other chars -->
7448
+ <xsl:call-template name="add-zero-spaces-java"/>
7406
7449
  </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
7407
7450
  <fo:inline id="{@id}" font-size="1pt"/>
7408
7451
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
@@ -7740,7 +7783,7 @@
7740
7783
  </fo:table-body>
7741
7784
  </fo:table>
7742
7785
  </fo:block>
7743
- </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']">
7786
+ </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']" priority="2">
7744
7787
  <fo:table-row min-height="5mm">
7745
7788
  <xsl:apply-templates/>
7746
7789
  </fo:table-row>
@@ -7969,9 +8012,6 @@
7969
8012
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
7970
8013
  </xsl:choose>
7971
8014
  </xsl:template><xsl:template name="addPDFUAmeta">
7972
- <xsl:variable name="lang">
7973
- <xsl:call-template name="getLang"/>
7974
- </xsl:variable>
7975
8015
  <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
7976
8016
  <pdf:dictionary type="normal" key="ViewerPreferences">
7977
8017
  <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
@@ -8199,10 +8239,12 @@
8199
8239
  <xsl:param name="key"/>
8200
8240
  <xsl:param name="formatted">false</xsl:param>
8201
8241
  <xsl:param name="lang"/>
8242
+ <xsl:param name="returnEmptyIfNotFound">false</xsl:param>
8202
8243
 
8203
8244
  <xsl:variable name="curr_lang">
8204
8245
  <xsl:choose>
8205
8246
  <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
8247
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
8206
8248
  <xsl:otherwise>
8207
8249
  <xsl:call-template name="getLang"/>
8208
8250
  </xsl:otherwise>
@@ -8237,6 +8279,7 @@
8237
8279
  </xsl:otherwise>
8238
8280
  </xsl:choose>
8239
8281
  </xsl:when>
8282
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
8240
8283
  <xsl:otherwise>
8241
8284
  <xsl:variable name="key_">
8242
8285
  <xsl:call-template name="capitalize">