metanorma-iec 1.1.2 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/iec/basicdoc.rng +31 -1
  3. data/lib/asciidoctor/iec/converter.rb +6 -15
  4. data/lib/asciidoctor/iec/front.rb +4 -4
  5. data/lib/asciidoctor/iec/isodoc.rng +124 -15
  6. data/lib/isodoc/iec/base_convert.rb +6 -58
  7. data/lib/isodoc/iec/html/htmlstyle.css +962 -0
  8. data/lib/isodoc/iec/html/isodoc.css +857 -0
  9. data/lib/isodoc/iec/html/isodoc.scss +19 -4
  10. data/lib/isodoc/iec/html/wordstyle.css +2013 -0
  11. data/lib/isodoc/iec/html/wordstyle.scss +15 -10
  12. data/lib/isodoc/iec/html_convert.rb +2 -0
  13. data/lib/isodoc/iec/i18n-en.yaml +13 -0
  14. data/lib/isodoc/iec/i18n-fr.yaml +13 -0
  15. data/lib/isodoc/iec/i18n-zh-Hans.yaml +11 -0
  16. data/lib/isodoc/iec/i18n.rb +19 -0
  17. data/lib/isodoc/iec/iec.international-standard.xsl +1997 -1480
  18. data/lib/isodoc/iec/init.rb +29 -0
  19. data/lib/isodoc/iec/presentation_xml_convert.rb +26 -1
  20. data/lib/isodoc/iec/word_convert.rb +3 -1
  21. data/lib/isodoc/iec/xref.rb +1 -1
  22. data/lib/metanorma/iec/version.rb +1 -1
  23. data/metanorma-iec.gemspec +2 -2
  24. data/spec/asciidoctor-iec/blocks_spec.rb +1 -1
  25. data/spec/asciidoctor-iec/cleanup_spec.rb +32 -8
  26. data/spec/asciidoctor-iec/iev_spec.rb +74 -1
  27. data/spec/asciidoctor-iec/inline_spec.rb +8 -2
  28. data/spec/asciidoctor-iec/section_spec.rb +17 -15
  29. data/spec/isodoc/blocks_spec.rb +66 -1
  30. data/spec/isodoc/i18n_spec.rb +296 -244
  31. data/spec/isodoc/iev_spec.rb +221 -18
  32. data/spec/isodoc/inline_spec.rb +97 -73
  33. data/spec/isodoc/iso_spec.rb +6 -0
  34. data/spec/isodoc/postproc_spec.rb +15 -29
  35. data/spec/isodoc/ref_spec.rb +141 -14
  36. data/spec/isodoc/section_spec.rb +112 -102
  37. data/spec/isodoc/terms_spec.rb +67 -53
  38. data/spec/metanorma/processor_spec.rb +2 -1
  39. metadata +11 -9
  40. data/lib/asciidoctor/iec/i18n-en.yaml +0 -12
  41. data/lib/asciidoctor/iec/i18n-fr.yaml +0 -11
  42. data/lib/asciidoctor/iec/i18n-zh-Hans.yaml +0 -9
@@ -258,7 +258,6 @@ h1
258
258
  text-indent:-31.2pt;
259
259
  mso-pagination:widow-orphan;
260
260
  page-break-after:avoid;
261
- mso-outline-level:2;
262
261
  mso-hyphenate:none;
263
262
  tab-stops:list 31.2pt;
264
263
  layout-grid-mode:char;
@@ -269,7 +268,9 @@ h1
269
268
  mso-fareast-language:ZH-CN;
270
269
  font-weight:bold;}
271
270
  h2
272
- { mso-list:l26 level2 lfo40;}
271
+ { mso-list:l26 level2 lfo40;
272
+ mso-outline-level:2;
273
+ }
273
274
  .h3Annex, h3
274
275
  {mso-style-unhide:no;
275
276
  mso-style-qformat:yes;
@@ -283,7 +284,6 @@ h2
283
284
  text-indent:-42.55pt;
284
285
  mso-pagination:widow-orphan;
285
286
  page-break-after:avoid;
286
- mso-outline-level:3;
287
287
  mso-hyphenate:none;
288
288
  tab-stops:list 42.55pt;
289
289
  layout-grid-mode:char;
@@ -293,7 +293,9 @@ h2
293
293
  mso-ansi-language:EN-GB;
294
294
  mso-fareast-language:ZH-CN;
295
295
  font-weight:bold;}
296
- h3 {mso-list:l26 level3 lfo40;}
296
+ h3 {mso-list:l26 level3 lfo40;
297
+ mso-outline-level:3;
298
+ }
297
299
  .h4Annex, h4
298
300
  {mso-style-unhide:no;
299
301
  mso-style-qformat:yes;
@@ -307,7 +309,6 @@ h3 {mso-list:l26 level3 lfo40;}
307
309
  text-indent:-53.85pt;
308
310
  mso-pagination:widow-orphan;
309
311
  page-break-after:avoid;
310
- mso-outline-level:4;
311
312
  mso-hyphenate:none;
312
313
  tab-stops:list 53.85pt;
313
314
  layout-grid-mode:char;
@@ -317,7 +318,9 @@ h3 {mso-list:l26 level3 lfo40;}
317
318
  mso-ansi-language:EN-GB;
318
319
  mso-fareast-language:ZH-CN;
319
320
  font-weight:bold;}
320
- h4 {mso-list:l26 level2 lfo40;}
321
+ h4 {mso-list:l26 level2 lfo40;
322
+ mso-outline-level:4;
323
+ }
321
324
  .h5Annex, h5
322
325
  {mso-style-unhide:no;
323
326
  mso-style-qformat:yes;
@@ -331,7 +334,6 @@ h4 {mso-list:l26 level2 lfo40;}
331
334
  text-indent:-65.2pt;
332
335
  mso-pagination:widow-orphan;
333
336
  page-break-after:avoid;
334
- mso-outline-level:5;
335
337
  mso-hyphenate:none;
336
338
  tab-stops:list 65.2pt;
337
339
  layout-grid-mode:char;
@@ -341,7 +343,9 @@ h4 {mso-list:l26 level2 lfo40;}
341
343
  mso-ansi-language:EN-GB;
342
344
  mso-fareast-language:ZH-CN;
343
345
  font-weight:bold;}
344
- h5 {mso-list:l26 level5 lfo40;}
346
+ h5 {mso-list:l26 level5 lfo40;
347
+ mso-outline-level:5;
348
+ }
345
349
  h6
346
350
  {mso-style-unhide:no;
347
351
  mso-style-qformat:yes;
@@ -355,7 +359,6 @@ h6
355
359
  text-indent:-76.55pt;
356
360
  mso-pagination:widow-orphan;
357
361
  page-break-after:avoid;
358
- mso-outline-level:6;
359
362
  mso-hyphenate:none;
360
363
  tab-stops:list 76.55pt;
361
364
  layout-grid-mode:char;
@@ -365,7 +368,9 @@ h6
365
368
  mso-ansi-language:EN-GB;
366
369
  mso-fareast-language:ZH-CN;
367
370
  font-weight:bold;}
368
- h6 {mso-list:l26 level6 lfo40;}
371
+ h6 {mso-list:l26 level6 lfo40;
372
+ mso-outline-level:6;
373
+ }
369
374
  p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
370
375
  {mso-style-unhide:no;
371
376
  mso-style-qformat:yes;
@@ -1,6 +1,7 @@
1
1
  require "isodoc"
2
2
  require "metanorma-iso"
3
3
  require_relative "base_convert"
4
+ require_relative "init"
4
5
 
5
6
  module IsoDoc
6
7
  module Iec
@@ -36,6 +37,7 @@ module IsoDoc
36
37
  end
37
38
 
38
39
  include BaseConvert
40
+ include Init
39
41
  end
40
42
  end
41
43
  end
@@ -2,4 +2,17 @@ introduction: INTRODUCTION
2
2
  introduction_iev: INTRODUCTION<br/>Principles and rules followed
3
3
  foreword: FOREWORD
4
4
  IEC: INTERNATIONAL ELECTROTECHNICAL COMMISSION
5
+ formula: Equation
6
+ inequality: Inequality
5
7
  section_iev: Section
8
+ term_def_boilerplate: |
9
+ <p>ISO and IEC maintain terminological databases for use in
10
+ standardization at the following addresses:</p>
11
+
12
+ <ul>
13
+ <li> <p>IEC Electropedia: available at
14
+ <link target="http://www.electropedia.org"/>
15
+ </p> </li>
16
+ <li> <p>ISO Online browsing platform: available at
17
+ <link target="http://www.iso.org/obp"/></p> </li>
18
+ </ul>
@@ -1,5 +1,18 @@
1
1
  introduction: INTRODUCTION
2
2
  introduction_iev: INTRODUCTION<br/>Principes d’établissement et règles suivies
3
3
  foreword: AVANT-PROPOS
4
+ formula: Equation
5
+ inequality: Inégalité
4
6
  IEC: COMMISSION ELECTROTECHNIQUE INTERNATIONALE
5
7
  section_iev: Section
8
+ term_def_boilerplate: |
9
+ <p>L'ISO et l'IEC tiennent à jour des bases de données terminologiques
10
+ destinées à être utilisées en normalisation, consultables aux adresses
11
+ suivantes:</p>
12
+ <ul>
13
+ <li> <p>IEC Electropedia: disponible à l'adresse
14
+ <link target="http://www.electropedia.org"/>
15
+ </p> </li>
16
+ <li> <p>ISO Online browsing platform: disponible à l'adresse
17
+ <link target="http://www.iso.org/obp"/></p> </li>
18
+ </ul>
@@ -1,3 +1,14 @@
1
1
  introduction: 引言
2
2
  foreword: 前言
3
3
  IEC: 国际电工委员会
4
+ formula: 方程式
5
+ inequality: 不等式
6
+ term_def_boilerplate: |
7
+ <p>ISO和IEC用于标准化的术语数据库地址如下:</p>
8
+ <ul>
9
+ <li> <p>IEC Electropedia:
10
+ 位于<link target="http://www.electropedia.org"/>
11
+ </p> </li>
12
+ <li> <p>ISO在线浏览平台:
13
+ 位于<link target="http://www.iso.org/obp"/></p></li>
14
+ </ul>
@@ -0,0 +1,19 @@
1
+ module IsoDoc
2
+ module Iec
3
+ class I18n < IsoDoc::Iso::I18n
4
+ def load_yaml1(lang, script)
5
+ y = if lang == "en"
6
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
7
+ elsif lang == "fr"
8
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-fr.yaml"))
9
+ elsif lang == "zh" && script == "Hans"
10
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-zh-Hans.yaml"))
11
+ else
12
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
13
+ end
14
+ super.merge(y)
15
+ end
16
+ end
17
+ end
18
+ end
19
+
@@ -2,6 +2,9 @@
2
2
 
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
+ <xsl:param name="svg_images"/>
6
+ <xsl:variable name="images" select="document($svg_images)"/>
7
+
5
8
 
6
9
 
7
10
  <xsl:param name="additionalXMLs" select="''"/> <!-- iec-rice.fr.xml -->
@@ -67,7 +70,11 @@
67
70
  <xsl:when test="$stage-abbreviation = 'AWI'">APPROVED WORK ITEM</xsl:when>
68
71
  <xsl:when test="$stage-abbreviation = 'WD'">WORKING DRAFT</xsl:when>
69
72
  <xsl:when test="$stage-abbreviation = 'CD'">COMMITTEE DRAFT</xsl:when>
73
+ <xsl:when test="$stage-abbreviation = 'CD-TSTR'">COMMITTEE DRAFT</xsl:when>
70
74
  <xsl:when test="$stage-abbreviation = 'CDV'">COMMITTEE DRAFT FOR VOTE</xsl:when>
75
+ <xsl:when test="$stage-abbreviation = 'DTS'">DRAFT TECHNICAL SPECIFICATION</xsl:when>
76
+ <xsl:when test="$stage-abbreviation = 'DTR'">DRAFT TECHNICAL REPORT</xsl:when>
77
+ <xsl:when test="$stage-abbreviation = 'DPAS'">DRAFT PUBLICLY AVAILABLE SPECIFICATION</xsl:when>
71
78
  <xsl:when test="$stage-abbreviation = 'DIS'">DRAFT INTERNATIONAL STANDARD</xsl:when>
72
79
  <xsl:when test="$stage-abbreviation = 'FDIS'">FINAL DRAFT INTERNATIONAL STANDARD</xsl:when>
73
80
  <xsl:otherwise><xsl:value-of select="$doctype_uppercased"/></xsl:otherwise>
@@ -113,29 +120,8 @@
113
120
 
114
121
  <xsl:template name="generateContents">
115
122
  <contents>
116
-
117
- <xsl:apply-templates select="/iec:iec-standard/iec:preface/node()" mode="contents"/>
118
- <!-- <xsl:with-param name="sectionNum" select="'0'"/>
119
- </xsl:apply-templates> -->
120
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]" mode="contents"> <!-- [@id = '_scope'] -->
121
- <xsl:with-param name="sectionNum" select="'1'"/>
122
- </xsl:apply-templates>
123
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]" mode="contents"> <!-- [@id = '_normative_references'] -->
124
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + 1"/>
125
- </xsl:apply-templates>
126
-
127
- <!-- Terms and definitions -->
128
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:terms" mode="contents">
129
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + 1"/>
130
- </xsl:apply-templates>
131
-
132
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]" mode="contents">
133
- <xsl:with-param name="sectionNumSkew" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + count(/iec:iec-standard/iec:sections/iec:terms)"/>
134
- </xsl:apply-templates>
135
-
136
- <xsl:apply-templates select="/iec:iec-standard/iec:annex" mode="contents"/>
137
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]" mode="contents"/> <!-- @id = '_bibliography' -->
138
-
123
+ <xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
124
+ <xsl:call-template name="processMainSectionsDefault_Contents"/>
139
125
  </contents>
140
126
  </xsl:template>
141
127
 
@@ -147,6 +133,7 @@
147
133
  </xsl:variable>
148
134
 
149
135
  <xsl:template match="/">
136
+ <xsl:call-template name="namespaceCheck"/>
150
137
  <!-- https://stackoverflow.com/questions/25261949/xsl-fo-letter-spacing-with-text-align -->
151
138
  <!-- https://xmlgraphics.apache.org/fop/knownissues.html -->
152
139
  <fo:root font-family="Arial, Times New Roman, STIX2Math, HanSans" font-size="10pt" xml:lang="{$lang}">
@@ -525,7 +512,7 @@
525
512
  </xsl:if>
526
513
 
527
514
  <!-- for non-published documents insert cover page (2nd for FDIS) ) -->
528
- <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'CDV' or $stage-abbreviation = 'FDIS'">
515
+ <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'CDV' or $stage-abbreviation = 'CD-TSTR' or $stage-abbreviation = 'DTS' or $stage-abbreviation = 'DTR' or $stage-abbreviation = 'DPAS' or $stage-abbreviation = 'FDIS'">
529
516
  <!-- circulation cover page -->
530
517
  <fo:page-sequence master-reference="cover-FDIS" force-page-count="no-force">
531
518
  <fo:static-content flow-name="footer-FDIS">
@@ -702,119 +689,132 @@
702
689
  </fo:block>
703
690
  </fo:table-cell>
704
691
  </fo:table-row>
705
- <fo:table-row height="12mm">
692
+ <fo:table-row height="12mm">
706
693
  <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
694
+ <xsl:if test="not($stage-abbreviation = 'FDIS' or $stage-abbreviation = 'CDV' or $stage-abbreviation = 'CD')">
695
+ <xsl:attribute name="number-columns-spanned">2</xsl:attribute>
696
+ </xsl:if>
707
697
  <fo:block font-size="6.5pt" margin-bottom="6pt">
708
698
  <xsl:call-template name="addLetterSpacingSmallCaps">
709
699
  <xsl:with-param name="text" select="'Of interest to the following committees:'"/>
710
700
  </xsl:call-template>
711
701
  </fo:block>
712
702
  </fo:table-cell>
713
- <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
714
- <fo:block font-size="6.5pt" margin-bottom="6pt">
715
- <xsl:if test="$stage-abbreviation = 'FDIS'">
703
+ <xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'CDV' or $stage-abbreviation = 'CD'">
704
+ <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
705
+ <fo:block font-size="6.5pt" margin-bottom="6pt">
706
+ <xsl:if test="$stage-abbreviation = 'FDIS'">
707
+ <xsl:call-template name="addLetterSpacingSmallCaps">
708
+ <xsl:with-param name="text" select="'horizontal standard:'"/>
709
+ </xsl:call-template>
710
+ </xsl:if>
711
+ <xsl:if test="$stage-abbreviation = 'CDV' or $stage-abbreviation = 'CD'">
712
+ <xsl:call-template name="addLetterSpacingSmallCaps">
713
+ <xsl:with-param name="text" select="'Proposed horizontal standard:'"/>
714
+ </xsl:call-template>
715
+ </xsl:if>
716
+ </fo:block>
717
+
718
+ <fo:block>
719
+ <xsl:call-template name="insertCheckBoxOff"/>
720
+ </fo:block>
721
+
722
+ <xsl:if test="$stage-abbreviation = 'CDV' or $stage-abbreviation = 'CD'">
723
+ <fo:block-container background-color="rgb(236, 232, 232)" margin-left="-2mm" margin-right="-2mm">
724
+ <fo:block-container margin-left="1mm" margin-right="1mm">
725
+ <fo:block font-size="8pt" padding="2mm">
726
+ <xsl:call-template name="addLetterSpacing">
727
+ <xsl:with-param name="text" select="'Other TC/SCs are requested to indicate their interest, if any, in this CDV to the secretary.'"/>
728
+ </xsl:call-template>
729
+ </fo:block>
730
+ </fo:block-container>
731
+ </fo:block-container>
732
+ </xsl:if>
733
+ </fo:table-cell>
734
+ </xsl:if>
735
+ </fo:table-row>
736
+
737
+ <xsl:if test="not($stage-abbreviation = 'DPAS')">
738
+ <fo:table-row height="10mm">
739
+ <fo:table-cell padding="1.5mm" padding-bottom="0mm">
740
+ <fo:block font-size="6.5pt" margin-bottom="4pt">
716
741
  <xsl:call-template name="addLetterSpacingSmallCaps">
717
- <xsl:with-param name="text" select="'horizontal standard:'"/>
742
+ <xsl:with-param name="text" select="'Functions concerned:'"/>
718
743
  </xsl:call-template>
719
- </xsl:if>
720
- <xsl:if test="$stage-abbreviation = 'CDV'">
744
+ </fo:block>
745
+ <fo:block font-size="6.5pt">
746
+ <xsl:call-template name="insertCheckBoxOff"/>
721
747
  <xsl:call-template name="addLetterSpacingSmallCaps">
722
- <xsl:with-param name="text" select="'Proposed horizontal standard:'"/>
748
+ <xsl:with-param name="text" select="'EMC'"/>
723
749
  </xsl:call-template>
724
- </xsl:if>
725
- </fo:block>
726
- <fo:block>
727
- <xsl:call-template name="insertCheckBoxOff"/>
728
- </fo:block>
729
- <xsl:if test="$stage-abbreviation = 'CDV'">
730
- <fo:block-container background-color="rgb(236, 232, 232)" margin-left="-2mm" margin-right="-2mm">
731
- <fo:block-container margin-left="1mm" margin-right="1mm">
732
- <fo:block font-size="8pt" padding="2mm">
733
- <xsl:call-template name="addLetterSpacing">
734
- <xsl:with-param name="text" select="'Other TC/SCs are requested to indicate their interest, if any, in this CDV to the secretary.'"/>
735
- </xsl:call-template>
736
- </fo:block>
737
- </fo:block-container>
738
- </fo:block-container>
739
- </xsl:if>
740
- </fo:table-cell>
741
- </fo:table-row>
742
- <fo:table-row height="10mm">
743
- <fo:table-cell padding="1.5mm" padding-bottom="0mm">
744
- <fo:block font-size="6.5pt" margin-bottom="4pt">
745
- <xsl:call-template name="addLetterSpacingSmallCaps">
746
- <xsl:with-param name="text" select="'Functions concerned:'"/>
747
- </xsl:call-template>
748
- </fo:block>
749
- <fo:block font-size="6.5pt">
750
- <xsl:call-template name="insertCheckBoxOff"/>
751
- <xsl:call-template name="addLetterSpacingSmallCaps">
752
- <xsl:with-param name="text" select="'EMC'"/>
753
- </xsl:call-template>
754
- <fo:inline padding-right="33mm"> </fo:inline>
755
- <xsl:call-template name="insertCheckBoxOff"/>
756
- <xsl:call-template name="addLetterSpacingSmallCaps">
757
- <xsl:with-param name="text" select="'Environment'"/>
758
- </xsl:call-template>
759
- </fo:block>
760
- </fo:table-cell>
761
- <fo:table-cell padding="1.5mm" padding-bottom="0mm">
762
- <fo:block font-size="6.5pt" margin-bottom="6pt"> </fo:block>
763
- <fo:block font-size="6.5pt">
764
- <xsl:call-template name="insertCheckBoxOff"/>
765
- <xsl:call-template name="addLetterSpacingSmallCaps">
766
- <xsl:with-param name="text" select="'Quality assurance'"/>
767
- </xsl:call-template>
768
- <fo:inline padding-right="13mm"> </fo:inline>
769
- <xsl:call-template name="insertCheckBoxOn"/>
770
- <xsl:call-template name="addLetterSpacingSmallCaps">
771
- <xsl:with-param name="text" select="'Safety'"/>
772
- </xsl:call-template>
773
- </fo:block>
774
- </fo:table-cell>
775
- </fo:table-row>
776
- <fo:table-row>
777
- <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
778
- <fo:block font-size="6.5pt" margin-bottom="12pt">
779
- <xsl:call-template name="insertCheckBoxOn"/>
780
- <xsl:call-template name="addLetterSpacingSmallCaps">
781
- <xsl:with-param name="text" select="'Submitted for CENELEC parallel voting'"/>
782
- </xsl:call-template>
783
- </fo:block>
784
- <fo:block font-size="8pt" font-weight="bold" margin-bottom="10pt">
785
- <xsl:call-template name="addLetterSpacing">
786
- <xsl:with-param name="text" select="'Attention IEC-CENELEC parallel voting'"/>
787
- </xsl:call-template>
788
- </fo:block>
789
-
790
-
791
- <fo:block font-size="8pt" margin-bottom="10pt" text-align="justify">
792
- <xsl:if test="$stage-abbreviation = 'FDIS'">
750
+ <fo:inline padding-right="33mm"> </fo:inline>
751
+ <xsl:call-template name="insertCheckBoxOff"/>
752
+ <xsl:call-template name="addLetterSpacingSmallCaps">
753
+ <xsl:with-param name="text" select="'Environment'"/>
754
+ </xsl:call-template>
755
+ </fo:block>
756
+ </fo:table-cell>
757
+ <fo:table-cell padding="1.5mm" padding-bottom="0mm">
758
+ <fo:block font-size="6.5pt" margin-bottom="6pt"> </fo:block>
759
+ <fo:block font-size="6.5pt">
760
+ <xsl:call-template name="insertCheckBoxOff"/>
761
+ <xsl:call-template name="addLetterSpacingSmallCaps">
762
+ <xsl:with-param name="text" select="'Quality assurance'"/>
763
+ </xsl:call-template>
764
+ <fo:inline padding-right="13mm"> </fo:inline>
765
+ <xsl:call-template name="insertCheckBoxOn"/>
766
+ <xsl:call-template name="addLetterSpacingSmallCaps">
767
+ <xsl:with-param name="text" select="'Safety'"/>
768
+ </xsl:call-template>
769
+ </fo:block>
770
+ </fo:table-cell>
771
+ </fo:table-row>
772
+ </xsl:if>
773
+
774
+ <xsl:if test="not($stage-abbreviation = 'CD' or $stage-abbreviation = 'CD-TSTR' or $stage-abbreviation = 'DTS' or $stage-abbreviation = 'DTR' or $stage-abbreviation = 'DPAS')">
775
+
776
+ <fo:table-row>
777
+ <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
778
+ <fo:block font-size="6.5pt" margin-bottom="12pt">
779
+ <xsl:call-template name="insertCheckBoxOn"/>
780
+ <xsl:call-template name="addLetterSpacingSmallCaps">
781
+ <xsl:with-param name="text" select="'Submitted for CENELEC parallel voting'"/>
782
+ </xsl:call-template>
783
+ </fo:block>
784
+ <fo:block font-size="8pt" font-weight="bold" margin-bottom="10pt">
793
785
  <xsl:call-template name="addLetterSpacing">
794
- <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.'"/>
786
+ <xsl:with-param name="text" select="'Attention IEC-CENELEC parallel voting'"/>
795
787
  </xsl:call-template>
796
- </xsl:if>
797
- <xsl:if test="$stage-abbreviation = 'CDV'">
788
+ </fo:block>
789
+
790
+ <fo:block font-size="8pt" margin-bottom="10pt" text-align="justify">
791
+ <xsl:if test="$stage-abbreviation = 'FDIS'">
792
+ <xsl:call-template name="addLetterSpacing">
793
+ <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.'"/>
794
+ </xsl:call-template>
795
+ </xsl:if>
796
+ <xsl:if test="$stage-abbreviation = 'CDV'">
797
+ <xsl:call-template name="addLetterSpacing">
798
+ <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.'"/>
799
+ </xsl:call-template>
800
+ </xsl:if>
801
+ </fo:block>
802
+ <fo:block font-size="8pt" margin-bottom="10pt">
798
803
  <xsl:call-template name="addLetterSpacing">
799
- <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.'"/>
804
+ <xsl:with-param name="text" select="'The CENELEC members are invited to vote through the CENELEC online voting system.'"/>
800
805
  </xsl:call-template>
801
- </xsl:if>
802
- </fo:block>
803
- <fo:block font-size="8pt" margin-bottom="10pt">
804
- <xsl:call-template name="addLetterSpacing">
805
- <xsl:with-param name="text" select="'The CENELEC members are invited to vote through the CENELEC online voting system.'"/>
806
- </xsl:call-template>
807
- </fo:block>
808
- </fo:table-cell>
809
- <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
810
- <fo:block font-size="6.5pt" margin-bottom="6pt">
811
- <xsl:call-template name="insertCheckBoxOff"/>
812
- <xsl:call-template name="addLetterSpacingSmallCaps">
813
- <xsl:with-param name="text" select="'Not submitted for CENELEC parallel voting'"/>
814
- </xsl:call-template>
815
- </fo:block>
816
- </fo:table-cell>
817
- </fo:table-row>
806
+ </fo:block>
807
+ </fo:table-cell>
808
+ <fo:table-cell border="1.5pt solid {$border-color}" padding="1.5mm" padding-bottom="0mm">
809
+ <fo:block font-size="6.5pt" margin-bottom="6pt">
810
+ <xsl:call-template name="insertCheckBoxOff"/>
811
+ <xsl:call-template name="addLetterSpacingSmallCaps">
812
+ <xsl:with-param name="text" select="'Not submitted for CENELEC parallel voting'"/>
813
+ </xsl:call-template>
814
+ </fo:block>
815
+ </fo:table-cell>
816
+ </fo:table-row>
817
+ </xsl:if>
818
818
  </fo:table-body>
819
819
  </fo:table>
820
820
  </fo:block-container>
@@ -838,7 +838,7 @@
838
838
  </xsl:call-template>
839
839
  </fo:block>
840
840
  </xsl:if>
841
- <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'CDV'">
841
+ <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'CDV' or $stage-abbreviation = 'CD-TSTR' or $stage-abbreviation = 'DTS' or $stage-abbreviation = 'DTR' or $stage-abbreviation = 'DPAS'">
842
842
  <fo:block margin-bottom="6pt">
843
843
  <xsl:call-template name="addLetterSpacing">
844
844
  <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>
@@ -865,7 +865,7 @@
865
865
  </fo:block>
866
866
  </fo:block-container>
867
867
 
868
- <xsl:if test="$stage-abbreviation = 'FDIS'">
868
+ <xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'CDV' or $stage-abbreviation = 'DTS' or $stage-abbreviation = 'DTR' or $stage-abbreviation = 'DPAS'">
869
869
  <fo:block-container border="1.5 solid" border-color="rgb(221, 213, 213)" height="6.5mm" padding="1mm" margin-top="3mm" display-align="center">
870
870
  <fo:block font-size="6.5pt">
871
871
  <xsl:call-template name="addLetterSpacing">
@@ -1184,7 +1184,9 @@
1184
1184
  </xsl:call-template>
1185
1185
  </fo:block>
1186
1186
 
1187
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true'] [@level &lt;= 3] [not(@level = 2 and starts-with(@section, '0'))]"><!-- skip clause from preface -->
1187
+ <xsl:for-each select="xalan:nodeset($contents)//item"><!-- [@display = 'true']
1188
+ [@level &lt;= 3]
1189
+ [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
1188
1190
  <fo:block text-align-last="justify">
1189
1191
  <xsl:if test="@level = 1">
1190
1192
  <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
@@ -1211,7 +1213,7 @@
1211
1213
  </xsl:attribute>
1212
1214
  <xsl:attribute name="provisional-distance-between-starts">
1213
1215
  <xsl:choose>
1214
- <xsl:when test="@display-section = 'false' or @section = ''">0mm</xsl:when>
1216
+ <xsl:when test="@section = ''">0mm</xsl:when>
1215
1217
  <xsl:when test="@level = 1">8mm</xsl:when>
1216
1218
  <xsl:when test="@level = 2">15mm</xsl:when>
1217
1219
  <xsl:when test="@level = 3">19mm</xsl:when>
@@ -1221,22 +1223,17 @@
1221
1223
  <fo:list-item>
1222
1224
  <fo:list-item-label end-indent="label-end()">
1223
1225
  <fo:block>
1224
- <xsl:if test="not(@display-section = 'false')">
1225
- <xsl:value-of select="@section"/>
1226
- </xsl:if>
1226
+ <xsl:value-of select="@section"/>
1227
1227
  </fo:block>
1228
1228
  </fo:list-item-label>
1229
1229
  <fo:list-item-body start-indent="body-start()">
1230
1230
  <fo:block text-align-last="justify">
1231
1231
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
1232
- <xsl:if test="@type = 'annex'">
1233
- <fo:inline><xsl:value-of select="@section"/></fo:inline>
1234
- <xsl:if test="@addon != ''">
1235
- <fo:inline> (<xsl:value-of select="@addon"/>) </fo:inline>
1236
- </xsl:if>
1237
- </xsl:if>
1232
+ <xsl:variable name="title">
1233
+ <xsl:apply-templates/>
1234
+ </xsl:variable>
1238
1235
  <xsl:call-template name="addLetterSpacing">
1239
- <xsl:with-param name="text" select="text()"/>
1236
+ <xsl:with-param name="text" select="$title"/>
1240
1237
  </xsl:call-template>
1241
1238
  <xsl:text> </xsl:text>
1242
1239
  <fo:inline keep-together.within-line="always">
@@ -1251,17 +1248,12 @@
1251
1248
  </fo:block>
1252
1249
  </xsl:for-each>
1253
1250
 
1254
- <xsl:if test="xalan:nodeset($contents)//item[@type = 'figure']">
1255
- <fo:block margin-bottom="5pt"> </fo:block>
1256
- <!-- <fo:block margin-top="5pt" margin-bottom="10pt">&#xA0;</fo:block> -->
1257
- <xsl:for-each select="xalan:nodeset($contents)//item[@type = 'figure']">
1251
+ <xsl:if test="//iec:figure[@id and iec:name]">
1252
+ <fo:block margin-bottom="5pt"> </fo:block>
1253
+ <xsl:for-each select="//iec:figure[@id and iec:name]">
1258
1254
  <fo:block text-align-last="justify" margin-bottom="5pt" margin-left="8mm" text-indent="-8mm">
1259
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{@section}">
1260
- <xsl:value-of select="@section"/>
1261
- <xsl:if test="text() != ''">
1262
- <xsl:text> – </xsl:text>
1263
- <xsl:value-of select="text()"/><xsl:text> </xsl:text>
1264
- </xsl:if>
1255
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="Figure {@id}">
1256
+ <xsl:apply-templates select="iec:name" mode="contents"/>
1265
1257
  <fo:inline keep-together.within-line="always">
1266
1258
  <fo:leader leader-pattern="dots"/>
1267
1259
  <fo:page-number-citation ref-id="{@id}"/>
@@ -1271,17 +1263,12 @@
1271
1263
  </xsl:for-each>
1272
1264
  </xsl:if>
1273
1265
 
1274
- <xsl:if test="xalan:nodeset($contents)//item[@type = 'table']">
1275
- <fo:block margin-bottom="5pt"> </fo:block>
1276
- <!-- <fo:block margin-top="5pt" margin-bottom="10pt">&#xA0;</fo:block> -->
1277
- <xsl:for-each select="xalan:nodeset($contents)//item[@type = 'table' and @display = 'true']">
1266
+ <xsl:if test="//iec:table[@id and iec:name]">
1267
+ <fo:block margin-bottom="5pt"> </fo:block>
1268
+ <xsl:for-each select="//iec:table[@id and iec:name]">
1278
1269
  <fo:block text-align-last="justify" margin-bottom="5pt" margin-left="8mm" text-indent="-8mm">
1279
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{@section}">
1280
- <xsl:value-of select="@section"/>
1281
- <xsl:if test="text() != ''">
1282
- <xsl:text> – </xsl:text>
1283
- <xsl:value-of select="text()"/><xsl:text> </xsl:text>
1284
- </xsl:if>
1270
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="Table {@id}">
1271
+ <xsl:apply-templates select="iec:name" mode="contents"/>
1285
1272
  <fo:inline keep-together.within-line="always">
1286
1273
  <fo:leader leader-pattern="dots"/>
1287
1274
  <fo:page-number-citation ref-id="{@id}"/>
@@ -1290,7 +1277,7 @@
1290
1277
  </fo:block>
1291
1278
  </xsl:for-each>
1292
1279
  </xsl:if>
1293
-
1280
+
1294
1281
  </fo:block-container>
1295
1282
  </xsl:template>
1296
1283
 
@@ -1322,7 +1309,7 @@
1322
1309
  </fo:block-container>
1323
1310
 
1324
1311
  <!-- Foreword, Introduction -->
1325
- <xsl:apply-templates select="/iec:iec-standard/iec:preface/*"/>
1312
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
1326
1313
  </xsl:template>
1327
1314
 
1328
1315
 
@@ -1362,253 +1349,83 @@
1362
1349
  </fo:block>
1363
1350
  </fo:block-container>
1364
1351
 
1365
- <!-- Clause(s) -->
1366
- <fo:block>
1367
-
1368
-
1369
- <!-- Scope -->
1370
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]">
1371
- <xsl:with-param name="sectionNum" select="'1'"/>
1372
- </xsl:apply-templates>
1373
-
1374
- <!-- Normative references -->
1375
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]">
1376
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + 1"/>
1377
- </xsl:apply-templates>
1378
-
1379
- <!-- Terms and definitions -->
1380
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:terms">
1381
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + 1"/>
1382
- </xsl:apply-templates>
1383
-
1384
- <!-- main sections -->
1385
- <!-- *[position() &gt; 1] -->
1386
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]">
1387
- <xsl:with-param name="sectionNumSkew" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + count(/iec:iec-standard/iec:sections/iec:terms)"/>
1388
- </xsl:apply-templates>
1389
-
1390
- <!-- Annex(s) -->
1391
- <xsl:apply-templates select="/iec:iec-standard/iec:annex"/>
1392
-
1393
- <!-- Bibliography -->
1394
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]"/>
1395
-
1352
+ <!-- Main sections -->
1353
+ <fo:block>
1354
+ <xsl:call-template name="processMainSectionsDefault"/>
1396
1355
  </fo:block>
1397
1356
 
1398
1357
  </fo:flow>
1399
1358
  </fo:page-sequence>
1400
1359
  </xsl:template>
1401
1360
 
1402
- <!-- for pass the paremeter 'sectionNum' over templates, like 'tunnel' parameter in XSLT 2.0 -->
1403
- <xsl:template match="node()">
1404
- <xsl:param name="sectionNum"/>
1405
- <xsl:param name="sectionNumSkew"/>
1406
- <xsl:apply-templates>
1407
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1408
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
1409
- </xsl:apply-templates>
1361
+
1362
+ <xsl:template match="node()">
1363
+ <xsl:apply-templates/>
1410
1364
  </xsl:template>
1411
1365
 
1412
1366
  <!-- ============================= -->
1413
1367
  <!-- CONTENTS -->
1414
1368
  <!-- ============================= -->
1415
- <xsl:template match="node()" mode="contents">
1416
- <xsl:param name="sectionNum"/>
1417
- <xsl:param name="sectionNumSkew"/>
1418
- <xsl:apply-templates mode="contents">
1419
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1420
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
1421
- </xsl:apply-templates>
1422
- </xsl:template>
1423
-
1424
-
1425
- <!-- calculate main section number (1,2,3) and pass it deep into templates -->
1426
- <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
1427
- <xsl:template match="iec:iec-standard/iec:sections/*" mode="contents">
1428
- <xsl:param name="sectionNum"/>
1429
- <xsl:param name="sectionNumSkew" select="0"/>
1430
- <xsl:variable name="sectionNum_">
1431
- <xsl:choose>
1432
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1433
- <xsl:when test="$sectionNumSkew != 0">
1434
- <xsl:variable name="number"><xsl:number count="iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]"/></xsl:variable><!-- <xsl:number count="*"/> -->
1435
- <xsl:value-of select="$number + $sectionNumSkew"/>
1436
- </xsl:when>
1437
- <xsl:otherwise>
1438
- <xsl:number count="*"/>
1439
- </xsl:otherwise>
1440
- </xsl:choose>
1441
- </xsl:variable>
1442
- <xsl:apply-templates mode="contents">
1443
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1444
- </xsl:apply-templates>
1369
+ <xsl:template match="node()" mode="contents">
1370
+ <xsl:apply-templates mode="contents"/>
1445
1371
  </xsl:template>
1446
1372
 
1447
- <!-- Any node with title element - clause, definition, annex,... -->
1448
- <xsl:template match="iec:title | iec:preferred" mode="contents">
1449
- <xsl:param name="sectionNum"/>
1450
- <!-- sectionNum=<xsl:value-of select="$sectionNum"/> -->
1451
- <xsl:variable name="id">
1452
- <xsl:call-template name="getId"/>
1453
- </xsl:variable>
1454
-
1373
+ <!-- element with title -->
1374
+ <xsl:template match="*[iec:title]" mode="contents">
1455
1375
  <xsl:variable name="level">
1456
- <xsl:call-template name="getLevel"/>
1457
- </xsl:variable>
1458
-
1459
- <xsl:variable name="section">
1460
- <xsl:call-template name="getSection">
1461
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1376
+ <xsl:call-template name="getLevel">
1377
+ <xsl:with-param name="depth" select="iec:title/@depth"/>
1462
1378
  </xsl:call-template>
1463
1379
  </xsl:variable>
1464
1380
 
1465
- <xsl:variable name="display">
1466
- <xsl:choose>
1467
- <xsl:when test="ancestor::iec:bibitem">false</xsl:when>
1468
- <xsl:when test="ancestor::iec:term">false</xsl:when>
1469
- <!-- <xsl:when test="ancestor::iec:annex and $level &gt;= 2">false</xsl:when> -->
1470
- <xsl:when test="$level &lt;= 3">true</xsl:when>
1471
- <xsl:otherwise>false</xsl:otherwise>
1472
- </xsl:choose>
1473
- </xsl:variable>
1474
-
1475
- <xsl:variable name="display-section">
1476
- <xsl:choose>
1477
- <xsl:when test="ancestor::iec:appendix">false</xsl:when>
1478
- <xsl:when test="ancestor::iec:annex and $level = 1">false</xsl:when>
1479
- <xsl:otherwise>true</xsl:otherwise>
1480
- </xsl:choose>
1381
+ <xsl:variable name="section">
1382
+ <xsl:call-template name="getSection"/>
1481
1383
  </xsl:variable>
1482
1384
 
1483
1385
  <xsl:variable name="type">
1484
- <xsl:value-of select="local-name(..)"/>
1386
+ <xsl:value-of select="local-name()"/>
1485
1387
  </xsl:variable>
1486
-
1487
- <xsl:variable name="root">
1388
+
1389
+ <xsl:variable name="display">
1488
1390
  <xsl:choose>
1489
- <xsl:when test="ancestor::iec:annex">annex</xsl:when>
1391
+ <xsl:when test="ancestor-or-self::iec:bibitem">false</xsl:when>
1392
+ <xsl:when test="ancestor-or-self::iec:term">false</xsl:when>
1393
+ <xsl:when test="$level &gt; 3">false</xsl:when>
1394
+ <xsl:when test="$section = '' and $type = 'clause'">false</xsl:when><!-- don't show clause with number only in title -->
1395
+ <xsl:otherwise>true</xsl:otherwise>
1490
1396
  </xsl:choose>
1491
1397
  </xsl:variable>
1492
1398
 
1493
- <item id="{$id}" level="{$level}" section="{$section}" display-section="{$display-section}" display="{$display}" type="{$type}" root="{$root}">
1494
- <xsl:attribute name="addon">
1495
- <xsl:if test="local-name(..) = 'annex'"><xsl:value-of select="../@obligation"/></xsl:if>
1496
- </xsl:attribute>
1497
- <xsl:choose>
1498
- <xsl:when test="ancestor::iec:preface">
1499
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
1500
- </xsl:when>
1501
- <xsl:otherwise>
1502
- <xsl:value-of select="."/>
1503
- </xsl:otherwise>
1504
- </xsl:choose>
1505
- </item>
1506
-
1507
- <xsl:apply-templates mode="contents">
1508
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1509
- </xsl:apply-templates>
1399
+ <xsl:if test="$display = 'true'">
1510
1400
 
1511
- </xsl:template>
1512
-
1513
-
1514
- <xsl:template match="iec:figure" mode="contents">
1515
- <xsl:param name="sectionNum"/>
1516
- <xsl:apply-templates mode="contents">
1517
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1518
- </xsl:apply-templates>
1519
- <item level="" id="{@id}" display="false" type="figure">
1520
- <xsl:attribute name="section">
1521
- <xsl:variable name="title-figure">
1522
- <xsl:call-template name="getTitle">
1523
- <xsl:with-param name="name" select="'title-figure'"/>
1524
- </xsl:call-template>
1525
- </xsl:variable>
1526
- <xsl:value-of select="$title-figure"/>
1401
+ <xsl:variable name="title">
1402
+ <xsl:call-template name="getName"/>
1403
+ </xsl:variable>
1404
+
1405
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}">
1406
+ <xsl:if test="$type ='appendix'">
1407
+ <xsl:attribute name="section"/>
1408
+ </xsl:if>
1527
1409
  <xsl:choose>
1528
- <xsl:when test="ancestor::iec:annex">
1529
- <xsl:choose>
1530
- <xsl:when test="count(//iec:annex) = 1">
1531
- <xsl:value-of select="/iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:annexid"/><xsl:number format="-1" level="any" count="iec:annex//iec:figure"/>
1532
- </xsl:when>
1533
- <xsl:otherwise>
1534
- <xsl:number format="A.1-1" level="multiple" count="iec:annex | iec:figure"/>
1535
- </xsl:otherwise>
1536
- </xsl:choose>
1537
- </xsl:when>
1538
- <xsl:when test="ancestor::iec:figure">
1539
- <xsl:for-each select="parent::*[1]">
1540
- <xsl:number format="1" level="any" count="iec:figure[not(parent::iec:figure)]"/>
1541
- </xsl:for-each>
1542
- <xsl:number format="-a" count="iec:figure"/>
1410
+ <xsl:when test="$type = 'foreword' or $type = 'introduction'">
1411
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title))"/>
1543
1412
  </xsl:when>
1544
- <xsl:otherwise>
1545
- <xsl:number format="1" level="any" count="iec:figure[not(parent::iec:figure)]"/>
1546
- </xsl:otherwise>
1547
- </xsl:choose>
1548
- </xsl:attribute>
1549
- <xsl:value-of select="iec:name"/>
1550
- </item>
1551
- </xsl:template>
1552
-
1553
-
1554
- <xsl:template match="iec:table" mode="contents">
1555
- <xsl:param name="sectionNum"/>
1556
- <xsl:variable name="annex-id" select="ancestor::iec:annex/@id"/>
1557
- <item level="" id="{@id}" display="true" type="table">
1558
- <xsl:if test="ancestor::iec:preface">
1559
- <xsl:attribute name="display">false</xsl:attribute>
1560
- </xsl:if>
1561
- <xsl:attribute name="section">
1562
- <xsl:variable name="title-table">
1563
- <xsl:call-template name="getTitle">
1564
- <xsl:with-param name="name" select="'title-table'"/>
1565
- </xsl:call-template>
1566
- </xsl:variable>
1567
- <xsl:value-of select="$title-table"/>
1568
- <xsl:choose>
1569
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
1570
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table']"/>
1571
- </xsl:when>
1572
- <xsl:when test="ancestor::*[local-name()='annex']">
1573
- <xsl:number format="A." count="iec:annex"/>
1574
- <xsl:number format="1" level="any" count="iec:table[ancestor::iec:annex[@id = $annex-id]]"/>
1413
+ <xsl:when test="$type = 'appendix'">
1414
+ <xsl:apply-templates select="iec:title" mode="contents_item"/>
1575
1415
  </xsl:when>
1576
1416
  <xsl:otherwise>
1577
- <!-- <xsl:number format="1"/> -->
1578
- <!-- <xsl:number format="1" level="any" count="*[local-name()='sections']//*[local-name()='table']"/> -->
1579
- <!-- <xsl:number format="1" level="any" count="*[local-name()='table'][not(ancestor::*[local-name()='annex'])]"/> -->
1580
- <!-- <xsl:number format="1" level="any" count="*[not(local-name()='annex') and not(local-name()='executivesummary')]//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/> -->
1581
- <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata']) and not(ancestor::*[local-name()='preface'])] [not(@unnumbered) or @unnumbered != 'true']"/>
1417
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
1582
1418
  </xsl:otherwise>
1583
1419
  </xsl:choose>
1584
- </xsl:attribute>
1585
- <xsl:value-of select="iec:name/text()"/>
1586
- </item>
1420
+
1421
+ </item>
1422
+ <xsl:apply-templates mode="contents"/>
1423
+ </xsl:if>
1424
+
1587
1425
  </xsl:template>
1588
1426
 
1589
1427
 
1590
-
1591
- <xsl:template match="iec:formula" mode="contents">
1592
- <xsl:param name="sectionNum"/>
1593
- <item level="" id="{@id}" display="false" type="formula">
1594
- <xsl:attribute name="section">
1595
- <!-- Formula -->
1596
- <xsl:variable name="title-equation">
1597
- <xsl:call-template name="getTitle">
1598
- <xsl:with-param name="name" select="'title-equation'"/>
1599
- </xsl:call-template>
1600
- </xsl:variable>
1601
- <xsl:value-of select="$title-equation"/><xsl:number format="(A.1)" level="multiple" count="iec:annex | iec:formula"/>
1602
- </xsl:attribute>
1603
- <xsl:attribute name="parentsection">
1604
- <xsl:for-each select="parent::*[1]/iec:title">
1605
- <xsl:call-template name="getSection">
1606
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1607
- </xsl:call-template>
1608
- </xsl:for-each>
1609
- </xsl:attribute>
1610
- </item>
1611
- </xsl:template>
1428
+
1612
1429
  <!-- ============================= -->
1613
1430
  <!-- ============================= -->
1614
1431
 
@@ -1665,7 +1482,7 @@
1665
1482
  </xsl:template>
1666
1483
 
1667
1484
 
1668
- <xsl:template match="iec:iec-standard/iec:preface/iec:foreword" priority="2">
1485
+ <xsl:template match="iec:iec-standard/iec:preface/iec:foreword" priority="3">
1669
1486
  <fo:block id="{@id}" margin-bottom="12pt" font-size="12pt" text-align="center">
1670
1487
  <xsl:call-template name="addLetterSpacing">
1671
1488
  <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(iec:title))"/>
@@ -1679,71 +1496,29 @@
1679
1496
  </fo:block>
1680
1497
  </xsl:template>
1681
1498
 
1682
- <xsl:template match="iec:iec-standard/iec:preface/iec:introduction" priority="2">
1499
+ <!-- <xsl:template match="iec:iec-standard/iec:preface/iec:introduction" priority="3">
1683
1500
  <fo:block break-after="page"/>
1684
- <fo:block id="{@id}" margin-bottom="12pt" font-size="12pt" text-align="center">
1685
- <xsl:call-template name="addLetterSpacing">
1686
- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(iec:title))"/>
1687
- </xsl:call-template>
1688
- </fo:block>
1689
- <fo:block>
1690
- <xsl:apply-templates select="*[not(local-name() = 'title')]"/>
1501
+ <fo:block id="{@id}">
1502
+ <xsl:apply-templates />
1691
1503
  </fo:block>
1692
- </xsl:template>
1504
+ </xsl:template> -->
1693
1505
 
1694
- <!-- Foreword, Introduction -->
1695
- <xsl:template match="iec:iec-standard/iec:preface/*">
1696
- <fo:block break-after="page"/>
1697
- <fo:block>
1698
- <xsl:apply-templates/>
1506
+
1507
+ <xsl:template match="iec:annex//iec:clause" priority="2">
1508
+ <fo:block id="{@id}" margin-top="5pt" margin-bottom="10pt" text-align="justify">
1509
+ <xsl:apply-templates/>
1699
1510
  </fo:block>
1700
1511
  </xsl:template>
1701
1512
 
1702
-
1703
- <!-- clause, terms, clause, ...-->
1704
- <xsl:template match="iec:iec-standard/iec:sections/*">
1705
- <xsl:param name="sectionNum"/>
1706
- <xsl:param name="sectionNumSkew" select="0"/>
1707
- <fo:block>
1708
- <xsl:variable name="pos"><xsl:number count="iec:sections/iec:clause | iec:sections/iec:terms"/></xsl:variable>
1709
- <!-- <xsl:if test="$pos &gt;= 2">
1710
- <xsl:attribute name="space-before">18pt</xsl:attribute>
1711
- </xsl:if> -->
1712
- <!-- pos=<xsl:value-of select="$pos" /> -->
1713
- <xsl:variable name="sectionNum_">
1714
- <xsl:choose>
1715
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1716
- <xsl:when test="$sectionNumSkew != 0">
1717
- <!-- <xsl:variable name="number"><xsl:number count="iec:sections/iec:clause | iec:sections/iec:terms"/></xsl:variable> -->
1718
- <xsl:variable name="number"><xsl:number count="iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]"/></xsl:variable>
1719
- <xsl:value-of select="$number + $sectionNumSkew"/>
1720
- </xsl:when>
1721
- </xsl:choose>
1722
- </xsl:variable>
1723
- <xsl:if test="not(iec:title)">
1724
- <fo:block margin-top="3pt" margin-bottom="12pt">
1725
- <xsl:value-of select="$sectionNum_"/><xsl:number format=".1 " level="multiple" count="iec:clause"/>
1726
- </fo:block>
1727
- </xsl:if>
1728
- <xsl:apply-templates>
1729
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1730
- </xsl:apply-templates>
1513
+ <xsl:template match="iec:clause//iec:clause" priority="2">
1514
+ <fo:block id="{@id}" space-after="10pt">
1515
+ <xsl:apply-templates/>
1731
1516
  </fo:block>
1732
1517
  </xsl:template>
1733
-
1734
- <xsl:template match="iec:annex//iec:clause">
1518
+ <!-- <xsl:template match="iec:clause//iec:clause[not(iec:title)]">
1735
1519
  <xsl:param name="sectionNum"/>
1736
- <fo:block margin-top="5pt" margin-bottom="10pt" text-align="justify">
1737
- <xsl:apply-templates>
1738
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1739
- </xsl:apply-templates>
1740
- </fo:block>
1741
- </xsl:template>
1742
-
1743
- <xsl:template match="iec:clause//iec:clause[not(iec:title)]">
1744
- <xsl:param name="sectionNum"/>
1745
- <xsl:variable name="section">
1746
- <xsl:call-template name="getSection">
1520
+ <xsl:variable name="section">
1521
+ <xsl:call-template name="getSection">
1747
1522
  <xsl:with-param name="sectionNum" select="$sectionNum"/>
1748
1523
  </xsl:call-template>
1749
1524
  </xsl:variable>
@@ -1753,44 +1528,51 @@
1753
1528
  </fo:block>
1754
1529
  <fo:block margin-bottom="10pt">
1755
1530
  <xsl:apply-templates>
1756
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1757
- <!-- <xsl:with-param name="inline" select="'true'"/> -->
1531
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1758
1532
  </xsl:apply-templates>
1759
1533
  </fo:block>
1760
- <!-- <fo:block margin-top="3pt" >
1761
- <fo:inline font-weight="bold" padding-right="3mm">
1762
- <xsl:value-of select="$section"/>
1763
- </fo:inline>
1764
- <xsl:apply-templates>
1765
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1766
- <xsl:with-param name="inline" select="'true'"/>
1767
- </xsl:apply-templates>
1768
- </fo:block> -->
1534
+
1535
+ </xsl:template> -->
1536
+
1537
+ <!-- ====== -->
1538
+ <!-- title -->
1539
+ <!-- ====== -->
1540
+ <xsl:template match="iec:introduction/iec:title">
1541
+ <fo:block font-size="12pt" text-align="center" margin-bottom="12pt">
1542
+ <xsl:apply-templates/>
1543
+ </fo:block>
1544
+ </xsl:template>
1545
+ <xsl:template match="iec:introduction/iec:title/text()">
1546
+ <xsl:call-template name="addLetterSpacing">
1547
+ <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/>
1548
+ </xsl:call-template>
1549
+ </xsl:template>
1550
+
1551
+ <xsl:template match="iec:annex/iec:title">
1552
+ <fo:block font-size="12pt" text-align="center" margin-bottom="32pt" keep-with-next="always">
1553
+ <xsl:apply-templates/>
1554
+ </fo:block>
1555
+ </xsl:template>
1556
+
1557
+ <!-- Bibliography -->
1558
+ <xsl:template match="iec:references[not(@normative='true')]/iec:title">
1559
+ <fo:block font-size="12pt" text-align="center" margin-bottom="12pt" keep-with-next="always">
1560
+ <xsl:apply-templates/>
1561
+ </fo:block>
1562
+ </xsl:template>
1563
+ <xsl:template match="iec:references[not(@normative='true')]/iec:title/text()">
1564
+ <xsl:call-template name="addLetterSpacing">
1565
+ <xsl:with-param name="text" select="."/>
1566
+ </xsl:call-template>
1769
1567
  </xsl:template>
1770
1568
 
1771
1569
 
1772
1570
  <xsl:template match="iec:title">
1773
- <xsl:param name="sectionNum"/>
1774
-
1775
- <xsl:variable name="parent-name" select="local-name(..)"/>
1776
- <!-- <xsl:variable name="references_num_current">
1777
- <xsl:number level="any" count="iec:references"/>
1778
- </xsl:variable> -->
1779
-
1780
- <xsl:variable name="id">
1781
- <xsl:call-template name="getId"/>
1782
- </xsl:variable>
1783
1571
 
1784
1572
  <xsl:variable name="level">
1785
1573
  <xsl:call-template name="getLevel"/>
1786
1574
  </xsl:variable>
1787
-
1788
- <xsl:variable name="section">
1789
- <xsl:call-template name="getSection">
1790
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1791
- </xsl:call-template>
1792
- </xsl:variable>
1793
-
1575
+
1794
1576
  <xsl:variable name="font-size">
1795
1577
  <xsl:choose>
1796
1578
  <xsl:when test="ancestor::iec:sections and $level = 1">11pt</xsl:when>
@@ -1799,123 +1581,38 @@
1799
1581
  <xsl:otherwise>10pt</xsl:otherwise>
1800
1582
  </xsl:choose>
1801
1583
  </xsl:variable>
1802
- <!-- <xsl:choose>
1803
- <xsl:when test="ancestor::iec:annex and $level = 1">12pt</xsl:when>
1804
- <xsl:when test="ancestor::iec:annex and $level &gt;= 2">10pt</xsl:when>
1805
- <xsl:when test="ancestor::iec:preface">16pt</xsl:when>
1806
- <xsl:when test="$level = 2">12pt</xsl:when>
1807
- <xsl:when test="$level &gt;= 3">11pt</xsl:when>
1808
- <xsl:otherwise>13pt</xsl:otherwise>
1809
- </xsl:choose>
1810
- </xsl:variable> -->
1811
-
1812
- <xsl:variable name="element-name">
1813
- <xsl:choose>
1814
- <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
1815
- <xsl:otherwise>fo:block</xsl:otherwise>
1816
- </xsl:choose>
1817
- </xsl:variable>
1818
-
1584
+
1819
1585
  <xsl:choose>
1820
- <xsl:when test="$parent-name = 'annex'">
1821
- <fo:block id="{$id}" font-size="12pt" font-weight="bold" text-align="center" margin-bottom="32pt" keep-with-next="always">
1822
- <xsl:value-of select="$section"/>
1823
- <xsl:if test=" ../@obligation">
1824
- <xsl:value-of select="$linebreak"/>
1825
- <fo:inline font-weight="normal">(<xsl:value-of select="../@obligation"/>)</fo:inline>
1826
- </xsl:if>
1827
- <xsl:value-of select="$linebreak"/>
1828
- <xsl:value-of select="$linebreak"/>
1586
+ <xsl:when test="../@inline-header = 'true'">
1587
+ <fo:inline font-size="{$font-size}" font-weight="bold">
1829
1588
  <xsl:apply-templates/>
1830
- </fo:block>
1831
- </xsl:when>
1832
- <xsl:when test="$parent-name = 'references' and not(starts-with(../@id, '_normative_references') or starts-with(../@id, '_references'))"> <!-- Bibliography -->
1833
- <fo:block id="{$id}" font-size="12pt" text-align="center" margin-bottom="12pt" keep-with-next="always">
1834
- <xsl:call-template name="addLetterSpacing">
1835
- <xsl:with-param name="text" select="."/>
1836
- </xsl:call-template>
1837
- <!-- <xsl:apply-templates /> -->
1838
- </fo:block>
1839
- </xsl:when>
1840
- <xsl:when test="$parent-name = 'introduction'">
1841
- <fo:block id="{$id}" font-size="12pt" text-align="center" margin-bottom="10pt">
1842
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(text()))"/>
1843
- </fo:block>
1589
+ </fo:inline>
1844
1590
  </xsl:when>
1845
1591
  <xsl:otherwise>
1846
-
1847
- <xsl:variable name="padding-right">
1848
- <xsl:choose>
1849
- <xsl:when test="$level = 2 and ancestor::iec:annex">6mm</xsl:when>
1850
- <xsl:when test="$level = 2">7mm</xsl:when>
1851
- <xsl:otherwise>5mm</xsl:otherwise>
1852
- </xsl:choose>
1853
- </xsl:variable>
1854
-
1855
- <xsl:element name="{$element-name}">
1856
- <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
1857
- <xsl:attribute name="font-size">
1858
- <xsl:value-of select="$font-size"/>
1592
+ <fo:block font-size="{$font-size}" font-weight="bold" keep-with-next="always">
1593
+ <xsl:attribute name="space-before"> <!-- margin-top -->
1594
+ <xsl:choose>
1595
+ <xsl:when test="$level = 2 and ancestor::iec:annex">22pt</xsl:when>
1596
+ <xsl:when test="$level &gt;= 2 and ancestor::iec:annex">5pt</xsl:when>
1597
+ <!-- <xsl:when test="$level &gt;= 4">5pt</xsl:when> -->
1598
+ <xsl:when test="$level = '' or $level = 1">18pt</xsl:when><!-- 13.5pt -->
1599
+ <xsl:otherwise>10pt</xsl:otherwise>
1600
+ </xsl:choose>
1859
1601
  </xsl:attribute>
1860
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1861
-
1862
- <xsl:if test="$element-name = 'fo:block'">
1863
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1864
- <xsl:attribute name="space-before"> <!-- margin-top -->
1865
- <xsl:choose>
1866
- <xsl:when test="$level = 2 and ancestor::iec:annex">22pt</xsl:when>
1867
- <xsl:when test="$level &gt;= 2 and ancestor::iec:annex">5pt</xsl:when>
1868
- <xsl:when test="$level = '' or $level = 1">18pt</xsl:when><!-- 13.5pt -->
1869
- <xsl:otherwise>10pt</xsl:otherwise>
1870
- </xsl:choose>
1871
- </xsl:attribute>
1872
- <xsl:attribute name="margin-bottom">
1873
- <xsl:choose>
1874
- <xsl:when test="$level = '' or $level = 1">14pt</xsl:when>
1875
- <xsl:when test="$level = 2 and ancestor::iec:annex">14pt</xsl:when>
1876
- <xsl:otherwise>5pt</xsl:otherwise>
1877
- </xsl:choose>
1878
- </xsl:attribute>
1879
-
1880
- <fo:inline>
1881
- <xsl:if test="$section != ''">
1882
- <xsl:attribute name="padding-right">
1883
- <xsl:value-of select="$padding-right"/>
1884
- </xsl:attribute>
1885
- </xsl:if>
1886
- <xsl:value-of select="$section"/>
1887
- </fo:inline>
1888
- <xsl:apply-templates/>
1889
- </xsl:if>
1890
-
1891
- <xsl:if test="$element-name = 'fo:inline'">
1892
- <xsl:if test="$section != ''">
1893
- <xsl:attribute name="padding-right">
1894
- <xsl:value-of select="$padding-right"/>
1895
- </xsl:attribute>
1896
- </xsl:if>
1897
- <xsl:value-of select="$section"/>
1898
- </xsl:if>
1899
- </xsl:element>
1900
-
1901
-
1902
- <xsl:if test="$element-name = 'fo:inline'">
1903
- <fo:inline font-size="{$font-size}" font-weight="bold">
1904
- <xsl:apply-templates/>
1905
- </fo:inline>
1906
-
1907
- </xsl:if>
1908
-
1909
- <!-- <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::iec:p)">
1910
- <fo:block>
1911
- <xsl:value-of select="$linebreak"/>
1912
- </fo:block>
1913
- </xsl:if> -->
1602
+ <xsl:attribute name="margin-bottom">
1603
+ <xsl:choose>
1604
+ <xsl:when test="$level = '' or $level = 1">14pt</xsl:when>
1605
+ <xsl:when test="$level = 2 and ancestor::iec:annex">14pt</xsl:when>
1606
+ <xsl:otherwise>5pt</xsl:otherwise>
1607
+ </xsl:choose>
1608
+ </xsl:attribute>
1609
+ <xsl:apply-templates/>
1610
+ </fo:block>
1914
1611
  </xsl:otherwise>
1915
1612
  </xsl:choose>
1916
-
1917
1613
  </xsl:template>
1918
-
1614
+ <!-- ====== -->
1615
+ <!-- ====== -->
1919
1616
 
1920
1617
 
1921
1618
  <xsl:template match="iec:p">
@@ -2031,90 +1728,8 @@
2031
1728
  <fo:block margin-bottom="10pt"><xsl:apply-templates/></fo:block>
2032
1729
  </xsl:template>
2033
1730
 
2034
- <xsl:template match="iec:review">
2035
- <!-- comment 2019-11-29 -->
2036
- <!-- <fo:block font-weight="bold">Review:</fo:block>
2037
- <xsl:apply-templates /> -->
2038
- </xsl:template>
2039
-
2040
- <xsl:template match="text()">
2041
- <xsl:value-of select="."/>
2042
- </xsl:template>
2043
-
2044
-
2045
1731
 
2046
- <xsl:template match="iec:image">
2047
- <fo:block-container text-align="center">
2048
- <fo:block>
2049
- <fo:external-graphic src="{@src}" fox:alt-text="Image"/>
2050
- </fo:block>
2051
- <xsl:variable name="title-figure">
2052
- <xsl:call-template name="getTitle">
2053
- <xsl:with-param name="name" select="'title-figure'"/>
2054
- </xsl:call-template>
2055
- </xsl:variable>
2056
- <fo:block font-weight="bold" margin-top="12pt" margin-bottom="12pt"><xsl:value-of select="$title-figure"/><xsl:number format="1" level="any"/></fo:block>
2057
- </fo:block-container>
2058
-
2059
- </xsl:template>
2060
1732
 
2061
- <xsl:template match="iec:figure">
2062
- <fo:block-container id="{@id}">
2063
- <fo:block>
2064
- <xsl:apply-templates/>
2065
- </fo:block>
2066
- <xsl:call-template name="fn_display_figure"/>
2067
- <xsl:for-each select="iec:note//iec:p">
2068
- <xsl:call-template name="note"/>
2069
- </xsl:for-each>
2070
- <fo:block font-weight="bold" text-align="center" margin-top="12pt" margin-bottom="12pt" keep-with-previous="always">
2071
- <xsl:variable name="title-figure">
2072
- <xsl:call-template name="getTitle">
2073
- <xsl:with-param name="name" select="'title-figure'"/>
2074
- </xsl:call-template>
2075
- </xsl:variable>
2076
- <xsl:choose>
2077
- <xsl:when test="ancestor::iec:annex">
2078
-
2079
- <!-- <xsl:choose>
2080
-
2081
- <xsl:when test="local-name(..) = 'figure'">
2082
- <xsl:number format="a) "/>
2083
- </xsl:when>
2084
- <xsl:otherwise> -->
2085
-
2086
- <xsl:value-of select="$title-figure"/><xsl:number format="A.1-1" level="multiple" count="iec:annex | iec:figure"/>
2087
- <!-- </xsl:otherwise>
2088
- </xsl:choose> -->
2089
-
2090
- </xsl:when>
2091
- <xsl:otherwise>
2092
- <xsl:value-of select="$title-figure"/><xsl:number format="1" level="any"/>
2093
- </xsl:otherwise>
2094
- </xsl:choose>
2095
- <xsl:if test="iec:name">
2096
- <!-- <xsl:if test="not(local-name(..) = 'figure')"> -->
2097
- <xsl:text> — </xsl:text>
2098
- <!-- </xsl:if> -->
2099
- <xsl:value-of select="iec:name"/>
2100
- </xsl:if>
2101
- </fo:block>
2102
- </fo:block-container>
2103
- </xsl:template>
2104
-
2105
- <xsl:template match="iec:figure/iec:name"/>
2106
- <xsl:template match="iec:figure/iec:fn" priority="2"/>
2107
- <xsl:template match="iec:figure/iec:note"/>
2108
-
2109
-
2110
- <xsl:template match="iec:figure/iec:image">
2111
- <fo:block text-align="center">
2112
- <fo:external-graphic src="{@src}" width="75%" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image"/> <!-- content-width="100%" -->
2113
- </fo:block>
2114
- </xsl:template>
2115
-
2116
-
2117
-
2118
1733
 
2119
1734
  <xsl:template match="iec:bibitem">
2120
1735
  <fo:block id="{@id}" margin-top="5pt" margin-bottom="10pt"> <!-- letter-spacing="0.4pt" -->
@@ -2141,7 +1756,7 @@
2141
1756
  </xsl:template>
2142
1757
 
2143
1758
 
2144
- <xsl:template match="iec:bibitem/iec:note">
1759
+ <xsl:template match="iec:bibitem/iec:note" priority="2">
2145
1760
  <fo:footnote>
2146
1761
  <xsl:variable name="number">
2147
1762
  <xsl:number level="any" count="iec:bibitem/iec:note"/>
@@ -2164,7 +1779,7 @@
2164
1779
 
2165
1780
 
2166
1781
 
2167
- <xsl:template match="iec:ul | iec:ol">
1782
+ <xsl:template match="iec:ul | iec:ol" mode="ul_ol">
2168
1783
  <fo:list-block provisional-distance-between-starts="6mm" margin-bottom="12pt">
2169
1784
  <xsl:if test="ancestor::iec:ul or ancestor::iec:ol">
2170
1785
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
@@ -2205,7 +1820,9 @@
2205
1820
  </fo:block>
2206
1821
  </fo:list-item-label>
2207
1822
  <fo:list-item-body start-indent="body-start()">
2208
- <xsl:apply-templates/>
1823
+ <fo:block>
1824
+ <xsl:apply-templates/>
1825
+ </fo:block>
2209
1826
  </fo:list-item-body>
2210
1827
  </fo:list-item>
2211
1828
  </xsl:template>
@@ -2222,22 +1839,12 @@
2222
1839
  </fo:block>
2223
1840
  </xsl:template>
2224
1841
 
2225
- <xsl:template match="iec:term">
2226
- <xsl:param name="sectionNum"/>
2227
- <fo:block id="{@id}">
2228
- <xsl:apply-templates>
2229
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
2230
- </xsl:apply-templates>
2231
- </fo:block>
2232
- </xsl:template>
2233
1842
 
2234
1843
  <xsl:template match="iec:preferred">
2235
- <xsl:param name="sectionNum"/>
1844
+
2236
1845
  <fo:block line-height="1.1" space-before="14pt">
2237
1846
  <fo:block font-weight="bold" keep-with-next="always">
2238
- <fo:inline>
2239
- <xsl:value-of select="$sectionNum"/>.<xsl:number count="iec:term"/>
2240
- </fo:inline>
1847
+ <xsl:apply-templates select="ancestor::iec:term/iec:name" mode="presentation"/>
2241
1848
  </fo:block>
2242
1849
  <fo:block font-weight="bold" keep-with-next="always">
2243
1850
  <xsl:apply-templates/>
@@ -2245,109 +1852,12 @@
2245
1852
  </fo:block>
2246
1853
  </xsl:template>
2247
1854
 
2248
- <xsl:template match="iec:admitted">
2249
- <fo:block>
2250
- <xsl:apply-templates/>
2251
- </fo:block>
2252
- </xsl:template>
2253
-
2254
- <xsl:template match="iec:deprecates">
2255
- <xsl:variable name="title-deprecated">
2256
- <xsl:call-template name="getTitle">
2257
- <xsl:with-param name="name" select="'title-deprecated'"/>
2258
- </xsl:call-template>
2259
- </xsl:variable>
2260
- <fo:block font-size="8pt" margin-top="5pt" margin-bottom="5pt"><xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/></fo:block>
2261
- </xsl:template>
2262
-
2263
- <xsl:template match="iec:definition[preceding-sibling::iec:domain]">
2264
- <xsl:apply-templates/>
2265
- </xsl:template>
2266
- <xsl:template match="iec:definition[preceding-sibling::iec:domain]/iec:p">
2267
- <fo:inline> <xsl:apply-templates/></fo:inline>
2268
- <fo:block> </fo:block>
2269
- </xsl:template>
2270
-
2271
- <xsl:template match="iec:definition">
2272
- <fo:block margin-bottom="6pt">
2273
- <xsl:apply-templates/>
2274
- </fo:block>
2275
- </xsl:template>
2276
-
2277
- <xsl:template match="iec:termsource">
2278
- <fo:block margin-bottom="8pt" keep-with-previous="always">
2279
- <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
2280
- <fo:basic-link internal-destination="{iec:origin/@bibitemid}" fox:alt-text="{iec:origin/@citeas}">
2281
- <xsl:text>[</xsl:text>
2282
- <xsl:variable name="title-source">
2283
- <xsl:call-template name="getTitle">
2284
- <xsl:with-param name="name" select="'title-source'"/>
2285
- </xsl:call-template>
2286
- </xsl:variable>
2287
- <xsl:value-of select="$title-source"/>
2288
- <xsl:text>: </xsl:text>
2289
- <xsl:value-of select="iec:origin/@citeas"/>
2290
- <xsl:apply-templates select="iec:origin/iec:localityStack"/>
2291
- </fo:basic-link>
2292
- <xsl:apply-templates select="iec:modification"/>
2293
- <xsl:text>]</xsl:text>
2294
- </fo:block>
2295
- </xsl:template>
2296
-
2297
1855
 
2298
- <xsl:template match="iec:modification/iec:p">
2299
- <fo:inline><xsl:apply-templates/></fo:inline>
2300
- </xsl:template>
2301
-
2302
- <xsl:template match="iec:termnote">
2303
- <fo:block font-size="8pt" margin-top="5pt" margin-bottom="5pt">
2304
- <xsl:variable name="num"><xsl:number/></xsl:variable>
2305
- <xsl:variable name="title-note-to-entry">
2306
- <xsl:call-template name="getTitle">
2307
- <xsl:with-param name="name" select="'title-note-to-entry'"/>
2308
- </xsl:call-template>
2309
- </xsl:variable>
2310
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($title-note-to-entry),'#',$num)"/>
2311
- <xsl:apply-templates/>
2312
- </fo:block>
2313
- </xsl:template>
2314
-
2315
- <xsl:template match="iec:termnote/iec:p">
2316
- <fo:inline><xsl:apply-templates/></fo:inline>
2317
- </xsl:template>
2318
-
2319
- <xsl:template match="iec:domain">
2320
- <fo:inline>&lt;<xsl:apply-templates/>&gt;</fo:inline>
2321
- </xsl:template>
2322
-
2323
-
2324
- <xsl:template match="iec:termexample">
2325
- <fo:block margin-top="14pt" margin-bottom="10pt">
2326
- <xsl:variable name="title-example">
2327
- <xsl:call-template name="getTitle">
2328
- <xsl:with-param name="name" select="'title-example'"/>
2329
- </xsl:call-template>
2330
- </xsl:variable>
2331
- <fo:inline padding-right="10mm"><xsl:value-of select="normalize-space($title-example)"/></fo:inline>
1856
+ <xsl:template match="iec:references[not(@normative='true')]">
1857
+ <fo:block break-after="page"/>
1858
+ <fo:block id="{@id}">
2332
1859
  <xsl:apply-templates/>
2333
1860
  </fo:block>
2334
- </xsl:template>
2335
-
2336
- <xsl:template match="iec:termexample/iec:p">
2337
- <fo:inline><xsl:apply-templates/></fo:inline>
2338
- </xsl:template>
2339
-
2340
-
2341
- <xsl:template match="iec:annex">
2342
- <fo:block break-after="page"/>
2343
- <xsl:apply-templates/>
2344
- </xsl:template>
2345
-
2346
-
2347
- <!-- <xsl:template match="iec:references[@id = '_bibliography']"> -->
2348
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]">
2349
- <fo:block break-after="page"/>
2350
- <xsl:apply-templates/>
2351
1861
  <fo:block-container text-align="center" margin-top="10mm">
2352
1862
  <fo:block>_____________</fo:block>
2353
1863
  </fo:block-container>
@@ -2355,14 +1865,12 @@
2355
1865
 
2356
1866
 
2357
1867
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
2358
- <!-- <xsl:template match="iec:references[@id = '_bibliography']/iec:bibitem"> -->
2359
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]/iec:bibitem">
2360
- <fo:list-block margin-top="5pt" margin-bottom="14pt" provisional-distance-between-starts="0mm"> <!-- provisional-distance-between-starts="12mm" -->
1868
+ <xsl:template match="iec:references[not(@normative='true')]/iec:bibitem">
1869
+ <fo:list-block margin-top="5pt" margin-bottom="14pt" provisional-distance-between-starts="12mm"> <!-- provisional-distance-between-starts="0mm" -->
2361
1870
  <fo:list-item>
2362
1871
  <fo:list-item-label end-indent="label-end()">
2363
- <fo:block font-size="1pt">
2364
- <fo:inline id="{@id}"> </fo:inline>
2365
- <!-- <xsl:number format="[1]"/> -->
1872
+ <fo:block id="{@id}">
1873
+ <xsl:number format="[1]"/>
2366
1874
  </fo:block>
2367
1875
  </fo:list-item-label>
2368
1876
  <fo:list-item-body start-indent="body-start()">
@@ -2388,163 +1896,32 @@
2388
1896
  </fo:list-block>
2389
1897
  </xsl:template>
2390
1898
 
2391
- <!-- <xsl:template match="iec:references[@id = '_bibliography']/iec:bibitem" mode="contents"/> -->
2392
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]/iec:bibitem" mode="contents"/>
1899
+ <xsl:template match="iec:references[not(@normative='true')]/iec:bibitem" mode="contents"/>
2393
1900
 
2394
- <!-- <xsl:template match="iec:references[@id = '_bibliography']/iec:bibitem/iec:title"> -->
2395
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]/iec:bibitem/iec:title">
1901
+ <xsl:template match="iec:references[not(@normative='true')]/iec:bibitem/iec:title">
2396
1902
  <fo:inline font-style="italic">
2397
1903
  <xsl:apply-templates/>
2398
1904
  </fo:inline>
2399
1905
  </xsl:template>
2400
1906
 
2401
- <xsl:template match="iec:quote">
2402
- <fo:block margin-top="5pt" margin-bottom="10pt" margin-left="12mm" margin-right="12mm">
2403
- <xsl:apply-templates select=".//iec:p"/>
2404
- <fo:block text-align="right" margin-top="15pt">
2405
- <!-- ISO, ISO 7301:2011, Clause 1 -->
2406
- <xsl:text>— </xsl:text><xsl:value-of select="iec:author"/>
2407
- <xsl:if test="iec:source">
2408
- <xsl:text>, </xsl:text>
2409
- <xsl:apply-templates select="iec:source"/>
2410
- </xsl:if>
1907
+
1908
+
1909
+
1910
+ <xsl:template match="iec:admonition">
1911
+ <fo:block-container border="0.5pt solid black" margin-left="-2mm" margin-right="-2mm" space-before="18pt" space-after="12pt">
1912
+ <fo:block-container margin-left="0mm" margin-right="0mm" font-weight="bold" padding="1mm" padding-top="2mm">
1913
+ <fo:block text-align="justify">
1914
+ <fo:inline><xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/> – </fo:inline>
1915
+ <xsl:apply-templates/>
1916
+ </fo:block>
1917
+ </fo:block-container>
1918
+ </fo:block-container>
1919
+ <!-- <fo:block font-weight="bold">
1920
+ <fo:block text-align="center" margin-top="5pt" margin-bottom="10pt">
1921
+ <xsl:value-of select="translate(@type, $lower, $upper)"/>
2411
1922
  </fo:block>
2412
- </fo:block>
2413
- </xsl:template>
2414
-
2415
- <xsl:template match="iec:source">
2416
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
2417
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
2418
- <xsl:apply-templates select="iec:localityStack"/>
2419
- </fo:basic-link>
2420
- </xsl:template>
2421
-
2422
-
2423
- <xsl:template match="iec:xref">
2424
-
2425
- <xsl:variable name="docid">
2426
- <xsl:call-template name="getDocumentId"/>
2427
- </xsl:variable>
2428
- <xsl:variable name="contents" select="xalan:nodeset($contents)/doc[@id = $docid]"/>
2429
- <!-- <xsl:call-template name="generateContents"/>
2430
- </xsl:variable>
2431
- -->
2432
-
2433
- <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
2434
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{$section}">
2435
- <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
2436
- <xsl:variable name="root" select="xalan:nodeset($contents)//item[@id = current()/@target]/@root"/>
2437
- <xsl:variable name="parentsection" select="xalan:nodeset($contents)//item[@id = current()/@target]/@parentsection"/>
2438
- <xsl:variable name="title-clause">
2439
- <xsl:call-template name="getTitle">
2440
- <xsl:with-param name="name" select="'title-clause'"/>
2441
- </xsl:call-template>
2442
- </xsl:variable>
2443
- <xsl:choose>
2444
- <xsl:when test="$type = 'clause' and $root != 'annex'"><xsl:value-of select="$title-clause"/></xsl:when><!-- and not (ancestor::annex) -->
2445
- <xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
2446
- </xsl:choose>
2447
- <xsl:variable name="currentsection">
2448
- <xsl:for-each select="ancestor::iec:clause[1]/iec:title">
2449
- <xsl:call-template name="getSection"/>
2450
- </xsl:for-each>
2451
- </xsl:variable>
2452
- <xsl:if test="$type = 'formula' and $parentsection != '' and not(contains($parentsection, $currentsection))">
2453
- <xsl:value-of select="$parentsection"/><xsl:text>, </xsl:text>
2454
- </xsl:if>
2455
- <xsl:value-of select="$section"/>
2456
- </fo:basic-link>
2457
- </xsl:template>
2458
-
2459
- <xsl:template match="iec:example/iec:p">
2460
- <fo:block>
2461
- <xsl:variable name="title-example">
2462
- <xsl:call-template name="getTitle">
2463
- <xsl:with-param name="name" select="'title-example'"/>
2464
- </xsl:call-template>
2465
- </xsl:variable>
2466
- <fo:inline padding-right="9mm"><xsl:value-of select="normalize-space($title-example)"/></fo:inline>
2467
- <xsl:apply-templates/>
2468
- </fo:block>
2469
- </xsl:template>
2470
-
2471
- <xsl:template match="iec:note/iec:p" name="note">
2472
- <fo:block margin-top="5pt" margin-bottom="5pt" font-size="8pt">
2473
- <xsl:if test="../following-sibling::iec:note">
2474
- <xsl:attribute name="margin-bottom">9pt</xsl:attribute>
2475
- </xsl:if>
2476
- <fo:inline padding-right="6mm">
2477
- <xsl:variable name="title-note">
2478
- <xsl:call-template name="getTitle">
2479
- <xsl:with-param name="name" select="'title-note'"/>
2480
- </xsl:call-template>
2481
- </xsl:variable>
2482
- <xsl:value-of select="$title-note"/>
2483
- <xsl:if test="ancestor::iec:figure">
2484
- <xsl:variable name="id" select="ancestor::iec:figure[1]/@id"/>
2485
- <xsl:if test="count(//iec:note[ancestor::*[@id = $id]]) &gt; 1">
2486
- <xsl:number count="iec:note[ancestor::*[@id = $id]]" level="any"/>
2487
- </xsl:if>
2488
- </xsl:if>
2489
- </fo:inline>
2490
- <xsl:apply-templates/>
2491
- </fo:block>
2492
- </xsl:template>
2493
-
2494
- <!-- <eref type="inline" bibitemid="ISO20483" citeas="ISO 20483:2013"><locality type="annex"><referenceFrom>C</referenceFrom></locality></eref> -->
2495
- <xsl:template match="iec:eref">
2496
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
2497
- <xsl:if test="@type = 'footnote'">
2498
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
2499
- <xsl:attribute name="font-size">80%</xsl:attribute>
2500
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2501
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2502
- </xsl:if>
2503
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
2504
- <xsl:apply-templates select="iec:localityStack"/>
2505
- </fo:basic-link>
2506
- </xsl:template>
2507
-
2508
- <xsl:template match="iec:locality">
2509
- <xsl:variable name="title-clause">
2510
- <xsl:call-template name="getTitle">
2511
- <xsl:with-param name="name" select="'title-clause'"/>
2512
- </xsl:call-template>
2513
- </xsl:variable>
2514
- <xsl:variable name="title-annex">
2515
- <xsl:call-template name="getTitle">
2516
- <xsl:with-param name="name" select="'title-annex'"/>
2517
- </xsl:call-template>
2518
- </xsl:variable>
2519
- <xsl:variable name="title-table">
2520
- <xsl:call-template name="getTitle">
2521
- <xsl:with-param name="name" select="'title-table'"/>
2522
- </xsl:call-template>
2523
- </xsl:variable>
2524
- <xsl:choose>
2525
- <xsl:when test="@type ='clause'"><xsl:value-of select="$title-clause"/></xsl:when>
2526
- <xsl:when test="@type ='annex'"><xsl:value-of select="$title-annex"/></xsl:when>
2527
- <xsl:when test="@type ='table'"><xsl:value-of select="$title-table"/></xsl:when>
2528
- <xsl:otherwise><xsl:value-of select="@type"/></xsl:otherwise>
2529
- </xsl:choose>
2530
- <xsl:text> </xsl:text><xsl:value-of select="iec:referenceFrom"/>
2531
- </xsl:template>
2532
-
2533
- <xsl:template match="iec:admonition">
2534
- <fo:block-container border="0.5pt solid black" margin-left="-2mm" margin-right="-2mm" space-before="18pt" space-after="12pt">
2535
- <fo:block-container margin-left="0mm" margin-right="0mm" font-weight="bold" padding="1mm" padding-top="2mm">
2536
- <fo:block text-align="justify">
2537
- <fo:inline><xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/> – </fo:inline>
2538
- <xsl:apply-templates/>
2539
- </fo:block>
2540
- </fo:block-container>
2541
- </fo:block-container>
2542
- <!-- <fo:block font-weight="bold">
2543
- <fo:block text-align="center" margin-top="5pt" margin-bottom="10pt">
2544
- <xsl:value-of select="translate(@type, $lower, $upper)"/>
2545
- </fo:block>
2546
- <xsl:apply-templates />
2547
- </fo:block> -->
1923
+ <xsl:apply-templates />
1924
+ </fo:block> -->
2548
1925
  </xsl:template>
2549
1926
 
2550
1927
  <xsl:template match="iec:admonition//iec:p//text()">
@@ -2553,23 +1930,8 @@
2553
1930
  </xsl:call-template>
2554
1931
  </xsl:template>
2555
1932
 
2556
- <xsl:template match="iec:formula">
2557
- <fo:block id="{@id}">
2558
- <xsl:apply-templates/>
2559
- </fo:block>
2560
- </xsl:template>
2561
1933
 
2562
- <xsl:template match="iec:formula/iec:dt/iec:stem">
2563
- <fo:inline>
2564
- <xsl:apply-templates/>
2565
- </fo:inline>
2566
- </xsl:template>
2567
1934
 
2568
- <xsl:template match="iec:admitted/iec:stem">
2569
- <fo:inline> <!-- padding-left="6mm" -->
2570
- <xsl:apply-templates/>
2571
- </fo:inline>
2572
- </xsl:template>
2573
1935
 
2574
1936
  <xsl:template match="iec:formula/iec:stem">
2575
1937
  <fo:block margin-top="6pt" margin-bottom="12pt">
@@ -2579,35 +1941,22 @@
2579
1941
  <fo:table-body>
2580
1942
  <fo:table-row>
2581
1943
  <fo:table-cell display-align="center">
2582
- <fo:block text-align="center"> <!-- left margin-left="5mm" -->
1944
+ <fo:block text-align="center">
2583
1945
  <xsl:apply-templates/>
2584
1946
  </fo:block>
2585
1947
  </fo:table-cell>
2586
1948
  <fo:table-cell display-align="center">
2587
1949
  <fo:block text-align="right" margin-right="-10mm">
2588
- <xsl:choose>
2589
- <xsl:when test="ancestor::iec:annex">
2590
- <xsl:number format="(A.1)" level="multiple" count="iec:annex | iec:formula"/>
2591
- </xsl:when>
2592
- <xsl:otherwise> <!-- not(ancestor::iec:annex) -->
2593
- <xsl:text>(</xsl:text><xsl:number level="any" count="iec:formula"/><xsl:text>)</xsl:text>
2594
- </xsl:otherwise>
2595
- </xsl:choose>
1950
+ <xsl:apply-templates select="../iec:name" mode="presentation"/>
2596
1951
  </fo:block>
2597
1952
  </fo:table-cell>
2598
1953
  </fo:table-row>
2599
1954
  </fo:table-body>
2600
- </fo:table>
2601
- <fo:inline keep-together.within-line="always">
2602
- </fo:inline>
1955
+ </fo:table>
2603
1956
  </fo:block>
2604
1957
  </xsl:template>
2605
1958
 
2606
-
2607
- <xsl:template match="iec:br" priority="2">
2608
- <!-- <fo:block>&#xA0;</fo:block> -->
2609
- <xsl:value-of select="$linebreak"/>
2610
- </xsl:template>
1959
+
2611
1960
 
2612
1961
  <xsl:template name="insertHeaderFooter">
2613
1962
  <fo:static-content flow-name="header-even">
@@ -2662,95 +2011,6 @@
2662
2011
  </xsl:template>
2663
2012
 
2664
2013
 
2665
- <xsl:template name="getSection">
2666
- <xsl:param name="sectionNum"/>
2667
- <xsl:variable name="level">
2668
- <xsl:call-template name="getLevel"/>
2669
- </xsl:variable>
2670
- <xsl:variable name="section">
2671
- <xsl:choose>
2672
- <xsl:when test="ancestor::iec:bibliography">
2673
- <xsl:value-of select="$sectionNum"/>
2674
- </xsl:when>
2675
- <xsl:when test="ancestor::iec:sections">
2676
- <!-- 1, 2, 3, 4, ... from main section (not annex, bibliography, ...) -->
2677
- <xsl:choose>
2678
- <xsl:when test="$level = 1">
2679
- <xsl:value-of select="$sectionNum"/>
2680
- </xsl:when>
2681
- <xsl:when test="$level &gt;= 2">
2682
- <xsl:variable name="num">
2683
- <xsl:call-template name="getSubSection"/>
2684
- </xsl:variable>
2685
- <xsl:value-of select="concat($sectionNum, $num)"/>
2686
- </xsl:when>
2687
- <xsl:otherwise>
2688
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
2689
- </xsl:otherwise>
2690
- </xsl:choose>
2691
- </xsl:when>
2692
- <!-- <xsl:when test="ancestor::iec:annex[@obligation = 'informative']">
2693
- <xsl:choose>
2694
- <xsl:when test="$level = 1">
2695
- <xsl:text>Annex </xsl:text>
2696
- <xsl:number format="I" level="any" count="iec:annex[@obligation = 'informative']"/>
2697
- </xsl:when>
2698
- <xsl:otherwise>
2699
- <xsl:number format="I.1" level="multiple" count="iec:annex[@obligation = 'informative'] | iec:clause"/>
2700
- </xsl:otherwise>
2701
- </xsl:choose>
2702
- </xsl:when> -->
2703
- <xsl:when test="ancestor::iec:annex">
2704
- <xsl:choose>
2705
- <xsl:when test="$level = 1">
2706
- <xsl:variable name="title-annex">
2707
- <xsl:call-template name="getTitle">
2708
- <xsl:with-param name="name" select="'title-annex'"/>
2709
- </xsl:call-template>
2710
- </xsl:variable>
2711
- <xsl:value-of select="$title-annex"/>
2712
- <xsl:choose>
2713
- <xsl:when test="count(//iec:annex) = 1">
2714
- <xsl:value-of select="/iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:annexid"/>
2715
- </xsl:when>
2716
- <xsl:otherwise>
2717
- <xsl:number format="A" level="any" count="iec:annex"/>
2718
- </xsl:otherwise>
2719
- </xsl:choose>
2720
- </xsl:when>
2721
- <xsl:otherwise>
2722
- <xsl:choose>
2723
- <xsl:when test="count(//iec:annex) = 1">
2724
- <xsl:value-of select="/iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:annexid"/><xsl:number format=".1" level="multiple" count="iec:clause"/>
2725
- </xsl:when>
2726
- <xsl:otherwise>
2727
- <xsl:number format="A.1" level="multiple" count="iec:annex | iec:clause"/>
2728
- </xsl:otherwise>
2729
- </xsl:choose>
2730
- </xsl:otherwise>
2731
- </xsl:choose>
2732
- </xsl:when>
2733
- <xsl:when test="ancestor::iec:preface"> <!-- if preface and there is clause(s) -->
2734
- <xsl:choose>
2735
- <xsl:when test="$level = 1 and ..//iec:clause">0</xsl:when>
2736
- <xsl:when test="$level &gt;= 2">
2737
- <xsl:variable name="num">
2738
- <xsl:number format=".1" level="multiple" count="iec:clause"/>
2739
- </xsl:variable>
2740
- <xsl:value-of select="concat('0', $num)"/>
2741
- </xsl:when>
2742
- <xsl:otherwise>
2743
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
2744
- </xsl:otherwise>
2745
- </xsl:choose>
2746
- </xsl:when>
2747
- <xsl:otherwise>
2748
- </xsl:otherwise>
2749
- </xsl:choose>
2750
- </xsl:variable>
2751
- <xsl:value-of select="$section"/>
2752
- </xsl:template>
2753
-
2754
2014
  <xsl:variable name="Image-Logo-IEC">
2755
2015
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAMAAAC9ZjJ/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjNTIxY2ZhYi04NGZmLWZiNDctYWQwZi0xMDQxODQ5MjJlNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjFDQzJCRTE4MzA2MTFFQTlENjc4RjAzNEJDNTMwNUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjFDQzJCRTA4MzA2MTFFQTlENjc4RjAzNEJDNTMwNUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZjkyOWQwNjktMzcxYy0xMzRlLWExMTEtMDFjMzM4ZTc0NzZjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NTEwYjk4MGQtODMwNi0xMWVhLWFhOGEt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</xsl:text>
2756
2016
  </xsl:variable>
@@ -2861,46 +2121,6 @@
2861
2121
  </xsl:template> -->
2862
2122
 
2863
2123
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
2864
-
2865
- <title-table lang="en">Table </title-table>
2866
- <title-table lang="fr">Tableau </title-table>
2867
-
2868
- <title-table lang="zh">Table </title-table>
2869
-
2870
-
2871
-
2872
- <title-note lang="en">NOTE </title-note>
2873
- <title-note lang="fr">NOTE </title-note>
2874
-
2875
- <title-note lang="zh">NOTE </title-note>
2876
-
2877
-
2878
-
2879
- <title-figure lang="en">Figure </title-figure>
2880
- <title-figure lang="fr">Figure </title-figure>
2881
-
2882
- <title-figure lang="zh">Figure </title-figure>
2883
-
2884
-
2885
-
2886
- <title-example lang="en">EXAMPLE </title-example>
2887
- <title-example lang="fr">EXEMPLE </title-example>
2888
-
2889
- <title-example lang="zh">EXAMPLE </title-example>
2890
-
2891
-
2892
-
2893
- <title-example-xref lang="en">Example </title-example-xref>
2894
- <title-example-xref lang="fr">Exemple </title-example-xref>
2895
-
2896
- <title-section lang="en">Section </title-section>
2897
- <title-section lang="fr">Section </title-section>
2898
-
2899
- <title-inequality lang="en">Inequality </title-inequality>
2900
- <title-inequality lang="fr">Inequality </title-inequality>
2901
-
2902
- <title-equation lang="en">Equation </title-equation>
2903
- <title-equation lang="fr">Equation </title-equation>
2904
2124
 
2905
2125
  <title-annex lang="en">Annex </title-annex>
2906
2126
  <title-annex lang="fr">Annexe </title-annex>
@@ -2908,17 +2128,7 @@
2908
2128
  <title-annex lang="zh">Annex </title-annex>
2909
2129
 
2910
2130
 
2911
-
2912
- <title-appendix lang="en">Appendix </title-appendix>
2913
- <title-appendix lang="fr">Appendix </title-appendix>
2914
-
2915
- <title-clause lang="en">Clause </title-clause>
2916
- <title-clause lang="fr">Article </title-clause>
2917
-
2918
- <title-clause lang="zh">Clause </title-clause>
2919
-
2920
-
2921
-
2131
+
2922
2132
  <title-edition lang="en">
2923
2133
 
2924
2134
  <xsl:text>Edition </xsl:text>
@@ -2926,9 +2136,7 @@
2926
2136
 
2927
2137
  </title-edition>
2928
2138
 
2929
- <title-formula lang="en">Formula </title-formula>
2930
- <title-formula lang="fr">Formula </title-formula>
2931
-
2139
+
2932
2140
  <title-toc lang="en">
2933
2141
 
2934
2142
  <xsl:text>Contents</xsl:text>
@@ -2967,13 +2175,6 @@
2967
2175
  </title-part>
2968
2176
  <title-part lang="zh">第 # 部分:</title-part>
2969
2177
 
2970
- <title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
2971
- <title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
2972
-
2973
- <title-note-to-entry lang="zh">Note # to entry: </title-note-to-entry>
2974
-
2975
-
2976
-
2977
2178
  <title-modified lang="en">modified</title-modified>
2978
2179
  <title-modified lang="fr">modifiée</title-modified>
2979
2180
 
@@ -2981,20 +2182,23 @@
2981
2182
 
2982
2183
 
2983
2184
 
2984
- <title-source lang="en">SOURCE</title-source>
2185
+ <title-source lang="en">
2186
+
2187
+ <xsl:text>SOURCE</xsl:text>
2188
+
2189
+
2190
+ </title-source>
2985
2191
 
2986
2192
  <title-keywords lang="en">Keywords</title-keywords>
2987
2193
 
2988
2194
  <title-deprecated lang="en">DEPRECATED</title-deprecated>
2989
2195
  <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2990
-
2991
- <title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
2992
-
2196
+
2993
2197
  <title-list-tables lang="en">List of Tables</title-list-tables>
2994
2198
 
2995
2199
  <title-list-figures lang="en">List of Figures</title-list-figures>
2996
2200
 
2997
- <title-recommendation lang="en">Recommendation </title-recommendation>
2201
+ <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
2998
2202
 
2999
2203
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
3000
2204
 
@@ -3004,8 +2208,6 @@
3004
2208
 
3005
2209
  <title-in lang="en">in </title-in>
3006
2210
 
3007
- <title-box lang="en">Box </title-box>
3008
-
3009
2211
  <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
3010
2212
  <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
3011
2213
 
@@ -3028,7 +2230,11 @@
3028
2230
  <title-warning lang="zh">警告</title-warning>
3029
2231
 
3030
2232
  <title-amendment lang="en">AMENDMENT</title-amendment>
3031
- </xsl:variable><xsl:template name="getTitle">
2233
+
2234
+ <title-continued lang="en">(continued)</title-continued>
2235
+ <title-continued lang="fr">(continué)</title-continued>
2236
+
2237
+ </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
3032
2238
  <xsl:param name="name"/>
3033
2239
  <xsl:variable name="lang">
3034
2240
  <xsl:call-template name="getLang"/>
@@ -3045,13 +2251,15 @@
3045
2251
  </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="link-style">
3046
2252
 
3047
2253
 
2254
+
3048
2255
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2256
+ <xsl:attribute name="white-space">pre</xsl:attribute>
2257
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
3049
2258
 
3050
2259
 
3051
2260
 
3052
2261
 
3053
- <xsl:attribute name="font-family">Courier</xsl:attribute>
3054
- <xsl:attribute name="font-size">9pt</xsl:attribute>
2262
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
3055
2263
  <xsl:attribute name="margin-top">5pt</xsl:attribute>
3056
2264
  <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
3057
2265
 
@@ -3059,103 +2267,377 @@
3059
2267
 
3060
2268
 
3061
2269
 
3062
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
3063
2270
 
3064
-
3065
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3066
- <xsl:attribute name="margin-top">5pt</xsl:attribute>
3067
- <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2271
+ </xsl:attribute-set><xsl:attribute-set name="permission-style">
3068
2272
 
2273
+ </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
3069
2274
 
3070
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2275
+ </xsl:attribute-set><xsl:attribute-set name="permission-label-style">
2276
+
2277
+ </xsl:attribute-set><xsl:attribute-set name="requirement-style">
2278
+
2279
+ </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
3071
2280
 
2281
+ </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
2282
+
2283
+ </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
2284
+ </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
2285
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
2286
+
2287
+
2288
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
2289
+
2290
+
2291
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
2292
+
2293
+ </xsl:attribute-set><xsl:attribute-set name="termexample-style">
3072
2294
 
3073
2295
  <xsl:attribute name="margin-top">14pt</xsl:attribute>
3074
- <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
2296
+ <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
3075
2297
 
3076
2298
 
3077
- </xsl:attribute-set><xsl:template match="text()">
3078
- <xsl:value-of select="."/>
3079
- </xsl:template><xsl:template match="*[local-name()='br']">
3080
- <xsl:value-of select="$linebreak"/>
3081
- </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
3082
- <!-- <xsl:call-template name="add-zero-spaces"/> -->
3083
- <xsl:call-template name="add-zero-spaces-java"/>
3084
- </xsl:template><xsl:template match="*[local-name()='table']">
3085
-
3086
- <xsl:variable name="simple-table">
3087
- <!-- <xsl:copy> -->
3088
- <xsl:call-template name="getSimpleTable"/>
3089
- <!-- </xsl:copy> -->
3090
- </xsl:variable>
3091
-
3092
- <!-- DEBUG -->
3093
- <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
3094
- <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
3095
-
3096
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3097
2299
 
3098
- <!-- <xsl:if test="$namespace = 'iso'">
3099
- <fo:block space-before="6pt">&#xA0;</fo:block>
3100
- </xsl:if> -->
3101
2300
 
3102
- <xsl:if test="not(ancestor::*[local-name() = 'preface'])">
3103
- <!-- <fo:block space-before="2pt">&#xA0;</fo:block> -->
3104
- </xsl:if>
3105
2301
 
3106
- <xsl:choose>
3107
- <xsl:when test="@unnumbered = 'true'"/>
3108
- <xsl:otherwise>
3109
-
3110
-
3111
-
3112
- <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
3113
-
3114
-
3115
- <xsl:if test="ancestor::*[local-name() = 'preface']">
3116
- <xsl:attribute name="visibility">hidden</xsl:attribute>
3117
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3118
- <xsl:attribute name="font-size">1pt</xsl:attribute>
3119
- </xsl:if>
3120
- <xsl:if test="not(ancestor::*[local-name() = 'preface'])">
3121
- <xsl:attribute name="space-before">12pt</xsl:attribute>
3122
- </xsl:if>
3123
-
3124
-
3125
-
3126
-
3127
-
3128
-
3129
-
3130
- <xsl:variable name="title-table">
3131
- <xsl:call-template name="getTitle">
3132
- <xsl:with-param name="name" select="'title-table'"/>
3133
- </xsl:call-template>
3134
- </xsl:variable>
3135
- <xsl:value-of select="$title-table"/>
3136
-
3137
- <xsl:call-template name="getTableNumber"/>
3138
-
3139
-
3140
- <xsl:if test="*[local-name()='name']">
3141
-
3142
-
3143
-
3144
- <xsl:text> — </xsl:text>
3145
-
3146
- <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
3147
- </xsl:if>
3148
- </fo:block>
3149
-
3150
-
3151
- <xsl:call-template name="fn_name_display"/>
3152
-
3153
- </xsl:otherwise>
3154
- </xsl:choose>
3155
2302
 
3156
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3157
2303
 
3158
- <!-- <xsl:variable name="cols-count">
2304
+ </xsl:attribute-set><xsl:attribute-set name="example-style">
2305
+
2306
+
2307
+
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+ </xsl:attribute-set><xsl:attribute-set name="example-body-style">
2317
+
2318
+
2319
+
2320
+ </xsl:attribute-set><xsl:attribute-set name="example-name-style">
2321
+
2322
+
2323
+
2324
+
2325
+ <xsl:attribute name="padding-right">9mm</xsl:attribute>
2326
+
2327
+
2328
+
2329
+
2330
+
2331
+
2332
+
2333
+
2334
+
2335
+
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+ </xsl:attribute-set><xsl:attribute-set name="example-p-style">
2342
+
2343
+
2344
+
2345
+
2346
+
2347
+
2348
+
2349
+
2350
+
2351
+
2352
+
2353
+
2354
+
2355
+ </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
2356
+
2357
+ <xsl:attribute name="padding-right">10mm</xsl:attribute>
2358
+
2359
+
2360
+
2361
+
2362
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2363
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2364
+
2365
+
2366
+
2367
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2368
+ <xsl:attribute name="text-align">center</xsl:attribute>
2369
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2370
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
2371
+
2372
+
2373
+
2374
+
2375
+
2376
+
2377
+
2378
+
2379
+
2380
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2381
+
2382
+
2383
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2384
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2385
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2386
+
2387
+
2388
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2389
+
2390
+
2391
+ <xsl:attribute name="margin-top">14pt</xsl:attribute>
2392
+ <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
2393
+
2394
+
2395
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
2396
+
2397
+
2398
+
2399
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
2400
+
2401
+
2402
+
2403
+
2404
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
2405
+
2406
+
2407
+
2408
+
2409
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2410
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2411
+ <xsl:attribute name="margin-bottom">9pt</xsl:attribute>
2412
+
2413
+
2414
+
2415
+
2416
+
2417
+
2418
+
2419
+
2420
+
2421
+
2422
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
2423
+
2424
+
2425
+
2426
+
2427
+ <xsl:attribute name="padding-right">6mm</xsl:attribute>
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
2438
+
2439
+
2440
+
2441
+
2442
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+
2452
+
2453
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2454
+
2455
+
2456
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2457
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2458
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2459
+
2460
+
2461
+
2462
+
2463
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2464
+
2465
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
2466
+
2467
+
2468
+
2469
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2470
+ <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2471
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2472
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2473
+
2474
+
2475
+
2476
+
2477
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2478
+
2479
+
2480
+
2481
+ <xsl:attribute name="text-align">right</xsl:attribute>
2482
+ <xsl:attribute name="margin-top">15pt</xsl:attribute>
2483
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2484
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2485
+
2486
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2487
+
2488
+
2489
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2490
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2491
+
2492
+
2493
+
2494
+
2495
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
2496
+
2497
+
2498
+
2499
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
2500
+
2501
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2502
+
2503
+
2504
+
2505
+
2506
+
2507
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2508
+ <xsl:attribute name="text-align">center</xsl:attribute>
2509
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2510
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2511
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2512
+
2513
+
2514
+
2515
+
2516
+
2517
+
2518
+
2519
+
2520
+
2521
+
2522
+
2523
+
2524
+
2525
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
2526
+
2527
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
2528
+ <xsl:attribute name="text-align">center</xsl:attribute>
2529
+
2530
+
2531
+
2532
+
2533
+
2534
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2535
+
2536
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2537
+
2538
+
2539
+
2540
+ <xsl:attribute name="width">75%</xsl:attribute>
2541
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
2542
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
2543
+
2544
+
2545
+
2546
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
2547
+
2548
+
2549
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
2550
+
2551
+
2552
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
2553
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2554
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2555
+ <xsl:attribute name="text-align">center</xsl:attribute>
2556
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2557
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2558
+
2559
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
2560
+
2561
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
2562
+
2563
+
2564
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2565
+
2566
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2567
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2568
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2569
+
2570
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
2571
+
2572
+
2573
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2574
+
2575
+ </xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
2576
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2577
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2578
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2579
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2580
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2581
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2582
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2583
+
2584
+ <!-- Normative references -->
2585
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
2586
+ <!-- Terms and definitions -->
2587
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
2588
+ <!-- Another main sections -->
2589
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
2590
+ <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2591
+ <!-- Bibliography -->
2592
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
2593
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2594
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2595
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2596
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2597
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2598
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2599
+ </xsl:template><xsl:template name="processMainSectionsDefault">
2600
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2601
+
2602
+ <!-- Normative references -->
2603
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2604
+ <!-- Terms and definitions -->
2605
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
2606
+ <!-- Another main sections -->
2607
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
2608
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2609
+ <!-- Bibliography -->
2610
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2611
+ </xsl:template><xsl:template match="text()">
2612
+ <xsl:value-of select="."/>
2613
+ </xsl:template><xsl:template match="*[local-name()='br']">
2614
+ <xsl:value-of select="$linebreak"/>
2615
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2616
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
2617
+ <xsl:call-template name="add-zero-spaces-java"/>
2618
+ </xsl:template><xsl:template match="*[local-name()='table']">
2619
+
2620
+ <xsl:variable name="simple-table">
2621
+ <xsl:call-template name="getSimpleTable"/>
2622
+ </xsl:variable>
2623
+
2624
+
2625
+
2626
+
2627
+
2628
+ <!-- $namespace = 'iso' or -->
2629
+
2630
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2631
+
2632
+
2633
+
2634
+ <xsl:call-template name="fn_name_display"/>
2635
+
2636
+
2637
+
2638
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2639
+
2640
+ <!-- <xsl:variable name="cols-count">
3159
2641
  <xsl:choose>
3160
2642
  <xsl:when test="*[local-name()='thead']">
3161
2643
  <xsl:call-template name="calculate-columns-numbers">
@@ -3209,6 +2691,7 @@
3209
2691
 
3210
2692
 
3211
2693
 
2694
+
3212
2695
 
3213
2696
 
3214
2697
 
@@ -3225,10 +2708,13 @@
3225
2708
 
3226
2709
 
3227
2710
 
2711
+
3228
2712
  <!-- <xsl:if test="ancestor::*[local-name()='preface']"> -->
3229
2713
  <xsl:attribute name="font-size">8pt</xsl:attribute>
3230
2714
 
3231
2715
 
2716
+
2717
+
3232
2718
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
3233
2719
  <xsl:choose>
3234
2720
  <xsl:when test=". = 1 or . = 0">
@@ -3253,33 +2739,16 @@
3253
2739
 
3254
2740
 
3255
2741
 
2742
+
2743
+
3256
2744
  </fo:block-container>
3257
- </xsl:template><xsl:template name="getTableNumber">
3258
- <xsl:choose>
3259
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
3260
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
3261
- </xsl:when>
3262
- <xsl:when test="ancestor::*[local-name()='annex']">
3263
-
3264
-
3265
-
3266
- <xsl:number format="A." count="*[local-name()='annex']"/><xsl:number format="1"/>
3267
-
2745
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2746
+ <xsl:if test="normalize-space() != ''">
2747
+ <fo:block xsl:use-attribute-sets="table-name-style">
3268
2748
 
3269
-
3270
-
3271
-
3272
-
3273
- </xsl:when>
3274
- <xsl:otherwise>
3275
-
3276
- <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata']) and not(ancestor::*[local-name()='preface'])] [not(@unnumbered) or @unnumbered != 'true']"/>
3277
-
3278
-
3279
- </xsl:otherwise>
3280
- </xsl:choose>
3281
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
3282
- <xsl:apply-templates/>
2749
+ <xsl:apply-templates/>
2750
+ </fo:block>
2751
+ </xsl:if>
3283
2752
  </xsl:template><xsl:template name="calculate-columns-numbers">
3284
2753
  <xsl:param name="table-row"/>
3285
2754
  <xsl:variable name="columns-count" select="count($table-row/*)"/>
@@ -3394,10 +2863,25 @@
3394
2863
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3395
2864
  <xsl:param name="cols-count"/>
3396
2865
  <!-- font-weight="bold" -->
3397
- <fo:table-header>
3398
-
2866
+ <fo:table-header>
2867
+
3399
2868
  <xsl:apply-templates/>
3400
2869
  </fo:table-header>
2870
+ </xsl:template><xsl:template name="table-header-title">
2871
+ <xsl:param name="cols-count"/>
2872
+ <!-- row for title -->
2873
+ <fo:table-row>
2874
+ <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">
2875
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
2876
+ <xsl:for-each select="ancestor::*[local-name()='table'][1]">
2877
+ <xsl:call-template name="fn_name_display"/>
2878
+ </xsl:for-each>
2879
+ <fo:block text-align="right" font-style="italic">
2880
+ <xsl:text> </xsl:text>
2881
+ <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
2882
+ </fo:block>
2883
+ </fo:table-cell>
2884
+ </fo:table-row>
3401
2885
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
3402
2886
  <fo:table-body>
3403
2887
  <xsl:apply-templates/>
@@ -3473,6 +2957,8 @@
3473
2957
  </xsl:choose>
3474
2958
  </xsl:variable>
3475
2959
 
2960
+
2961
+
3476
2962
  <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3477
2963
  <xsl:with-param name="cols-count" select="$cols-count"/>
3478
2964
  </xsl:apply-templates>
@@ -3482,6 +2968,8 @@
3482
2968
  </xsl:call-template>
3483
2969
 
3484
2970
  <fo:table-body>
2971
+
2972
+
3485
2973
  <xsl:apply-templates/>
3486
2974
  <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3487
2975
 
@@ -3510,11 +2998,21 @@
3510
2998
 
3511
2999
  </xsl:if>
3512
3000
 
3001
+
3002
+
3513
3003
 
3514
3004
  <xsl:apply-templates/>
3515
3005
  </fo:table-row>
3516
3006
  </xsl:template><xsl:template match="*[local-name()='th']">
3517
3007
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3008
+ <xsl:attribute name="text-align">
3009
+ <xsl:choose>
3010
+ <xsl:when test="@align">
3011
+ <xsl:value-of select="@align"/>
3012
+ </xsl:when>
3013
+ <xsl:otherwise>center</xsl:otherwise>
3014
+ </xsl:choose>
3015
+ </xsl:attribute>
3518
3016
 
3519
3017
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
3520
3018
 
@@ -3530,6 +3028,9 @@
3530
3028
 
3531
3029
 
3532
3030
 
3031
+
3032
+
3033
+
3533
3034
  <xsl:if test="@colspan">
3534
3035
  <xsl:attribute name="number-columns-spanned">
3535
3036
  <xsl:value-of select="@colspan"/>
@@ -3540,12 +3041,32 @@
3540
3041
  <xsl:value-of select="@rowspan"/>
3541
3042
  </xsl:attribute>
3542
3043
  </xsl:if>
3044
+ <xsl:call-template name="display-align"/>
3543
3045
  <fo:block>
3544
3046
  <xsl:apply-templates/>
3545
3047
  </fo:block>
3546
3048
  </fo:table-cell>
3049
+ </xsl:template><xsl:template name="display-align">
3050
+ <xsl:if test="@valign">
3051
+ <xsl:attribute name="display-align">
3052
+ <xsl:choose>
3053
+ <xsl:when test="@valign = 'top'">before</xsl:when>
3054
+ <xsl:when test="@valign = 'middle'">center</xsl:when>
3055
+ <xsl:when test="@valign = 'bottom'">after</xsl:when>
3056
+ <xsl:otherwise>before</xsl:otherwise>
3057
+ </xsl:choose>
3058
+ </xsl:attribute>
3059
+ </xsl:if>
3547
3060
  </xsl:template><xsl:template match="*[local-name()='td']">
3548
3061
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3062
+ <xsl:attribute name="text-align">
3063
+ <xsl:choose>
3064
+ <xsl:when test="@align">
3065
+ <xsl:value-of select="@align"/>
3066
+ </xsl:when>
3067
+ <xsl:otherwise>left</xsl:otherwise>
3068
+ </xsl:choose>
3069
+ </xsl:attribute>
3549
3070
  <!-- and ancestor::*[local-name() = 'thead'] -->
3550
3071
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3551
3072
 
@@ -3555,8 +3076,7 @@
3555
3076
  <xsl:attribute name="border">solid black 0</xsl:attribute>
3556
3077
  </xsl:if>
3557
3078
 
3558
-
3559
-
3079
+
3560
3080
 
3561
3081
  <xsl:attribute name="border">solid black 0.5pt</xsl:attribute>
3562
3082
  <xsl:if test="ancestor::*[local-name()='preface']">
@@ -3566,6 +3086,8 @@
3566
3086
 
3567
3087
 
3568
3088
 
3089
+
3090
+
3569
3091
  <xsl:if test="@colspan">
3570
3092
  <xsl:attribute name="number-columns-spanned">
3571
3093
  <xsl:value-of select="@colspan"/>
@@ -3576,24 +3098,12 @@
3576
3098
  <xsl:value-of select="@rowspan"/>
3577
3099
  </xsl:attribute>
3578
3100
  </xsl:if>
3579
- <fo:block>
3580
-
3101
+ <xsl:call-template name="display-align"/>
3102
+ <fo:block>
3581
3103
  <xsl:apply-templates/>
3582
- </fo:block>
3583
- <!-- <xsl:choose>
3584
- <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
3585
- <xsl:apply-templates />
3586
- </xsl:when>
3587
- <xsl:otherwise>
3588
- <fo:block>
3589
- <xsl:apply-templates />
3590
- </fo:block>
3591
- </xsl:otherwise>
3592
- </xsl:choose> -->
3593
-
3594
-
3104
+ </fo:block>
3595
3105
  </fo:table-cell>
3596
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3106
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3597
3107
 
3598
3108
 
3599
3109
  <fo:block font-size="10pt" margin-bottom="12pt">
@@ -3608,26 +3118,14 @@
3608
3118
 
3609
3119
 
3610
3120
 
3611
- <xsl:variable name="title-note">
3612
- <xsl:call-template name="getTitle">
3613
- <xsl:with-param name="name" select="'title-note'"/>
3614
- </xsl:call-template>
3615
- </xsl:variable>
3616
- <xsl:value-of select="$title-note"/>
3617
-
3618
- <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
3619
- <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
3620
- <xsl:number count="*[local-name()='note'][ancestor::*[@id = $id]]" level="any"/>
3621
- </xsl:if>
3121
+
3122
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3622
3123
 
3623
-
3624
-
3625
-
3626
3124
  </fo:inline>
3627
3125
  <xsl:apply-templates mode="process"/>
3628
3126
  </fo:block>
3629
3127
 
3630
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3128
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3631
3129
  <xsl:apply-templates/>
3632
3130
  </xsl:template><xsl:template name="fn_display">
3633
3131
  <xsl:variable name="references">
@@ -3693,7 +3191,7 @@
3693
3191
  true <!-- and (not(@class) or @class !='pseudocode') -->
3694
3192
  </xsl:variable>
3695
3193
  <xsl:variable name="references">
3696
- <xsl:for-each select=".//*[local-name()='fn']">
3194
+ <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3697
3195
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3698
3196
  <xsl:apply-templates/>
3699
3197
  </fn>
@@ -3802,6 +3300,7 @@
3802
3300
 
3803
3301
 
3804
3302
 
3303
+
3805
3304
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3806
3305
 
3807
3306
  <xsl:value-of select="@reference"/>
@@ -3812,131 +3311,145 @@
3812
3311
  <xsl:apply-templates/>
3813
3312
  </fo:inline>
3814
3313
  </xsl:template><xsl:template match="*[local-name()='dl']">
3815
- <xsl:variable name="parent" select="local-name(..)"/>
3816
-
3817
- <xsl:variable name="key_iso">
3818
-
3819
- <xsl:if test="$parent = 'figure' or $parent = 'formula'">true</xsl:if>
3820
- <!-- and (not(../@class) or ../@class !='pseudocode') -->
3821
- </xsl:variable>
3822
-
3823
- <xsl:choose>
3824
- <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3314
+ <fo:block-container margin-left="0mm">
3315
+ <xsl:if test="parent::*[local-name() = 'note']">
3316
+ <xsl:attribute name="margin-left">
3317
+ <xsl:choose>
3318
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3319
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3320
+ </xsl:choose>
3321
+ </xsl:attribute>
3322
+
3323
+ </xsl:if>
3324
+ <fo:block-container margin-left="0mm">
3325
+
3326
+ <xsl:variable name="parent" select="local-name(..)"/>
3327
+
3328
+ <xsl:variable name="key_iso">
3329
+
3330
+ <xsl:if test="$parent = 'figure' or $parent = 'formula'">true</xsl:if>
3331
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
3332
+ </xsl:variable>
3825
3333
 
3826
- <fo:block text-align="left">
3334
+ <xsl:choose>
3335
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3827
3336
 
3828
- <xsl:attribute name="margin-bottom">15pt</xsl:attribute>
3337
+ <fo:block text-align="left">
3338
+
3339
+ <xsl:attribute name="margin-bottom">15pt</xsl:attribute>
3340
+
3341
+
3342
+ <xsl:variable name="title-where">
3343
+ <xsl:call-template name="getTitle">
3344
+ <xsl:with-param name="name" select="'title-where'"/>
3345
+ </xsl:call-template>
3346
+ </xsl:variable>
3347
+ <xsl:value-of select="$title-where"/>
3348
+ </fo:block>
3349
+ <fo:block>
3350
+
3351
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3352
+
3353
+ <xsl:text> </xsl:text>
3354
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3355
+ </fo:block>
3829
3356
 
3830
3357
 
3831
- <xsl:variable name="title-where">
3832
- <xsl:call-template name="getTitle">
3833
- <xsl:with-param name="name" select="'title-where'"/>
3834
- </xsl:call-template>
3835
- </xsl:variable>
3836
- <xsl:value-of select="$title-where"/>
3837
- </fo:block>
3358
+ </xsl:when>
3359
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3360
+ <fo:block margin-bottom="12pt" text-align="left">
3361
+
3362
+
3363
+ <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
3364
+
3365
+
3366
+
3367
+ <xsl:variable name="title-where">
3368
+ <xsl:call-template name="getTitle">
3369
+ <xsl:with-param name="name" select="'title-where'"/>
3370
+ </xsl:call-template>
3371
+ </xsl:variable>
3372
+ <xsl:value-of select="$title-where"/>
3373
+ </fo:block>
3374
+ </xsl:when>
3375
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3376
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3377
+
3378
+
3379
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
3380
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
3381
+
3382
+
3383
+ <xsl:variable name="title-key">
3384
+ <xsl:call-template name="getTitle">
3385
+ <xsl:with-param name="name" select="'title-key'"/>
3386
+ </xsl:call-template>
3387
+ </xsl:variable>
3388
+ <xsl:value-of select="$title-key"/>
3389
+ </fo:block>
3390
+ </xsl:when>
3391
+ </xsl:choose>
3392
+
3393
+ <!-- a few components -->
3394
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
3838
3395
  <fo:block>
3839
3396
 
3840
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
3841
3397
 
3842
- <xsl:text> </xsl:text>
3843
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3844
- </fo:block>
3845
-
3846
-
3847
- </xsl:when>
3848
- <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3849
- <fo:block margin-bottom="12pt" text-align="left">
3850
-
3851
-
3852
- <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
3853
-
3854
-
3855
-
3856
- <xsl:variable name="title-where">
3857
- <xsl:call-template name="getTitle">
3858
- <xsl:with-param name="name" select="'title-where'"/>
3859
- </xsl:call-template>
3860
- </xsl:variable>
3861
- <xsl:value-of select="$title-where"/>
3862
- </fo:block>
3863
- </xsl:when>
3864
- <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3865
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3866
-
3867
-
3868
- <xsl:attribute name="font-size">8pt</xsl:attribute>
3869
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
3870
-
3871
-
3872
- <xsl:variable name="title-key">
3873
- <xsl:call-template name="getTitle">
3874
- <xsl:with-param name="name" select="'title-key'"/>
3875
- </xsl:call-template>
3876
- </xsl:variable>
3877
- <xsl:value-of select="$title-key"/>
3878
- </fo:block>
3879
- </xsl:when>
3880
- </xsl:choose>
3881
-
3882
- <!-- a few components -->
3883
- <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
3884
- <fo:block>
3885
-
3886
-
3887
-
3888
-
3889
- <fo:block>
3890
-
3891
-
3892
-
3893
-
3894
- <fo:table width="95%" table-layout="fixed">
3895
3398
 
3896
- <xsl:choose>
3897
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3898
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3899
- </xsl:when>
3900
- <xsl:when test="normalize-space($key_iso) = 'true'">
3901
- <xsl:attribute name="font-size">10pt</xsl:attribute>
3902
-
3903
- <xsl:attribute name="font-size">8pt</xsl:attribute>
3399
+
3400
+ <fo:block>
3401
+
3402
+
3403
+
3404
+
3405
+ <fo:table width="95%" table-layout="fixed">
3904
3406
 
3905
- </xsl:when>
3906
- </xsl:choose>
3907
- <!-- create virtual html table for dl/[dt and dd] -->
3908
- <xsl:variable name="html-table">
3909
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3910
- <xsl:element name="{$ns}:table">
3911
- <tbody>
3912
- <xsl:apply-templates mode="dl"/>
3913
- </tbody>
3914
- </xsl:element>
3915
- </xsl:variable>
3916
- <!-- html-table<xsl:copy-of select="$html-table"/> -->
3917
- <xsl:variable name="colwidths">
3918
- <xsl:call-template name="calculate-column-widths">
3919
- <xsl:with-param name="cols-count" select="2"/>
3920
- <xsl:with-param name="table" select="$html-table"/>
3921
- </xsl:call-template>
3922
- </xsl:variable>
3923
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3924
- <xsl:variable name="maxlength_dt">
3925
- <xsl:call-template name="getMaxLength_dt"/>
3926
- </xsl:variable>
3927
- <xsl:call-template name="setColumnWidth_dl">
3928
- <xsl:with-param name="colwidths" select="$colwidths"/>
3929
- <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
3930
- </xsl:call-template>
3931
- <fo:table-body>
3932
- <xsl:apply-templates>
3933
- <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
3934
- </xsl:apply-templates>
3935
- </fo:table-body>
3936
- </fo:table>
3937
- </fo:block>
3938
- </fo:block>
3939
- </xsl:if>
3407
+ <xsl:choose>
3408
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3409
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3410
+ </xsl:when>
3411
+ <xsl:when test="normalize-space($key_iso) = 'true'">
3412
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3413
+
3414
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
3415
+
3416
+ </xsl:when>
3417
+ </xsl:choose>
3418
+ <!-- create virtual html table for dl/[dt and dd] -->
3419
+ <xsl:variable name="html-table">
3420
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3421
+ <xsl:element name="{$ns}:table">
3422
+ <tbody>
3423
+ <xsl:apply-templates mode="dl"/>
3424
+ </tbody>
3425
+ </xsl:element>
3426
+ </xsl:variable>
3427
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
3428
+ <xsl:variable name="colwidths">
3429
+ <xsl:call-template name="calculate-column-widths">
3430
+ <xsl:with-param name="cols-count" select="2"/>
3431
+ <xsl:with-param name="table" select="$html-table"/>
3432
+ </xsl:call-template>
3433
+ </xsl:variable>
3434
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3435
+ <xsl:variable name="maxlength_dt">
3436
+ <xsl:call-template name="getMaxLength_dt"/>
3437
+ </xsl:variable>
3438
+ <xsl:call-template name="setColumnWidth_dl">
3439
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3440
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
3441
+ </xsl:call-template>
3442
+ <fo:table-body>
3443
+ <xsl:apply-templates>
3444
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
3445
+ </xsl:apply-templates>
3446
+ </fo:table-body>
3447
+ </fo:table>
3448
+ </fo:block>
3449
+ </fo:block>
3450
+ </xsl:if>
3451
+ </fo:block-container>
3452
+ </fo:block-container>
3940
3453
  </xsl:template><xsl:template name="setColumnWidth_dl">
3941
3454
  <xsl:param name="colwidths"/>
3942
3455
  <xsl:param name="maxlength_dt"/>
@@ -3991,7 +3504,7 @@
3991
3504
  <xsl:value-of select="string-length(normalize-space(.))"/>
3992
3505
  </xsl:if>
3993
3506
  </xsl:for-each>
3994
- </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
3507
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
3995
3508
  <xsl:param name="key_iso"/>
3996
3509
 
3997
3510
  <!-- <tr>
@@ -4007,12 +3520,7 @@
4007
3520
  <xsl:if test="normalize-space($key_iso) = 'true'">
4008
3521
  <xsl:attribute name="margin-top">0</xsl:attribute>
4009
3522
  </xsl:if>
4010
- <xsl:variable name="title-note">
4011
- <xsl:call-template name="getTitle">
4012
- <xsl:with-param name="name" select="'title-note'"/>
4013
- </xsl:call-template>
4014
- </xsl:variable>
4015
- <xsl:value-of select="$title-note"/>
3523
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4016
3524
  </fo:block>
4017
3525
  </fo:table-cell>
4018
3526
  <fo:table-cell>
@@ -4038,6 +3546,7 @@
4038
3546
  <xsl:param name="key_iso"/>
4039
3547
 
4040
3548
  <fo:table-row>
3549
+
4041
3550
  <fo:table-cell>
4042
3551
 
4043
3552
  <fo:block margin-top="6pt">
@@ -4067,14 +3576,36 @@
4067
3576
  <fo:table-cell>
4068
3577
  <fo:block>
4069
3578
 
4070
-
3579
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3580
+ <xsl:if test="local-name(*[1]) != 'stem'">
3581
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3582
+ </xsl:if>
3583
+ </xsl:if> -->
4071
3584
 
4072
3585
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4073
3586
 
4074
3587
  </fo:block>
4075
3588
  </fo:table-cell>
4076
3589
  </fo:table-row>
4077
-
3590
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3591
+ <xsl:if test="local-name(*[1]) = 'stem'">
3592
+ <fo:table-row>
3593
+ <fo:table-cell>
3594
+ <fo:block margin-top="6pt">
3595
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3596
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3597
+ </xsl:if>
3598
+ <xsl:text>&#xA0;</xsl:text>
3599
+ </fo:block>
3600
+ </fo:table-cell>
3601
+ <fo:table-cell>
3602
+ <fo:block>
3603
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3604
+ </fo:block>
3605
+ </fo:table-cell>
3606
+ </fo:table-row>
3607
+ </xsl:if>
3608
+ </xsl:if> -->
4078
3609
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4079
3610
  <xsl:apply-templates/>
4080
3611
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
@@ -4085,7 +3616,7 @@
4085
3616
  <fo:inline font-style="italic">
4086
3617
  <xsl:apply-templates/>
4087
3618
  </fo:inline>
4088
- </xsl:template><xsl:template match="*[local-name()='strong']">
3619
+ </xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
4089
3620
  <fo:inline font-weight="bold">
4090
3621
  <xsl:apply-templates/>
4091
3622
  </fo:inline>
@@ -4098,7 +3629,32 @@
4098
3629
  <xsl:apply-templates/>
4099
3630
  </fo:inline>
4100
3631
  </xsl:template><xsl:template match="*[local-name()='tt']">
4101
- <fo:inline font-family="Courier" font-size="10pt">
3632
+ <fo:inline xsl:use-attribute-sets="tt-style">
3633
+ <xsl:variable name="_font-size">
3634
+
3635
+
3636
+
3637
+ 10
3638
+
3639
+
3640
+
3641
+
3642
+
3643
+
3644
+
3645
+
3646
+
3647
+
3648
+ </xsl:variable>
3649
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
3650
+ <xsl:if test="$font-size != ''">
3651
+ <xsl:attribute name="font-size">
3652
+ <xsl:choose>
3653
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3654
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3655
+ </xsl:choose>
3656
+ </xsl:attribute>
3657
+ </xsl:if>
4102
3658
  <xsl:apply-templates/>
4103
3659
  </fo:inline>
4104
3660
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -4425,17 +3981,24 @@
4425
3981
  <xsl:value-of select="substring($str, 2)"/>
4426
3982
  </xsl:template><xsl:template match="mathml:math">
4427
3983
  <fo:inline font-family="STIX2Math">
4428
- <fo:instream-foreign-object fox:alt-text="Math">
4429
- <xsl:copy-of select="."/>
4430
- </fo:instream-foreign-object>
3984
+ <xsl:variable name="mathml">
3985
+ <xsl:apply-templates select="." mode="mathml"/>
3986
+ </xsl:variable>
3987
+ <fo:instream-foreign-object fox:alt-text="Math">
3988
+ <!-- <xsl:copy-of select="."/> -->
3989
+ <xsl:copy-of select="xalan:nodeset($mathml)"/>
3990
+ </fo:instream-foreign-object>
4431
3991
  </fo:inline>
4432
- </xsl:template><xsl:template match="*[local-name()='localityStack']">
4433
- <xsl:for-each select="*[local-name()='locality']">
4434
- <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
4435
- <xsl:apply-templates select="."/>
4436
- <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
4437
- </xsl:for-each>
4438
- </xsl:template><xsl:template match="*[local-name()='link']" name="link">
3992
+ </xsl:template><xsl:template match="@*|node()" mode="mathml">
3993
+ <xsl:copy>
3994
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
3995
+ </xsl:copy>
3996
+ </xsl:template><xsl:template match="mathml:mtext" mode="mathml">
3997
+ <xsl:copy>
3998
+ <!-- replace start and end spaces to non-break space -->
3999
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
4000
+ </xsl:copy>
4001
+ </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
4439
4002
  <xsl:variable name="target">
4440
4003
  <xsl:choose>
4441
4004
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -4465,51 +4028,20 @@
4465
4028
  </xsl:otherwise>
4466
4029
  </xsl:choose>
4467
4030
  </fo:inline>
4468
- </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4469
- <fo:block xsl:use-attribute-sets="sourcecode-style">
4470
- <!-- <xsl:choose>
4471
- <xsl:when test="@lang = 'en'"></xsl:when>
4472
- <xsl:otherwise> -->
4473
- <xsl:attribute name="white-space">pre</xsl:attribute>
4474
- <xsl:attribute name="wrap-option">wrap</xsl:attribute>
4475
- <!-- </xsl:otherwise>
4476
- </xsl:choose> -->
4477
- <xsl:apply-templates/>
4478
- </fo:block>
4479
4031
  </xsl:template><xsl:template match="*[local-name()='bookmark']">
4480
4032
  <fo:inline id="{@id}"/>
4481
4033
  </xsl:template><xsl:template match="*[local-name()='appendix']">
4482
4034
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4483
- <xsl:variable name="title-appendix">
4484
- <xsl:call-template name="getTitle">
4485
- <xsl:with-param name="name" select="'title-appendix'"/>
4486
- </xsl:call-template>
4487
- </xsl:variable>
4488
- <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
4489
4035
  <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4490
4036
  </fo:block>
4491
4037
  <xsl:apply-templates/>
4492
4038
  </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4493
4039
  <fo:inline><xsl:apply-templates/></fo:inline>
4494
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
4495
- <fo:block xsl:use-attribute-sets="appendix-example-style">
4496
- <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
4497
- <xsl:variable name="title-example">
4498
- <xsl:call-template name="getTitle">
4499
- <xsl:with-param name="name" select="'title-example'"/>
4500
- </xsl:call-template>
4501
- </xsl:variable>
4502
- <xsl:value-of select="$title-example"/>
4503
- <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
4504
- <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
4505
- </xsl:if>
4506
- <xsl:if test="*[local-name()='name']">
4507
- <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
4508
- </xsl:if>
4040
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
4041
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
4042
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4509
4043
  </fo:block>
4510
4044
  <xsl:apply-templates/>
4511
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
4512
- <fo:inline><xsl:apply-templates/></fo:inline>
4513
4045
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
4514
4046
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4515
4047
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -4540,39 +4072,990 @@
4540
4072
  <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
4541
4073
  </xsl:choose>
4542
4074
  <xsl:apply-templates/>
4543
- </xsl:template><xsl:template name="convertDate">
4544
- <xsl:param name="date"/>
4545
- <xsl:param name="format" select="'short'"/>
4546
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
4547
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
4548
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
4549
- <xsl:variable name="monthStr">
4550
- <xsl:choose>
4551
- <xsl:when test="$month = '01'">January</xsl:when>
4552
- <xsl:when test="$month = '02'">February</xsl:when>
4553
- <xsl:when test="$month = '03'">March</xsl:when>
4554
- <xsl:when test="$month = '04'">April</xsl:when>
4555
- <xsl:when test="$month = '05'">May</xsl:when>
4556
- <xsl:when test="$month = '06'">June</xsl:when>
4557
- <xsl:when test="$month = '07'">July</xsl:when>
4558
- <xsl:when test="$month = '08'">August</xsl:when>
4559
- <xsl:when test="$month = '09'">September</xsl:when>
4560
- <xsl:when test="$month = '10'">October</xsl:when>
4561
- <xsl:when test="$month = '11'">November</xsl:when>
4562
- <xsl:when test="$month = '12'">December</xsl:when>
4563
- </xsl:choose>
4564
- </xsl:variable>
4565
- <xsl:variable name="result">
4566
- <xsl:choose>
4567
- <xsl:when test="$format = 'short' or $day = ''">
4568
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
4569
- </xsl:when>
4570
- <xsl:otherwise>
4571
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
4572
- </xsl:otherwise>
4573
- </xsl:choose>
4574
- </xsl:variable>
4575
- <xsl:value-of select="$result"/>
4075
+ </xsl:template><xsl:template match="*[local-name() = 'xref']">
4076
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4077
+
4078
+ <xsl:apply-templates/>
4079
+ </fo:basic-link>
4080
+ </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
4081
+ <fo:block-container margin-left="0mm">
4082
+ <xsl:if test="parent::*[local-name() = 'note']">
4083
+ <xsl:attribute name="margin-left">
4084
+ <xsl:choose>
4085
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
4086
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
4087
+ </xsl:choose>
4088
+ </xsl:attribute>
4089
+
4090
+ </xsl:if>
4091
+ <fo:block-container margin-left="0mm">
4092
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
4093
+ <xsl:apply-templates/>
4094
+ </fo:block>
4095
+ </fo:block-container>
4096
+ </fo:block-container>
4097
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
4098
+ <fo:inline>
4099
+ <xsl:apply-templates/>
4100
+ </fo:inline>
4101
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']/*[local-name() = 'stem']">
4102
+ <fo:inline>
4103
+ <xsl:apply-templates/>
4104
+ </fo:inline>
4105
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
4106
+ <xsl:if test="normalize-space() != ''">
4107
+ <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
4108
+ </xsl:if>
4109
+ </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
4110
+
4111
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
4112
+
4113
+
4114
+
4115
+
4116
+ <fo:block-container margin-left="0mm">
4117
+
4118
+
4119
+
4120
+
4121
+
4122
+
4123
+
4124
+
4125
+ <fo:block>
4126
+
4127
+
4128
+
4129
+
4130
+ <fo:inline xsl:use-attribute-sets="note-name-style">
4131
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4132
+ </fo:inline>
4133
+ <xsl:apply-templates/>
4134
+ </fo:block>
4135
+
4136
+
4137
+ </fo:block-container>
4138
+ </fo:block-container>
4139
+
4140
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
4141
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
4142
+ <xsl:choose>
4143
+ <xsl:when test="$num = 1">
4144
+ <fo:inline xsl:use-attribute-sets="note-p-style">
4145
+ <xsl:apply-templates/>
4146
+ </fo:inline>
4147
+ </xsl:when>
4148
+ <xsl:otherwise>
4149
+ <fo:block xsl:use-attribute-sets="note-p-style">
4150
+ <xsl:apply-templates/>
4151
+ </fo:block>
4152
+ </xsl:otherwise>
4153
+ </xsl:choose>
4154
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']">
4155
+ <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
4156
+ <fo:inline xsl:use-attribute-sets="termnote-name-style">
4157
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4158
+ </fo:inline>
4159
+ <xsl:apply-templates/>
4160
+ </fo:block>
4161
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
4162
+ <xsl:param name="sfx"/>
4163
+ <xsl:variable name="suffix">
4164
+ <xsl:choose>
4165
+ <xsl:when test="$sfx != ''">
4166
+ <xsl:value-of select="$sfx"/>
4167
+ </xsl:when>
4168
+ <xsl:otherwise>
4169
+
4170
+
4171
+ </xsl:otherwise>
4172
+ </xsl:choose>
4173
+ </xsl:variable>
4174
+ <xsl:if test="normalize-space() != ''">
4175
+ <xsl:apply-templates/>
4176
+ <xsl:value-of select="$suffix"/>
4177
+ </xsl:if>
4178
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
4179
+ <xsl:param name="sfx"/>
4180
+ <xsl:variable name="suffix">
4181
+ <xsl:choose>
4182
+ <xsl:when test="$sfx != ''">
4183
+ <xsl:value-of select="$sfx"/>
4184
+ </xsl:when>
4185
+ <xsl:otherwise>
4186
+
4187
+ <xsl:text>:</xsl:text>
4188
+
4189
+
4190
+ </xsl:otherwise>
4191
+ </xsl:choose>
4192
+ </xsl:variable>
4193
+ <xsl:if test="normalize-space() != ''">
4194
+ <xsl:apply-templates/>
4195
+ <xsl:value-of select="$suffix"/>
4196
+ </xsl:if>
4197
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
4198
+ <fo:inline><xsl:apply-templates/></fo:inline>
4199
+ </xsl:template><xsl:template match="*[local-name() = 'terms']">
4200
+ <fo:block id="{@id}">
4201
+ <xsl:apply-templates/>
4202
+ </fo:block>
4203
+ </xsl:template><xsl:template match="*[local-name() = 'term']">
4204
+ <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4205
+
4206
+
4207
+
4208
+ <xsl:apply-templates/>
4209
+ </fo:block>
4210
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4211
+ <xsl:if test="normalize-space() != ''">
4212
+ <fo:inline>
4213
+ <xsl:apply-templates/>
4214
+ <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4215
+ <xsl:text>.</xsl:text>
4216
+ </xsl:if> -->
4217
+ </fo:inline>
4218
+ </xsl:if>
4219
+ </xsl:template><xsl:template match="*[local-name() = 'figure']">
4220
+ <fo:block-container id="{@id}">
4221
+ <fo:block>
4222
+ <xsl:apply-templates/>
4223
+ </fo:block>
4224
+ <xsl:call-template name="fn_display_figure"/>
4225
+ <xsl:for-each select="*[local-name() = 'note']">
4226
+ <xsl:call-template name="note"/>
4227
+ </xsl:for-each>
4228
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4229
+ </fo:block-container>
4230
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4231
+ <fo:block id="{@id}">
4232
+ <xsl:apply-templates/>
4233
+ </fo:block>
4234
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4235
+ <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4236
+ <xsl:apply-templates/>
4237
+ </fo:block>
4238
+ </xsl:template><xsl:template match="*[local-name() = 'image']">
4239
+ <fo:block xsl:use-attribute-sets="image-style">
4240
+
4241
+
4242
+ <xsl:variable name="src">
4243
+ <xsl:choose>
4244
+ <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
4245
+ <xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
4246
+ </xsl:when>
4247
+ <xsl:otherwise>
4248
+ <xsl:value-of select="@src"/>
4249
+ </xsl:otherwise>
4250
+ </xsl:choose>
4251
+ </xsl:variable>
4252
+
4253
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
4254
+ </fo:block>
4255
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4256
+ <xsl:apply-templates mode="contents"/>
4257
+ <xsl:text> </xsl:text>
4258
+ </xsl:template><xsl:template match="text()" mode="contents">
4259
+ <xsl:value-of select="."/>
4260
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
4261
+ <xsl:if test="normalize-space() != ''">
4262
+ <fo:block xsl:use-attribute-sets="figure-name-style">
4263
+
4264
+ <xsl:apply-templates/>
4265
+ </fo:block>
4266
+ </xsl:if>
4267
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
4268
+ <xsl:apply-templates mode="contents_item"/>
4269
+ <!-- <xsl:text> </xsl:text> -->
4270
+ </xsl:template><xsl:template name="getSection">
4271
+ <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4272
+ </xsl:template><xsl:template name="getName">
4273
+ <xsl:choose>
4274
+ <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
4275
+ <xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
4276
+ </xsl:when>
4277
+ <xsl:otherwise>
4278
+ <xsl:copy-of select="*[local-name() = 'title']/node()"/>
4279
+ </xsl:otherwise>
4280
+ </xsl:choose>
4281
+ </xsl:template><xsl:template name="insertTitleAsListItem">
4282
+ <xsl:param name="provisional-distance-between-starts" select="'9.5mm'"/>
4283
+ <xsl:variable name="section">
4284
+ <xsl:for-each select="..">
4285
+ <xsl:call-template name="getSection"/>
4286
+ </xsl:for-each>
4287
+ </xsl:variable>
4288
+ <fo:list-block provisional-distance-between-starts="{$provisional-distance-between-starts}">
4289
+ <fo:list-item>
4290
+ <fo:list-item-label end-indent="label-end()">
4291
+ <fo:block>
4292
+ <xsl:value-of select="$section"/>
4293
+ </fo:block>
4294
+ </fo:list-item-label>
4295
+ <fo:list-item-body start-indent="body-start()">
4296
+ <fo:block>
4297
+ <xsl:choose>
4298
+ <xsl:when test="*[local-name() = 'tab']">
4299
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4300
+ </xsl:when>
4301
+ <xsl:otherwise>
4302
+ <xsl:apply-templates/>
4303
+ </xsl:otherwise>
4304
+ </xsl:choose>
4305
+ </fo:block>
4306
+ </fo:list-item-body>
4307
+ </fo:list-item>
4308
+ </fo:list-block>
4309
+ </xsl:template><xsl:template name="extractTitle">
4310
+ <xsl:choose>
4311
+ <xsl:when test="*[local-name() = 'tab']">
4312
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4313
+ </xsl:when>
4314
+ <xsl:otherwise>
4315
+ <xsl:apply-templates/>
4316
+ </xsl:otherwise>
4317
+ </xsl:choose>
4318
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
4319
+ <xsl:text> </xsl:text>
4320
+ </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
4321
+ <xsl:copy>
4322
+ <xsl:apply-templates mode="contents_item"/>
4323
+ </xsl:copy>
4324
+ </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4325
+ <xsl:text> </xsl:text>
4326
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4327
+
4328
+ <fo:block-container margin-left="0mm">
4329
+ <xsl:if test="parent::*[local-name() = 'note']">
4330
+ <xsl:attribute name="margin-left">
4331
+ <xsl:choose>
4332
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
4333
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
4334
+ </xsl:choose>
4335
+ </xsl:attribute>
4336
+
4337
+ </xsl:if>
4338
+ <fo:block-container margin-left="0mm">
4339
+
4340
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
4341
+ <xsl:variable name="_font-size">
4342
+
4343
+
4344
+
4345
+ 9
4346
+
4347
+
4348
+
4349
+
4350
+
4351
+
4352
+
4353
+
4354
+
4355
+
4356
+ </xsl:variable>
4357
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
4358
+ <xsl:if test="$font-size != ''">
4359
+ <xsl:attribute name="font-size">
4360
+ <xsl:choose>
4361
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
4362
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
4363
+ </xsl:choose>
4364
+ </xsl:attribute>
4365
+ </xsl:if>
4366
+ <xsl:apply-templates/>
4367
+ </fo:block>
4368
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4369
+
4370
+ </fo:block-container>
4371
+ </fo:block-container>
4372
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
4373
+ <xsl:variable name="text">
4374
+ <xsl:call-template name="add-zero-spaces-equal"/>
4375
+ </xsl:variable>
4376
+ <xsl:call-template name="add-zero-spaces-java">
4377
+ <xsl:with-param name="text" select="$text"/>
4378
+ </xsl:call-template>
4379
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
4380
+ <xsl:if test="normalize-space() != ''">
4381
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
4382
+ <xsl:apply-templates/>
4383
+ </fo:block>
4384
+ </xsl:if>
4385
+ </xsl:template><xsl:template match="*[local-name() = 'permission']">
4386
+ <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
4387
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4388
+ <xsl:apply-templates/>
4389
+ </fo:block>
4390
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
4391
+ <xsl:if test="normalize-space() != ''">
4392
+ <fo:block xsl:use-attribute-sets="permission-name-style">
4393
+ <xsl:apply-templates/>
4394
+
4395
+ </fo:block>
4396
+ </xsl:if>
4397
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'label']">
4398
+ <fo:block xsl:use-attribute-sets="permission-label-style">
4399
+ <xsl:apply-templates/>
4400
+ </fo:block>
4401
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']">
4402
+ <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
4403
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4404
+ <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
4405
+ <xsl:apply-templates select="@obligation" mode="presentation"/>
4406
+ <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
4407
+ <xsl:apply-templates/>
4408
+ </fo:block>
4409
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
4410
+ <xsl:if test="normalize-space() != ''">
4411
+ <fo:block xsl:use-attribute-sets="requirement-name-style">
4412
+
4413
+ <xsl:apply-templates/>
4414
+
4415
+ </fo:block>
4416
+ </xsl:if>
4417
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
4418
+ <fo:block xsl:use-attribute-sets="requirement-label-style">
4419
+ <xsl:apply-templates/>
4420
+ </fo:block>
4421
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
4422
+ <fo:block>
4423
+ <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4424
+ </fo:block>
4425
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4426
+ <fo:block xsl:use-attribute-sets="requirement-subject-style">
4427
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4428
+ </fo:block>
4429
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
4430
+ <fo:block xsl:use-attribute-sets="requirement-inherit-style">
4431
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4432
+ </fo:block>
4433
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4434
+ <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4435
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4436
+ <xsl:apply-templates/>
4437
+ </fo:block>
4438
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
4439
+ <xsl:if test="normalize-space() != ''">
4440
+ <fo:block xsl:use-attribute-sets="recommendation-name-style">
4441
+ <xsl:apply-templates/>
4442
+
4443
+ </fo:block>
4444
+ </xsl:if>
4445
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'label']">
4446
+ <fo:block xsl:use-attribute-sets="recommendation-label-style">
4447
+ <xsl:apply-templates/>
4448
+ </fo:block>
4449
+ </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4450
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
4451
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4452
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
4453
+ </xsl:if>
4454
+ <fo:block-container margin-left="0mm" margin-right="0mm">
4455
+ <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
4456
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4457
+ <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
4458
+ </xsl:if>
4459
+ <xsl:variable name="simple-table">
4460
+ <xsl:call-template name="getSimpleTable"/>
4461
+ </xsl:variable>
4462
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4463
+ <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
4464
+ <!-- <fo:table-column column-width="35mm"/>
4465
+ <fo:table-column column-width="115mm"/> -->
4466
+ <fo:table-column column-width="30%"/>
4467
+ <fo:table-column column-width="70%"/>
4468
+ </xsl:if>
4469
+ <xsl:apply-templates mode="requirement"/>
4470
+ </fo:table>
4471
+ <!-- fn processing -->
4472
+ <xsl:if test=".//*[local-name() = 'fn']">
4473
+ <xsl:for-each select="*[local-name() = 'tbody']">
4474
+ <fo:block font-size="90%" border-bottom="1pt solid black">
4475
+ <xsl:call-template name="fn_display"/>
4476
+ </fo:block>
4477
+ </xsl:for-each>
4478
+ </xsl:if>
4479
+ </fo:block-container>
4480
+ </fo:block-container>
4481
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
4482
+ <fo:table-header>
4483
+ <xsl:apply-templates mode="requirement"/>
4484
+ </fo:table-header>
4485
+ </xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
4486
+ <fo:table-body>
4487
+ <xsl:apply-templates mode="requirement"/>
4488
+ </fo:table-body>
4489
+ </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
4490
+ <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
4491
+ <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
4492
+ <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
4493
+ <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
4494
+ </xsl:if>
4495
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
4496
+ <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
4497
+ </xsl:if>
4498
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
4499
+ <xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
4500
+ </xsl:if>
4501
+ <xsl:apply-templates mode="requirement"/>
4502
+ </fo:table-row>
4503
+ </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
4504
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
4505
+ <xsl:attribute name="text-align">
4506
+ <xsl:choose>
4507
+ <xsl:when test="@align">
4508
+ <xsl:value-of select="@align"/>
4509
+ </xsl:when>
4510
+ <xsl:otherwise>left</xsl:otherwise>
4511
+ </xsl:choose>
4512
+ </xsl:attribute>
4513
+ <xsl:if test="@colspan">
4514
+ <xsl:attribute name="number-columns-spanned">
4515
+ <xsl:value-of select="@colspan"/>
4516
+ </xsl:attribute>
4517
+ </xsl:if>
4518
+ <xsl:if test="@rowspan">
4519
+ <xsl:attribute name="number-rows-spanned">
4520
+ <xsl:value-of select="@rowspan"/>
4521
+ </xsl:attribute>
4522
+ </xsl:if>
4523
+ <xsl:call-template name="display-align"/>
4524
+
4525
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4526
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4527
+ <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
4528
+ </xsl:if>
4529
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
4530
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4531
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4532
+ </xsl:if> -->
4533
+
4534
+ <fo:block>
4535
+ <xsl:apply-templates/>
4536
+ </fo:block>
4537
+ </fo:table-cell>
4538
+ </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
4539
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
4540
+ <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4541
+ <xsl:attribute name="padding">0mm</xsl:attribute>
4542
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
4543
+ </xsl:if>
4544
+ <xsl:attribute name="text-align">
4545
+ <xsl:choose>
4546
+ <xsl:when test="@align">
4547
+ <xsl:value-of select="@align"/>
4548
+ </xsl:when>
4549
+ <xsl:otherwise>left</xsl:otherwise>
4550
+ </xsl:choose>
4551
+ </xsl:attribute>
4552
+ <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
4553
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
4554
+ </xsl:if>
4555
+ <xsl:if test="@colspan">
4556
+ <xsl:attribute name="number-columns-spanned">
4557
+ <xsl:value-of select="@colspan"/>
4558
+ </xsl:attribute>
4559
+ </xsl:if>
4560
+ <xsl:if test="@rowspan">
4561
+ <xsl:attribute name="number-rows-spanned">
4562
+ <xsl:value-of select="@rowspan"/>
4563
+ </xsl:attribute>
4564
+ </xsl:if>
4565
+ <xsl:call-template name="display-align"/>
4566
+
4567
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4568
+ <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
4569
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4570
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
4571
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4572
+ </xsl:if>
4573
+ </xsl:if> -->
4574
+ <!-- 2nd line and below -->
4575
+
4576
+ <fo:block>
4577
+ <xsl:apply-templates/>
4578
+ </fo:block>
4579
+ </fo:table-cell>
4580
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
4581
+ <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
4582
+ <xsl:apply-templates/>
4583
+ </fo:block>
4584
+ </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
4585
+ <fo:block> <!-- margin-bottom="10pt" -->
4586
+ <xsl:apply-templates/>
4587
+ </fo:block>
4588
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']">
4589
+ <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
4590
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4591
+ <xsl:apply-templates/>
4592
+ </fo:block>
4593
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
4594
+ <xsl:if test="normalize-space() != ''">
4595
+ <fo:inline xsl:use-attribute-sets="termexample-name-style">
4596
+ <xsl:apply-templates/>
4597
+ </fo:inline>
4598
+ </xsl:if>
4599
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
4600
+ <fo:inline><xsl:apply-templates/></fo:inline>
4601
+ </xsl:template><xsl:template match="*[local-name() = 'example']">
4602
+ <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
4603
+
4604
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4605
+
4606
+ <xsl:variable name="element">
4607
+
4608
+ inline
4609
+ <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
4610
+ </xsl:variable>
4611
+
4612
+ <xsl:choose>
4613
+ <xsl:when test="contains(normalize-space($element), 'block')">
4614
+ <fo:block xsl:use-attribute-sets="example-body-style">
4615
+ <xsl:apply-templates/>
4616
+ </fo:block>
4617
+ </xsl:when>
4618
+ <xsl:otherwise>
4619
+ <fo:inline>
4620
+ <xsl:apply-templates/>
4621
+ </fo:inline>
4622
+ </xsl:otherwise>
4623
+ </xsl:choose>
4624
+
4625
+ </fo:block>
4626
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
4627
+
4628
+ <xsl:variable name="element">
4629
+
4630
+ inline
4631
+ </xsl:variable>
4632
+ <xsl:choose>
4633
+ <xsl:when test="ancestor::*[local-name() = 'appendix']">
4634
+ <fo:inline>
4635
+ <xsl:apply-templates/>
4636
+ </fo:inline>
4637
+ </xsl:when>
4638
+ <xsl:when test="normalize-space($element) = 'block'">
4639
+ <fo:block xsl:use-attribute-sets="example-name-style">
4640
+ <xsl:apply-templates/>
4641
+ </fo:block>
4642
+ </xsl:when>
4643
+ <xsl:otherwise>
4644
+ <fo:inline xsl:use-attribute-sets="example-name-style">
4645
+ <xsl:apply-templates/>
4646
+ </fo:inline>
4647
+ </xsl:otherwise>
4648
+ </xsl:choose>
4649
+
4650
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
4651
+
4652
+ <xsl:variable name="element">
4653
+ block
4654
+
4655
+ </xsl:variable>
4656
+ <xsl:choose>
4657
+ <xsl:when test="normalize-space($element) = 'block'">
4658
+ <fo:block xsl:use-attribute-sets="example-p-style">
4659
+
4660
+ <xsl:apply-templates/>
4661
+ </fo:block>
4662
+ </xsl:when>
4663
+ <xsl:otherwise>
4664
+ <fo:inline xsl:use-attribute-sets="example-p-style">
4665
+ <xsl:apply-templates/>
4666
+ </fo:inline>
4667
+ </xsl:otherwise>
4668
+ </xsl:choose>
4669
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']">
4670
+ <fo:block xsl:use-attribute-sets="termsource-style">
4671
+ <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
4672
+ <xsl:variable name="termsource_text">
4673
+ <xsl:apply-templates/>
4674
+ </xsl:variable>
4675
+
4676
+ <xsl:choose>
4677
+ <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
4678
+ <xsl:apply-templates/>
4679
+ </xsl:when>
4680
+ <xsl:otherwise>
4681
+
4682
+ <xsl:text>[</xsl:text>
4683
+
4684
+ <xsl:apply-templates/>
4685
+
4686
+ <xsl:text>]</xsl:text>
4687
+
4688
+ </xsl:otherwise>
4689
+ </xsl:choose>
4690
+ </fo:block>
4691
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
4692
+ <xsl:if test="normalize-space() != ''">
4693
+ <xsl:value-of select="."/>
4694
+ </xsl:if>
4695
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
4696
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4697
+
4698
+ <fo:inline>
4699
+
4700
+ <xsl:call-template name="getTitle">
4701
+ <xsl:with-param name="name" select="'title-source'"/>
4702
+ </xsl:call-template>
4703
+ <xsl:text>: </xsl:text>
4704
+ </fo:inline>
4705
+
4706
+ <fo:inline xsl:use-attribute-sets="origin-style">
4707
+ <xsl:apply-templates/>
4708
+ </fo:inline>
4709
+ </fo:basic-link>
4710
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
4711
+ <fo:inline><xsl:apply-templates/></fo:inline>
4712
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
4713
+ <xsl:if test="normalize-space() != ''">
4714
+ <xsl:value-of select="."/>
4715
+ </xsl:if>
4716
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
4717
+ <fo:block-container margin-left="0mm">
4718
+ <xsl:if test="parent::*[local-name() = 'note']">
4719
+ <xsl:if test="not(ancestor::*[local-name() = 'table'])">
4720
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
4721
+ </xsl:if>
4722
+ </xsl:if>
4723
+
4724
+ <fo:block-container margin-left="0mm">
4725
+
4726
+ <fo:block xsl:use-attribute-sets="quote-style">
4727
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
4728
+ </fo:block>
4729
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
4730
+ <fo:block xsl:use-attribute-sets="quote-source-style">
4731
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
4732
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
4733
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
4734
+ </fo:block>
4735
+ </xsl:if>
4736
+
4737
+ </fo:block-container>
4738
+ </fo:block-container>
4739
+ </xsl:template><xsl:template match="*[local-name() = 'source']">
4740
+ <xsl:if test="../*[local-name() = 'author']">
4741
+ <xsl:text>, </xsl:text>
4742
+ </xsl:if>
4743
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4744
+ <xsl:apply-templates/>
4745
+ </fo:basic-link>
4746
+ </xsl:template><xsl:template match="*[local-name() = 'author']">
4747
+ <xsl:text>— </xsl:text>
4748
+ <xsl:apply-templates/>
4749
+ </xsl:template><xsl:template match="*[local-name() = 'eref']">
4750
+ <fo:inline xsl:use-attribute-sets="eref-style">
4751
+ <xsl:if test="@type = 'footnote'">
4752
+
4753
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4754
+ <xsl:attribute name="font-size">80%</xsl:attribute>
4755
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4756
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
4757
+
4758
+
4759
+ </xsl:if>
4760
+
4761
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4762
+
4763
+ <xsl:if test="@type = 'inline'">
4764
+
4765
+
4766
+
4767
+ </xsl:if>
4768
+
4769
+
4770
+ <xsl:apply-templates/>
4771
+ </fo:basic-link>
4772
+ </fo:inline>
4773
+ </xsl:template><xsl:template match="*[local-name() = 'tab']">
4774
+ <!-- zero-space char -->
4775
+ <xsl:variable name="depth">
4776
+ <xsl:call-template name="getLevel">
4777
+ <xsl:with-param name="depth" select="../@depth"/>
4778
+ </xsl:call-template>
4779
+ </xsl:variable>
4780
+
4781
+ <xsl:variable name="padding">
4782
+
4783
+
4784
+
4785
+
4786
+ <xsl:choose>
4787
+ <xsl:when test="parent::iec:appendix">5</xsl:when>
4788
+ <xsl:when test="$depth = 2 and ancestor::iec:annex">6</xsl:when>
4789
+ <xsl:when test="$depth = 2">7</xsl:when>
4790
+ <xsl:otherwise>5</xsl:otherwise>
4791
+ </xsl:choose>
4792
+
4793
+
4794
+
4795
+
4796
+
4797
+
4798
+
4799
+
4800
+
4801
+
4802
+
4803
+
4804
+
4805
+
4806
+
4807
+ </xsl:variable>
4808
+
4809
+ <xsl:variable name="padding-right">
4810
+ <xsl:choose>
4811
+ <xsl:when test="normalize-space($padding) = ''">0</xsl:when>
4812
+ <xsl:otherwise>
4813
+ <xsl:value-of select="normalize-space($padding)"/>
4814
+ </xsl:otherwise>
4815
+ </xsl:choose>
4816
+ </xsl:variable>
4817
+
4818
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
4819
+
4820
+ <xsl:choose>
4821
+ <xsl:when test="$language = 'zh'">
4822
+ <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
4823
+ </xsl:when>
4824
+ <xsl:when test="../../@inline-header = 'true'">
4825
+ <fo:inline font-size="90%">
4826
+ <xsl:call-template name="insertNonBreakSpaces">
4827
+ <xsl:with-param name="count" select="$padding-right"/>
4828
+ </xsl:call-template>
4829
+ </fo:inline>
4830
+ </xsl:when>
4831
+ <xsl:otherwise>
4832
+ <fo:inline padding-right="{$padding-right}mm">​</fo:inline>
4833
+ </xsl:otherwise>
4834
+ </xsl:choose>
4835
+
4836
+ </xsl:template><xsl:template name="insertNonBreakSpaces">
4837
+ <xsl:param name="count"/>
4838
+ <xsl:if test="$count &gt; 0">
4839
+ <xsl:text> </xsl:text>
4840
+ <xsl:call-template name="insertNonBreakSpaces">
4841
+ <xsl:with-param name="count" select="$count - 1"/>
4842
+ </xsl:call-template>
4843
+ </xsl:if>
4844
+ </xsl:template><xsl:template match="*[local-name() = 'domain']">
4845
+ <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
4846
+ <xsl:text> </xsl:text>
4847
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']">
4848
+ <fo:block xsl:use-attribute-sets="admitted-style">
4849
+ <xsl:apply-templates/>
4850
+ </fo:block>
4851
+ </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
4852
+ <xsl:variable name="title-deprecated">
4853
+ <xsl:call-template name="getTitle">
4854
+ <xsl:with-param name="name" select="'title-deprecated'"/>
4855
+ </xsl:call-template>
4856
+ </xsl:variable>
4857
+ <fo:block xsl:use-attribute-sets="deprecates-style">
4858
+ <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
4859
+ </fo:block>
4860
+ </xsl:template><xsl:template match="*[local-name() = 'definition']">
4861
+ <fo:block xsl:use-attribute-sets="definition-style">
4862
+ <xsl:apply-templates/>
4863
+ </fo:block>
4864
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]">
4865
+ <xsl:apply-templates/>
4866
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p']">
4867
+ <fo:inline> <xsl:apply-templates/></fo:inline>
4868
+ <fo:block> </fo:block>
4869
+ </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
4870
+
4871
+ <fo:block>
4872
+ <xsl:call-template name="setId"/>
4873
+
4874
+
4875
+
4876
+
4877
+
4878
+
4879
+
4880
+
4881
+
4882
+
4883
+ <xsl:apply-templates/>
4884
+ </fo:block>
4885
+
4886
+
4887
+
4888
+ </xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
4889
+ <fo:block break-after="page"/>
4890
+ <fo:block>
4891
+ <xsl:call-template name="setId"/>
4892
+ <xsl:apply-templates/>
4893
+ </fo:block>
4894
+ </xsl:template><xsl:template match="*[local-name() = 'clause']">
4895
+ <fo:block>
4896
+ <xsl:call-template name="setId"/>
4897
+ <xsl:apply-templates/>
4898
+ </fo:block>
4899
+ </xsl:template><xsl:template match="*[local-name() = 'definitions']">
4900
+ <fo:block id="{@id}">
4901
+ <xsl:apply-templates/>
4902
+ </fo:block>
4903
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
4904
+
4905
+ <fo:block id="{@id}">
4906
+ <xsl:apply-templates/>
4907
+ </fo:block>
4908
+ </xsl:template><xsl:template match="*[local-name() = 'annex']">
4909
+ <fo:block break-after="page"/>
4910
+ <fo:block id="{@id}">
4911
+
4912
+ </fo:block>
4913
+ <xsl:apply-templates/>
4914
+ </xsl:template><xsl:template match="*[local-name() = 'review']">
4915
+ <!-- comment 2019-11-29 -->
4916
+ <!-- <fo:block font-weight="bold">Review:</fo:block>
4917
+ <xsl:apply-templates /> -->
4918
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
4919
+ <!-- 0xA0 to space replacement -->
4920
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
4921
+ </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
4922
+ <fo:block-container margin-left="0mm">
4923
+ <xsl:if test="parent::*[local-name() = 'note']">
4924
+ <xsl:attribute name="margin-left">
4925
+ <xsl:choose>
4926
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
4927
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
4928
+ </xsl:choose>
4929
+ </xsl:attribute>
4930
+
4931
+ </xsl:if>
4932
+ <fo:block-container margin-left="0mm">
4933
+ <xsl:apply-templates select="." mode="ul_ol"/>
4934
+ </fo:block-container>
4935
+ </fo:block-container>
4936
+ </xsl:template><xsl:template match="*[local-name() = 'errata']">
4937
+ <!-- <row>
4938
+ <date>05-07-2013</date>
4939
+ <type>Editorial</type>
4940
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
4941
+ <pages>D-3</pages>
4942
+ </row>
4943
+ -->
4944
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
4945
+ <fo:table-column column-width="20mm"/>
4946
+ <fo:table-column column-width="23mm"/>
4947
+ <fo:table-column column-width="107mm"/>
4948
+ <fo:table-column column-width="15mm"/>
4949
+ <fo:table-body>
4950
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
4951
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
4952
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
4953
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
4954
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
4955
+ </fo:table-row>
4956
+ <xsl:apply-templates/>
4957
+ </fo:table-body>
4958
+ </fo:table>
4959
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']">
4960
+ <fo:table-row>
4961
+ <xsl:apply-templates/>
4962
+ </fo:table-row>
4963
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
4964
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
4965
+ <fo:block><xsl:apply-templates/></fo:block>
4966
+ </fo:table-cell>
4967
+ </xsl:template><xsl:template name="processBibitem">
4968
+
4969
+
4970
+
4971
+
4972
+ </xsl:template><xsl:template name="processBibitemDocId">
4973
+ <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
4974
+ <xsl:choose>
4975
+ <xsl:when test="normalize-space($_doc_ident) != ''">
4976
+ <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
4977
+ <xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
4978
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
4979
+ </xsl:if>
4980
+ <xsl:value-of select="$_doc_ident"/>
4981
+ </xsl:when>
4982
+ <xsl:otherwise>
4983
+ <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
4984
+ <xsl:if test="$type != ''">
4985
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
4986
+ </xsl:if>
4987
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
4988
+ </xsl:otherwise>
4989
+ </xsl:choose>
4990
+ </xsl:template><xsl:template name="processPersonalAuthor">
4991
+ <xsl:choose>
4992
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
4993
+ <author>
4994
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
4995
+ </author>
4996
+ </xsl:when>
4997
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
4998
+ <author>
4999
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
5000
+ <xsl:text> </xsl:text>
5001
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
5002
+ </author>
5003
+ </xsl:when>
5004
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
5005
+ <author>
5006
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
5007
+ <xsl:text> </xsl:text>
5008
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
5009
+ </author>
5010
+ </xsl:when>
5011
+ <xsl:otherwise>
5012
+ <xsl:apply-templates/>
5013
+ </xsl:otherwise>
5014
+ </xsl:choose>
5015
+ </xsl:template><xsl:template name="renderDate">
5016
+ <xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
5017
+ <xsl:value-of select="*[local-name() = 'on']"/>
5018
+ </xsl:if>
5019
+ <xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
5020
+ <xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
5021
+ </xsl:if>
5022
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
5023
+ <xsl:value-of select="translate(.,'. ','')"/>
5024
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
5025
+ <xsl:value-of select="substring(.,1,1)"/>
5026
+ </xsl:template><xsl:template name="convertDate">
5027
+ <xsl:param name="date"/>
5028
+ <xsl:param name="format" select="'short'"/>
5029
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
5030
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
5031
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
5032
+ <xsl:variable name="monthStr">
5033
+ <xsl:choose>
5034
+ <xsl:when test="$month = '01'">January</xsl:when>
5035
+ <xsl:when test="$month = '02'">February</xsl:when>
5036
+ <xsl:when test="$month = '03'">March</xsl:when>
5037
+ <xsl:when test="$month = '04'">April</xsl:when>
5038
+ <xsl:when test="$month = '05'">May</xsl:when>
5039
+ <xsl:when test="$month = '06'">June</xsl:when>
5040
+ <xsl:when test="$month = '07'">July</xsl:when>
5041
+ <xsl:when test="$month = '08'">August</xsl:when>
5042
+ <xsl:when test="$month = '09'">September</xsl:when>
5043
+ <xsl:when test="$month = '10'">October</xsl:when>
5044
+ <xsl:when test="$month = '11'">November</xsl:when>
5045
+ <xsl:when test="$month = '12'">December</xsl:when>
5046
+ </xsl:choose>
5047
+ </xsl:variable>
5048
+ <xsl:variable name="result">
5049
+ <xsl:choose>
5050
+ <xsl:when test="$format = 'short' or $day = ''">
5051
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
5052
+ </xsl:when>
5053
+ <xsl:otherwise>
5054
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
5055
+ </xsl:otherwise>
5056
+ </xsl:choose>
5057
+ </xsl:variable>
5058
+ <xsl:value-of select="$result"/>
4576
5059
  </xsl:template><xsl:template name="insertKeywords">
4577
5060
  <xsl:param name="sorting" select="'true'"/>
4578
5061
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -4670,27 +5153,49 @@
4670
5153
  </xsl:otherwise>
4671
5154
  </xsl:choose>
4672
5155
  </xsl:template><xsl:template name="getLevel">
4673
- <xsl:variable name="level_total" select="count(ancestor::*)"/>
4674
- <xsl:variable name="level">
4675
- <xsl:choose>
4676
- <xsl:when test="ancestor::*[local-name() = 'preface']">
4677
- <xsl:value-of select="$level_total - 2"/>
4678
- </xsl:when>
4679
- <xsl:when test="ancestor::*[local-name() = 'sections']">
4680
- <xsl:value-of select="$level_total - 2"/>
4681
- </xsl:when>
4682
- <xsl:when test="ancestor::*[local-name() = 'bibliography']">
4683
- <xsl:value-of select="$level_total - 2"/>
4684
- </xsl:when>
4685
- <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
4686
- <xsl:otherwise>
4687
- <xsl:value-of select="$level_total - 1"/>
4688
- </xsl:otherwise>
4689
- </xsl:choose>
4690
- </xsl:variable>
4691
- <xsl:value-of select="$level"/>
4692
- </xsl:template><xsl:template name="getSubSection">
4693
- <xsl:number format=".1" level="multiple" count="*[local-name() = 'clause']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'terms'] | *[local-name() = 'terms']/*[local-name() = 'term'] | *[local-name() = 'clause']/*[local-name() = 'term'] | *[local-name() = 'terms']/*[local-name() = 'clause'] | *[local-name() = 'terms']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'definitions'] | *[local-name() = 'clause']/*[local-name() = 'references']"/>
5156
+ <xsl:param name="depth"/>
5157
+ <xsl:choose>
5158
+ <xsl:when test="normalize-space(@depth) != ''">
5159
+ <xsl:value-of select="@depth"/>
5160
+ </xsl:when>
5161
+ <xsl:when test="normalize-space($depth) != ''">
5162
+ <xsl:value-of select="$depth"/>
5163
+ </xsl:when>
5164
+ <xsl:otherwise>
5165
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
5166
+ <xsl:variable name="level">
5167
+ <xsl:choose>
5168
+ <xsl:when test="parent::*[local-name() = 'preface']">
5169
+ <xsl:value-of select="$level_total - 1"/>
5170
+ </xsl:when>
5171
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
5172
+ <xsl:value-of select="$level_total - 2"/>
5173
+ </xsl:when>
5174
+ <!-- <xsl:when test="parent::*[local-name() = 'sections']">
5175
+ <xsl:value-of select="$level_total - 1"/>
5176
+ </xsl:when> -->
5177
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
5178
+ <xsl:value-of select="$level_total - 1"/>
5179
+ </xsl:when>
5180
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
5181
+ <xsl:value-of select="$level_total - 1"/>
5182
+ </xsl:when>
5183
+ <xsl:when test="parent::*[local-name() = 'annex']">
5184
+ <xsl:value-of select="$level_total - 1"/>
5185
+ </xsl:when>
5186
+ <xsl:when test="ancestor::*[local-name() = 'annex']">
5187
+ <xsl:value-of select="$level_total"/>
5188
+ </xsl:when>
5189
+ <xsl:when test="local-name() = 'annex'">1</xsl:when>
5190
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
5191
+ <xsl:otherwise>
5192
+ <xsl:value-of select="$level_total - 1"/>
5193
+ </xsl:otherwise>
5194
+ </xsl:choose>
5195
+ </xsl:variable>
5196
+ <xsl:value-of select="$level"/>
5197
+ </xsl:otherwise>
5198
+ </xsl:choose>
4694
5199
  </xsl:template><xsl:template name="split">
4695
5200
  <xsl:param name="pText" select="."/>
4696
5201
  <xsl:param name="sep" select="','"/>
@@ -4721,7 +5226,8 @@
4721
5226
 
4722
5227
 
4723
5228
 
4724
-
5229
+
5230
+
4725
5231
  </xsl:variable>
4726
5232
  <xsl:if test="$documentNS != $XSLNS">
4727
5233
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -4736,4 +5242,15 @@
4736
5242
  <xsl:when test="$language = 'cn'">Chinese</xsl:when>
4737
5243
  <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
4738
5244
  </xsl:choose>
5245
+ </xsl:template><xsl:template name="setId">
5246
+ <xsl:attribute name="id">
5247
+ <xsl:choose>
5248
+ <xsl:when test="@id">
5249
+ <xsl:value-of select="@id"/>
5250
+ </xsl:when>
5251
+ <xsl:otherwise>
5252
+ <xsl:value-of select="generate-id()"/>
5253
+ </xsl:otherwise>
5254
+ </xsl:choose>
5255
+ </xsl:attribute>
4739
5256
  </xsl:template></xsl:stylesheet>