metanorma-iso 1.3.21 → 1.3.26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +8 -7
  3. data/.github/workflows/ubuntu.yml +8 -7
  4. data/.github/workflows/windows.yml +8 -8
  5. data/Gemfile +2 -0
  6. data/lib/asciidoctor/iso/base.rb +22 -0
  7. data/lib/asciidoctor/iso/biblio.rng +142 -37
  8. data/lib/asciidoctor/iso/cleanup.rb +19 -2
  9. data/lib/asciidoctor/iso/front.rb +19 -72
  10. data/lib/asciidoctor/iso/front_id.rb +196 -0
  11. data/lib/asciidoctor/iso/isodoc.rng +48 -2
  12. data/lib/asciidoctor/iso/isostandard-amd.rng +98 -0
  13. data/lib/asciidoctor/iso/isostandard.rng +17 -1
  14. data/lib/asciidoctor/iso/macros.rb +21 -0
  15. data/lib/asciidoctor/iso/section.rb +18 -32
  16. data/lib/asciidoctor/iso/term_lookup_cleanup.rb +87 -0
  17. data/lib/asciidoctor/iso/validate.rb +41 -21
  18. data/lib/asciidoctor/iso/validate_requirements.rb +1 -1
  19. data/lib/asciidoctor/iso/validate_section.rb +2 -2
  20. data/lib/asciidoctor/iso/validate_style.rb +7 -6
  21. data/lib/isodoc/iso/base_convert.rb +48 -64
  22. data/lib/isodoc/iso/html/header.html +10 -6
  23. data/lib/isodoc/iso/html/html_iso_titlepage.html +27 -18
  24. data/lib/isodoc/iso/html/isodoc.scss +49 -28
  25. data/lib/isodoc/iso/html/scripts.html +23 -21
  26. data/lib/isodoc/iso/html/style-human.scss +25 -2
  27. data/lib/isodoc/iso/html/style-iso.scss +20 -2
  28. data/lib/isodoc/iso/html/word_iso_titlepage.html +23 -2
  29. data/lib/isodoc/iso/html/wordstyle.scss +80 -39
  30. data/lib/isodoc/iso/html_convert.rb +7 -9
  31. data/lib/isodoc/iso/iso.amendment.xsl +4597 -0
  32. data/lib/isodoc/iso/iso.international-standard.xsl +4597 -0
  33. data/lib/isodoc/iso/metadata.rb +74 -44
  34. data/lib/isodoc/iso/pdf_convert.rb +39 -0
  35. data/lib/isodoc/iso/sections.rb +66 -0
  36. data/lib/isodoc/iso/sts_convert.rb +29 -0
  37. data/lib/metanorma-iso.rb +2 -0
  38. data/lib/metanorma/iso/processor.rb +16 -1
  39. data/lib/metanorma/iso/version.rb +1 -1
  40. data/metanorma-iso.gemspec +4 -1
  41. data/spec/asciidoctor-iso/amd_spec.rb +726 -0
  42. data/spec/asciidoctor-iso/base_spec.rb +43 -21
  43. data/spec/asciidoctor-iso/blocks_spec.rb +21 -9
  44. data/spec/asciidoctor-iso/cleanup_spec.rb +203 -175
  45. data/spec/asciidoctor-iso/inline_spec.rb +2 -1
  46. data/spec/asciidoctor-iso/macros_spec.rb +275 -0
  47. data/spec/asciidoctor-iso/refs_spec.rb +7 -4
  48. data/spec/asciidoctor-iso/section_spec.rb +8 -8
  49. data/spec/assets/iso.xml +64 -1
  50. data/spec/isodoc/amd_spec.rb +606 -0
  51. data/spec/isodoc/i18n_spec.rb +12 -20
  52. data/spec/isodoc/inline_spec.rb +2 -2
  53. data/spec/isodoc/iso_spec.rb +1 -1
  54. data/spec/isodoc/metadata_spec.rb +12 -4
  55. data/spec/isodoc/postproc_spec.rb +20 -119
  56. data/spec/isodoc/ref_spec.rb +5 -5
  57. data/spec/isodoc/section_spec.rb +36 -13
  58. data/spec/isodoc/table_spec.rb +22 -22
  59. data/spec/isodoc/terms_spec.rb +2 -2
  60. data/spec/isodoc/xref_spec.rb +19 -19
  61. data/spec/metanorma/processor_spec.rb +2 -2
  62. data/spec/spec_helper.rb +13 -1
  63. metadata +57 -5
  64. data/asciidoctor-iso.gemspec.old +0 -50
@@ -0,0 +1,4597 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
2
+
3
+ <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
+
5
+ <xsl:param name="svg_images"/>
6
+ <xsl:variable name="images" select="document($svg_images)"/>
7
+
8
+
9
+
10
+ <xsl:key name="kfn" match="iso:p/iso:fn" use="@reference"/>
11
+
12
+
13
+
14
+ <xsl:variable name="debug">false</xsl:variable>
15
+ <xsl:variable name="pageWidth" select="'210mm'"/>
16
+ <xsl:variable name="pageHeight" select="'297mm'"/>
17
+
18
+ <xsl:variable name="copyrightText" select="concat('© ISO ', iso:iso-standard/iso:bibdata/iso:copyright/iso:from ,' – All rights reserved')"/>
19
+
20
+ <xsl:variable name="lang-1st-letter_tmp" select="substring-before(substring-after(/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-with-lang'], '('), ')')"/>
21
+ <xsl:variable name="lang-1st-letter" select="concat('(', $lang-1st-letter_tmp , ')')"/>
22
+
23
+ <!-- <xsl:variable name="ISOname" select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, ':', /iso:iso-standard/iso:bibdata/iso:copyright/iso:from , $lang-1st-letter)"/> -->
24
+ <xsl:variable name="ISOname" select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-reference']"/>
25
+
26
+ <!-- Information and documentation — Codes for transcription systems -->
27
+ <xsl:variable name="title-en" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'main']"/>
28
+ <xsl:variable name="title-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'main']"/>
29
+ <xsl:variable name="title-intro" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-intro']"/>
30
+ <xsl:variable name="title-intro-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-intro']"/>
31
+ <xsl:variable name="title-main" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-main']"/>
32
+ <xsl:variable name="title-main-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-main']"/>
33
+ <xsl:variable name="part" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@part"/>
34
+
35
+
36
+
37
+ <xsl:variable name="doctype_uppercased" select="translate(translate(/iso:iso-standard/iso:bibdata/iso:ext/iso:doctype,'-',' '), $lower,$upper)"/>
38
+
39
+ <xsl:variable name="stage" select="number(/iso:iso-standard/iso:bibdata/iso:status/iso:stage)"/>
40
+ <xsl:variable name="substage" select="number(/iso:iso-standard/iso:bibdata/iso:status/iso:substage)"/>
41
+ <xsl:variable name="stagename" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:ext/iso:stagename)"/>
42
+ <xsl:variable name="abbreviation" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:status/iso:stage/@abbreviation)"/>
43
+
44
+ <xsl:variable name="stage-abbreviation">
45
+ <xsl:choose>
46
+ <xsl:when test="$abbreviation != ''">
47
+ <xsl:value-of select="$abbreviation"/>
48
+ </xsl:when>
49
+ <xsl:when test="$stage = 0 and $substage = 0">PWI</xsl:when>
50
+ <xsl:when test="$stage = 0">NWIP</xsl:when> <!-- NWIP (NP) -->
51
+ <xsl:when test="$stage = 10">AWI</xsl:when>
52
+ <xsl:when test="$stage = 20">WD</xsl:when>
53
+ <xsl:when test="$stage = 30">CD</xsl:when>
54
+ <xsl:when test="$stage = 40">DIS</xsl:when>
55
+ <xsl:when test="$stage = 50">FDIS</xsl:when>
56
+ <xsl:when test="$stage = 60 and $substage = 0">PRF</xsl:when>
57
+ <xsl:when test="$stage = 60 and $substage = 60">IS</xsl:when>
58
+ <xsl:when test="$stage &gt;=60">published</xsl:when>
59
+ <xsl:otherwise/>
60
+ </xsl:choose>
61
+ </xsl:variable>
62
+
63
+ <xsl:variable name="stage-fullname-uppercased">
64
+ <xsl:choose>
65
+ <xsl:when test="$stagename != ''">
66
+ <xsl:value-of select="translate($stagename, $lower, $upper)"/>
67
+ </xsl:when>
68
+ <xsl:when test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP'">NEW WORK ITEM PROPOSAL</xsl:when>
69
+ <xsl:when test="$stage-abbreviation = 'PWI'">PRELIMINARY WORK ITEM</xsl:when>
70
+ <xsl:when test="$stage-abbreviation = 'AWI'">APPROVED WORK ITEM</xsl:when>
71
+ <xsl:when test="$stage-abbreviation = 'WD'">WORKING DRAFT</xsl:when>
72
+ <xsl:when test="$stage-abbreviation = 'CD'">COMMITTEE DRAFT</xsl:when>
73
+ <xsl:when test="$stage-abbreviation = 'DIS'">DRAFT INTERNATIONAL STANDARD</xsl:when>
74
+ <xsl:when test="$stage-abbreviation = 'FDIS'">FINAL DRAFT INTERNATIONAL STANDARD</xsl:when>
75
+ <xsl:otherwise><xsl:value-of select="$doctype_uppercased"/></xsl:otherwise>
76
+ </xsl:choose>
77
+ </xsl:variable>
78
+
79
+ <xsl:variable name="stagename-header-firstpage">
80
+ <xsl:choose>
81
+ <!-- <xsl:when test="$stage-abbreviation = 'PWI' or
82
+ $stage-abbreviation = 'NWIP' or
83
+ $stage-abbreviation = 'NP'">PRELIMINARY WORK ITEM</xsl:when> -->
84
+ <xsl:when test="$stage-abbreviation = 'PRF'"><xsl:value-of select="$doctype_uppercased"/></xsl:when>
85
+ <xsl:otherwise>
86
+ <xsl:value-of select="$stage-fullname-uppercased"/>
87
+ </xsl:otherwise>
88
+ </xsl:choose>
89
+ </xsl:variable>
90
+
91
+ <xsl:variable name="stagename-header-coverpage">
92
+ <xsl:choose>
93
+ <xsl:when test="$stage-abbreviation = 'DIS'">DRAFT</xsl:when>
94
+ <xsl:when test="$stage-abbreviation = 'FDIS'">FINAL DRAFT</xsl:when>
95
+ <xsl:when test="$stage-abbreviation = 'PRF'"/>
96
+ <xsl:when test="$stage-abbreviation = 'IS'"/>
97
+ <xsl:otherwise>
98
+ <xsl:value-of select="$stage-fullname-uppercased"/>
99
+ </xsl:otherwise>
100
+ </xsl:choose>
101
+ </xsl:variable>
102
+
103
+ <!-- UPPERCASED stage name -->
104
+ <!-- <item name="NWIP" show="true" header="PRELIMINARY WORK ITEM" shortname="NEW WORK ITEM PROPOSAL">NEW WORK ITEM PROPOSAL</item>
105
+ <item name="PWI" show="true" header="PRELIMINARY WORK ITEM" shortname="PRELIMINARY WORK ITEM">PRELIMINARY WORK ITEM</item>
106
+ <item name="NP" show="true" header="PRELIMINARY WORK ITEM" shortname="NEW WORK ITEM PROPOSAL">NEW WORK ITEM PROPOSAL</item>
107
+ <item name="AWI" show="true" header="APPROVED WORK ITEM" shortname="APPROVED WORK ITEM">APPROVED WORK ITEM</item>
108
+ <item name="WD" show="true" header="WORKING DRAFT" shortname="WORKING DRAFT">WORKING DRAFT</item>
109
+ <item name="CD" show="true" header="COMMITTEE DRAFT" shortname="COMMITTEE DRAFT">COMMITTEE DRAFT</item>
110
+ <item name="DIS" show="true" header="DRAFT INTERNATIONAL STANDARD" shortname="DRAFT">DRAFT INTERNATIONAL STANDARD</item>
111
+ <item name="FDIS" show="true" header="FINAL DRAFT INTERNATIONAL STANDARD" shortname="FINAL DRAFT">FINAL DRAFT INTERNATIONAL STANDARD</item>
112
+ <item name="PRF">PROOF</item> -->
113
+
114
+
115
+ <!--
116
+ <status>
117
+ <stage>30</stage>
118
+ <substage>92</substage>
119
+ </status>
120
+ The <stage> and <substage> values are well defined,
121
+ as the International Harmonized Stage Codes (https://www.iso.org/stage-codes.html):
122
+ stage 60 means published, everything before is a Draft (90 means withdrawn, but the document doesn't change anymore) -->
123
+ <xsl:variable name="isPublished">
124
+ <xsl:choose>
125
+ <xsl:when test="string($stage) = 'NaN'">false</xsl:when>
126
+ <xsl:when test="$stage &gt;=60">true</xsl:when>
127
+ <xsl:when test="normalize-space($stage-abbreviation) != ''">true</xsl:when>
128
+ <xsl:otherwise>false</xsl:otherwise>
129
+ </xsl:choose>
130
+ </xsl:variable>
131
+
132
+ <xsl:variable name="document-master-reference">
133
+ <xsl:choose>
134
+ <xsl:when test="$stage-abbreviation != ''">-publishedISO</xsl:when>
135
+ <xsl:otherwise/>
136
+ </xsl:choose>
137
+ </xsl:variable>
138
+
139
+ <xsl:variable name="force-page-count-preface">
140
+ <xsl:choose>
141
+ <xsl:when test="$document-master-reference != ''">end-on-even</xsl:when>
142
+ <xsl:otherwise>no-force</xsl:otherwise>
143
+ </xsl:choose>
144
+ </xsl:variable>
145
+
146
+ <xsl:variable name="proof-text">PROOF/ÉPREUVE</xsl:variable>
147
+
148
+ <!-- Example:
149
+ <item level="1" id="Foreword" display="true">Foreword</item>
150
+ <item id="term-script" display="false">3.2</item>
151
+ -->
152
+ <xsl:variable name="contents">
153
+ <contents>
154
+ <xsl:apply-templates select="/iso:iso-standard/iso:preface/node()" mode="contents"/>
155
+ <!-- <xsl:with-param name="sectionNum" select="'0'"/>
156
+ </xsl:apply-templates> -->
157
+ <xsl:apply-templates select="/iso:iso-standard/iso:sections/iso:clause[1]" mode="contents"> <!-- [@id = '_scope'] -->
158
+ <xsl:with-param name="sectionNum" select="'1'"/>
159
+ </xsl:apply-templates>
160
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibliography/iso:references[1]" mode="contents"> <!-- [@id = '_normative_references'] -->
161
+ <xsl:with-param name="sectionNum" select="'2'"/>
162
+ </xsl:apply-templates>
163
+ <xsl:apply-templates select="/iso:iso-standard/iso:sections/*[position() &gt; 1]" mode="contents"> <!-- @id != '_scope' -->
164
+ <xsl:with-param name="sectionNumSkew" select="'1'"/>
165
+ </xsl:apply-templates>
166
+ <xsl:apply-templates select="/iso:iso-standard/iso:annex" mode="contents"/>
167
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibliography/iso:references[position() &gt; 1]" mode="contents"/> <!-- @id = '_bibliography' -->
168
+
169
+ <xsl:apply-templates select="//iso:figure" mode="contents"/>
170
+
171
+ <xsl:apply-templates select="//iso:table" mode="contents"/>
172
+
173
+ </contents>
174
+ </xsl:variable>
175
+
176
+ <xsl:variable name="lang">
177
+ <xsl:call-template name="getLang"/>
178
+ </xsl:variable>
179
+
180
+ <xsl:template match="/">
181
+ <xsl:message>INFO: Document namespace: '<xsl:value-of select="namespace-uri(/*)"/>'</xsl:message>
182
+ <fo:root font-family="Cambria, Times New Roman, Cambria Math, HanSans" font-size="11pt" xml:lang="{$lang}"> <!-- -->
183
+ <fo:layout-master-set>
184
+
185
+ <!-- cover page -->
186
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
187
+ <fo:region-body margin-top="25.4mm" margin-bottom="25.4mm" margin-left="31.7mm" margin-right="31.7mm"/>
188
+ <fo:region-before region-name="cover-page-header" extent="25.4mm"/>
189
+ <fo:region-after/>
190
+ <fo:region-start region-name="cover-left-region" extent="31.7mm"/>
191
+ <fo:region-end region-name="cover-right-region" extent="31.7mm"/>
192
+ </fo:simple-page-master>
193
+
194
+ <fo:simple-page-master master-name="cover-page-published" page-width="{$pageWidth}" page-height="{$pageHeight}">
195
+ <fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="78mm" margin-right="18.5mm"/>
196
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
197
+ <fo:region-after region-name="cover-page-footer" extent="40mm" display-align="after"/>
198
+ <fo:region-start region-name="cover-left-region" extent="78mm"/>
199
+ <fo:region-end region-name="cover-right-region" extent="18.5mm"/>
200
+ </fo:simple-page-master>
201
+
202
+
203
+ <fo:simple-page-master master-name="cover-page-publishedISO-odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
204
+ <fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="25mm" margin-right="12.5mm"/>
205
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
206
+ <fo:region-after region-name="cover-page-footer" extent="40mm" display-align="after"/>
207
+ <fo:region-start region-name="cover-left-region" extent="25mm"/>
208
+ <fo:region-end region-name="cover-right-region" extent="12.5mm"/>
209
+ </fo:simple-page-master>
210
+ <fo:simple-page-master master-name="cover-page-publishedISO-even" page-width="{$pageWidth}" page-height="{$pageHeight}">
211
+ <fo:region-body margin-top="12.7mm" margin-bottom="40mm" margin-left="12.5mm" margin-right="25mm"/>
212
+ <fo:region-before region-name="cover-page-header" extent="12.7mm"/>
213
+ <fo:region-after region-name="cover-page-footer" extent="40mm" display-align="after"/>
214
+ <fo:region-start region-name="cover-left-region" extent="12.5mm"/>
215
+ <fo:region-end region-name="cover-right-region" extent="25mm"/>
216
+ </fo:simple-page-master>
217
+ <fo:page-sequence-master master-name="cover-page-publishedISO">
218
+ <fo:repeatable-page-master-alternatives>
219
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="cover-page-publishedISO-even"/>
220
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="cover-page-publishedISO-odd"/>
221
+ </fo:repeatable-page-master-alternatives>
222
+ </fo:page-sequence-master>
223
+
224
+
225
+ <!-- contents pages -->
226
+ <!-- odd pages -->
227
+ <fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
228
+ <fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="19mm" margin-right="19mm"/>
229
+ <fo:region-before region-name="header-odd" extent="27.4mm"/> <!-- display-align="center" -->
230
+ <fo:region-after region-name="footer-odd" extent="13mm"/>
231
+ <fo:region-start region-name="left-region" extent="19mm"/>
232
+ <fo:region-end region-name="right-region" extent="19mm"/>
233
+ </fo:simple-page-master>
234
+ <!-- even pages -->
235
+ <fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
236
+ <fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="19mm" margin-right="19mm"/>
237
+ <fo:region-before region-name="header-even" extent="27.4mm"/> <!-- display-align="center" -->
238
+ <fo:region-after region-name="footer-even" extent="13mm"/>
239
+ <fo:region-start region-name="left-region" extent="19mm"/>
240
+ <fo:region-end region-name="right-region" extent="19mm"/>
241
+ </fo:simple-page-master>
242
+ <fo:page-sequence-master master-name="preface">
243
+ <fo:repeatable-page-master-alternatives>
244
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
245
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
246
+ </fo:repeatable-page-master-alternatives>
247
+ </fo:page-sequence-master>
248
+ <fo:page-sequence-master master-name="document">
249
+ <fo:repeatable-page-master-alternatives>
250
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
251
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
252
+ </fo:repeatable-page-master-alternatives>
253
+ </fo:page-sequence-master>
254
+
255
+
256
+ <!-- first page -->
257
+ <fo:simple-page-master master-name="first-publishedISO" page-width="{$pageWidth}" page-height="{$pageHeight}">
258
+ <fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="25mm" margin-right="12.5mm"/>
259
+ <fo:region-before region-name="header-first" extent="27.4mm"/> <!-- display-align="center" -->
260
+ <fo:region-after region-name="footer-odd" extent="13mm"/>
261
+ <fo:region-start region-name="left-region" extent="25mm"/>
262
+ <fo:region-end region-name="right-region" extent="12.5mm"/>
263
+ </fo:simple-page-master>
264
+ <!-- odd pages -->
265
+ <fo:simple-page-master master-name="odd-publishedISO" page-width="{$pageWidth}" page-height="{$pageHeight}">
266
+ <fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="25mm" margin-right="12.5mm"/>
267
+ <fo:region-before region-name="header-odd" extent="27.4mm"/> <!-- display-align="center" -->
268
+ <fo:region-after region-name="footer-odd" extent="13mm"/>
269
+ <fo:region-start region-name="left-region" extent="25mm"/>
270
+ <fo:region-end region-name="right-region" extent="12.5mm"/>
271
+ </fo:simple-page-master>
272
+ <!-- even pages -->
273
+ <fo:simple-page-master master-name="even-publishedISO" page-width="{$pageWidth}" page-height="{$pageHeight}">
274
+ <fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="12.5mm" margin-right="25mm"/>
275
+ <fo:region-before region-name="header-even" extent="27.4mm"/>
276
+ <fo:region-after region-name="footer-even" extent="13mm"/>
277
+ <fo:region-start region-name="left-region" extent="12.5mm"/>
278
+ <fo:region-end region-name="right-region" extent="25mm"/>
279
+ </fo:simple-page-master>
280
+ <fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}" page-height="{$pageHeight}">
281
+ <fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="12.5mm" margin-right="25mm"/>
282
+ <fo:region-before region-name="header" extent="27.4mm"/>
283
+ <fo:region-after region-name="footer" extent="13mm"/>
284
+ <fo:region-start region-name="left" extent="12.5mm"/>
285
+ <fo:region-end region-name="right" extent="25mm"/>
286
+ </fo:simple-page-master>
287
+ <fo:page-sequence-master master-name="preface-publishedISO">
288
+ <fo:repeatable-page-master-alternatives>
289
+ <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
290
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
291
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
292
+ </fo:repeatable-page-master-alternatives>
293
+ </fo:page-sequence-master>
294
+
295
+
296
+ <fo:page-sequence-master master-name="document-publishedISO">
297
+ <fo:repeatable-page-master-alternatives>
298
+ <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
299
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
300
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
301
+ </fo:repeatable-page-master-alternatives>
302
+ </fo:page-sequence-master>
303
+
304
+ <fo:simple-page-master master-name="last-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
305
+ <fo:region-body margin-top="27.4mm" margin-bottom="13mm" margin-left="12.5mm" margin-right="25mm"/>
306
+ <fo:region-before region-name="header-even" extent="27.4mm"/>
307
+ <fo:region-after region-name="last-page-footer" extent="13mm"/>
308
+ <fo:region-start region-name="left-region" extent="12.5mm"/>
309
+ <fo:region-end region-name="right-region" extent="25mm"/>
310
+ </fo:simple-page-master>
311
+
312
+ </fo:layout-master-set>
313
+
314
+ <fo:declarations>
315
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
316
+ <pdf:dictionary type="normal" key="ViewerPreferences">
317
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
318
+ </pdf:dictionary>
319
+ </pdf:catalog>
320
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
321
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
322
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
323
+ <!-- Dublin Core properties go here -->
324
+ <dc:title><xsl:value-of select="$title-en"/></dc:title>
325
+ <dc:creator><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:contributor[iso:role/@type='author']/iso:organization/iso:name"/></dc:creator>
326
+ <dc:description>
327
+ <xsl:variable name="abstract">
328
+ <xsl:copy-of select="/iso:iso-standard/iso:bibliography/iso:references/iso:bibitem/iso:abstract//text()"/>
329
+ </xsl:variable>
330
+ <xsl:value-of select="normalize-space($abstract)"/>
331
+ </dc:description>
332
+ <pdf:Keywords>
333
+ <xsl:call-template name="insertKeywords"/>
334
+ </pdf:Keywords>
335
+ </rdf:Description>
336
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
337
+ <!-- XMP properties go here -->
338
+ <xmp:CreatorTool/>
339
+ </rdf:Description>
340
+ </rdf:RDF>
341
+ </x:xmpmeta>
342
+ </fo:declarations>
343
+
344
+ <!-- cover page -->
345
+ <xsl:choose>
346
+ <xsl:when test="$stage-abbreviation != ''">
347
+ <fo:page-sequence master-reference="cover-page-publishedISO" force-page-count="no-force">
348
+ <fo:static-content flow-name="cover-page-footer" font-size="10pt">
349
+ <fo:table table-layout="fixed" width="100%">
350
+ <fo:table-column column-width="52mm"/>
351
+ <fo:table-column column-width="7.5mm"/>
352
+ <fo:table-column column-width="112.5mm"/>
353
+ <fo:table-body>
354
+ <fo:table-row>
355
+ <fo:table-cell font-size="6.5pt" text-align="justify" display-align="after" padding-bottom="8mm"><!-- before -->
356
+ <!-- margin-top="-30mm" -->
357
+ <fo:block margin-top="-100mm">
358
+ <xsl:if test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
359
+ <fo:block margin-bottom="1.5mm">
360
+ <xsl:text>THIS DOCUMENT IS A DRAFT CIRCULATED FOR COMMENT AND APPROVAL. IT IS THEREFORE SUBJECT TO CHANGE AND MAY NOT BE REFERRED TO AS AN INTERNATIONAL STANDARD UNTIL PUBLISHED AS SUCH.</xsl:text>
361
+ </fo:block>
362
+ </xsl:if>
363
+ <xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
364
+ <fo:block margin-bottom="1.5mm">
365
+ <xsl:text>RECIPIENTS OF THIS DRAFT ARE INVITED TO
366
+ SUBMIT, WITH THEIR COMMENTS, NOTIFICATION
367
+ OF ANY RELEVANT PATENT RIGHTS OF WHICH
368
+ THEY ARE AWARE AND TO PROVIDE SUPPORTING
369
+ DOCUMENTATION.</xsl:text>
370
+ </fo:block>
371
+ <fo:block>
372
+ <xsl:text>IN ADDITION TO THEIR EVALUATION AS
373
+ BEING ACCEPTABLE FOR INDUSTRIAL, TECHNOLOGICAL,
374
+ COMMERCIAL AND USER PURPOSES,
375
+ DRAFT INTERNATIONAL STANDARDS MAY ON
376
+ OCCASION HAVE TO BE CONSIDERED IN THE
377
+ LIGHT OF THEIR POTENTIAL TO BECOME STANDARDS
378
+ TO WHICH REFERENCE MAY BE MADE IN
379
+ NATIONAL REGULATIONS.</xsl:text>
380
+ </fo:block>
381
+ </xsl:if>
382
+ </fo:block>
383
+ </fo:table-cell>
384
+ <fo:table-cell>
385
+ <fo:block> </fo:block>
386
+ </fo:table-cell>
387
+ <fo:table-cell>
388
+ <xsl:if test="$stage-abbreviation = 'DIS'">
389
+ <fo:block-container margin-top="-15mm" margin-bottom="7mm" margin-left="1mm">
390
+ <fo:block font-size="9pt" border="0.5pt solid black" fox:border-radius="5pt" padding-left="2mm" padding-top="2mm" padding-bottom="2mm">
391
+ <xsl:text>This document is circulated as received from the committee secretariat.</xsl:text>
392
+ </fo:block>
393
+ </fo:block-container>
394
+ </xsl:if>
395
+ <fo:block>
396
+ <fo:table table-layout="fixed" width="100%" border-top="1mm double black" margin-bottom="3mm">
397
+ <fo:table-column column-width="50%"/>
398
+ <fo:table-column column-width="50%"/>
399
+ <fo:table-body>
400
+ <fo:table-row height="34mm">
401
+ <fo:table-cell display-align="center">
402
+ <fo:block text-align="left" margin-top="2mm">
403
+ <xsl:variable name="docid" select="substring-before(/iso:iso-standard/iso:bibdata/iso:docidentifier, ' ')"/>
404
+ <xsl:for-each select="xalan:tokenize($docid, '/')">
405
+ <xsl:choose>
406
+ <xsl:when test=". = 'ISO'">
407
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-ISO-Logo))}" width="21mm" content-height="21mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
408
+ </xsl:when>
409
+ <xsl:when test=". = 'IEC'">
410
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-IEC-Logo))}" width="19.8mm" content-height="19.8mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
411
+ </xsl:when>
412
+ <xsl:otherwise/>
413
+ </xsl:choose>
414
+ <xsl:if test="position() != last()">
415
+ <fo:inline padding-right="1mm"> </fo:inline>
416
+ </xsl:if>
417
+ </xsl:for-each>
418
+ </fo:block>
419
+ </fo:table-cell>
420
+ <fo:table-cell display-align="center">
421
+ <fo:block text-align="right">
422
+ <fo:block>Reference number</fo:block>
423
+ <fo:block>
424
+ <xsl:value-of select="$ISOname"/>
425
+ </fo:block>
426
+ <fo:block> </fo:block>
427
+ <fo:block> </fo:block>
428
+ <fo:block><fo:inline font-size="9pt">©</fo:inline><xsl:value-of select="concat(' ISO ', iso:iso-standard/iso:bibdata/iso:copyright/iso:from)"/></fo:block>
429
+ </fo:block>
430
+ </fo:table-cell>
431
+ </fo:table-row>
432
+ </fo:table-body>
433
+ </fo:table>
434
+ </fo:block>
435
+ </fo:table-cell>
436
+ </fo:table-row>
437
+ </fo:table-body>
438
+ </fo:table>
439
+ </fo:static-content>
440
+
441
+ <xsl:choose>
442
+ <!-- COVER PAGE for DIS document only -->
443
+ <xsl:when test="$stage-abbreviation = 'DIS'">
444
+ <fo:flow flow-name="xsl-region-body">
445
+ <fo:block-container>
446
+ <fo:block margin-top="-1mm" font-size="20pt" text-align="right">
447
+ <xsl:value-of select="$stage-fullname-uppercased"/>
448
+ </fo:block>
449
+ <fo:block font-size="20pt" font-weight="bold" text-align="right">
450
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso']"/>
451
+ </fo:block>
452
+
453
+
454
+ <fo:table table-layout="fixed" width="100%" margin-top="18mm">
455
+ <fo:table-column column-width="59.5mm"/>
456
+ <fo:table-column column-width="52mm"/>
457
+ <fo:table-column column-width="59mm"/>
458
+ <fo:table-body>
459
+ <fo:table-row>
460
+ <fo:table-cell>
461
+ <fo:block> </fo:block>
462
+ </fo:table-cell>
463
+ <fo:table-cell>
464
+ <fo:block margin-bottom="3mm">ISO/TC <fo:inline font-weight="bold"><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:technical-committee/@number"/></fo:inline>
465
+ </fo:block>
466
+ </fo:table-cell>
467
+ <fo:table-cell>
468
+ <fo:block>Secretariat: <fo:inline font-weight="bold"><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:secretariat"/></fo:inline></fo:block>
469
+ </fo:table-cell>
470
+ </fo:table-row>
471
+ <fo:table-row>
472
+ <fo:table-cell>
473
+ <fo:block> </fo:block>
474
+ </fo:table-cell>
475
+ <fo:table-cell>
476
+ <fo:block>Voting begins on:</fo:block>
477
+ </fo:table-cell>
478
+ <fo:table-cell>
479
+ <fo:block>Voting terminates on:</fo:block>
480
+ </fo:table-cell>
481
+ </fo:table-row>
482
+ <fo:table-row>
483
+ <fo:table-cell>
484
+ <fo:block> </fo:block>
485
+ </fo:table-cell>
486
+ <fo:table-cell>
487
+ <fo:block font-weight="bold">
488
+ <xsl:choose>
489
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on">
490
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on"/>
491
+ </xsl:when>
492
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
493
+ </xsl:choose>
494
+ </fo:block>
495
+ </fo:table-cell>
496
+ <fo:table-cell>
497
+ <fo:block font-weight="bold">
498
+ <xsl:choose>
499
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on">
500
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on"/>
501
+ </xsl:when>
502
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
503
+ </xsl:choose>
504
+ </fo:block>
505
+ </fo:table-cell>
506
+ </fo:table-row>
507
+ </fo:table-body>
508
+ </fo:table>
509
+
510
+ <fo:block-container border-top="1mm double black" line-height="1.1" margin-top="3mm">
511
+ <fo:block margin-right="5mm">
512
+ <fo:block font-size="18pt" font-weight="bold" margin-top="6pt">
513
+ <xsl:if test="normalize-space($title-intro) != ''">
514
+ <xsl:value-of select="$title-intro"/>
515
+ <xsl:text> — </xsl:text>
516
+ </xsl:if>
517
+
518
+ <xsl:value-of select="$title-main"/>
519
+
520
+ <xsl:call-template name="printTitlePartEn"/>
521
+
522
+ <!-- <xsl:if test="normalize-space($title-part) != ''">
523
+ <xsl:if test="$part != ''">
524
+ <xsl:text> — </xsl:text>
525
+ <fo:block font-weight="normal" margin-top="6pt">
526
+ <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
527
+ <xsl:text>:</xsl:text>
528
+ </fo:block>
529
+ </xsl:if>
530
+ <xsl:value-of select="$title-part"/>
531
+ </xsl:if> -->
532
+ </fo:block>
533
+
534
+ <fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
535
+ <fo:block font-size="11pt" font-style="italic" line-height="1.5">
536
+
537
+ <xsl:if test="normalize-space($title-intro-fr) != ''">
538
+ <xsl:value-of select="$title-intro-fr"/>
539
+ <xsl:text> — </xsl:text>
540
+ </xsl:if>
541
+
542
+ <xsl:value-of select="$title-main-fr"/>
543
+
544
+ <xsl:call-template name="printTitlePartFr"/>
545
+
546
+ </fo:block>
547
+ </fo:block>
548
+ <fo:block margin-top="10mm">
549
+ <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
550
+ <xsl:if test="position() = 1"><fo:inline>ICS: </fo:inline></xsl:if>
551
+ <xsl:value-of select="."/>
552
+ <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
553
+ </xsl:for-each>
554
+ </fo:block>
555
+ </fo:block-container>
556
+
557
+
558
+ </fo:block-container>
559
+ </fo:flow>
560
+
561
+ </xsl:when>
562
+ <xsl:otherwise>
563
+
564
+ <!-- COVER PAGE for all documents except DIS -->
565
+ <fo:flow flow-name="xsl-region-body">
566
+ <fo:block-container>
567
+ <fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1"> <!-- margin-bottom="35mm" -->
568
+ <fo:table-column column-width="59.5mm"/>
569
+ <fo:table-column column-width="67.5mm"/>
570
+ <fo:table-column column-width="45.5mm"/>
571
+ <fo:table-body>
572
+ <fo:table-row>
573
+ <fo:table-cell>
574
+ <fo:block font-size="18pt">
575
+
576
+ <xsl:value-of select="translate($stagename-header-coverpage, ' ', $linebreak)"/>
577
+
578
+ <!-- if there is iteration number, then print it -->
579
+ <xsl:variable name="iteration" select="number(/iso:iso-standard/iso:bibdata/iso:status/iso:iteration)"/>
580
+
581
+ <xsl:if test="number($iteration) = $iteration and ($stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD')">
582
+ <xsl:text> </xsl:text><xsl:value-of select="$iteration"/>
583
+ </xsl:if>
584
+ <!-- <xsl:if test="$stage-name = 'draft'">DRAFT</xsl:if>
585
+ <xsl:if test="$stage-name = 'final-draft'">FINAL<xsl:value-of select="$linebreak"/>DRAFT</xsl:if> -->
586
+ </fo:block>
587
+ </fo:table-cell>
588
+ <fo:table-cell>
589
+ <fo:block text-align="left">
590
+ <xsl:value-of select="$doctype_uppercased"/>
591
+ </fo:block>
592
+ </fo:table-cell>
593
+ <fo:table-cell>
594
+ <fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
595
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso']"/>
596
+ </fo:block>
597
+ </fo:table-cell>
598
+ </fo:table-row>
599
+ <fo:table-row height="42mm">
600
+ <fo:table-cell number-columns-spanned="3" font-size="10pt" line-height="1.2">
601
+ <fo:block text-align="right">
602
+ <xsl:if test="$stage-abbreviation = 'PRF' or $stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
603
+ <xsl:call-template name="printEdition"/>
604
+ </xsl:if>
605
+ <xsl:choose>
606
+ <xsl:when test="$stage-abbreviation = 'IS'">
607
+ <xsl:value-of select="$linebreak"/>
608
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'published']"/>
609
+ </xsl:when>
610
+ <xsl:when test="$stage-abbreviation = 'published'">
611
+ <xsl:value-of select="$linebreak"/>
612
+ <xsl:value-of select="substring(/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date,1, 7)"/>
613
+ </xsl:when>
614
+ </xsl:choose>
615
+ <!-- <xsl:value-of select="$linebreak"/>
616
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
617
+ </fo:block>
618
+ </fo:table-cell>
619
+ </fo:table-row>
620
+ </fo:table-body>
621
+ </fo:table>
622
+
623
+
624
+ <fo:table table-layout="fixed" width="100%">
625
+ <fo:table-column column-width="52mm"/>
626
+ <fo:table-column column-width="7.5mm"/>
627
+ <fo:table-column column-width="112.5mm"/>
628
+ <fo:table-body>
629
+ <fo:table-row> <!-- border="1pt solid black" height="150mm" -->
630
+ <fo:table-cell font-size="11pt">
631
+ <fo:block>
632
+ <xsl:if test="$stage-abbreviation = 'FDIS'">
633
+ <fo:block-container border="0.5mm solid black" width="51mm">
634
+ <fo:block margin="2mm">
635
+ <fo:block margin-bottom="8pt">ISO/TC <fo:inline font-weight="bold"><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:technical-committee/@number"/></fo:inline></fo:block>
636
+ <fo:block margin-bottom="6pt">Secretariat: <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:secretariat"/></fo:block>
637
+ <fo:block margin-bottom="6pt">Voting begins on:<xsl:value-of select="$linebreak"/>
638
+ <fo:inline font-weight="bold">
639
+ <xsl:choose>
640
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on">
641
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-started']/iso:on"/>
642
+ </xsl:when>
643
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
644
+ </xsl:choose>
645
+ </fo:inline>
646
+ </fo:block>
647
+ <fo:block>Voting terminates on:<xsl:value-of select="$linebreak"/>
648
+ <fo:inline font-weight="bold">
649
+ <xsl:choose>
650
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on">
651
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'vote-ended']/iso:on"/>
652
+ </xsl:when>
653
+ <xsl:otherwise>YYYY-MM-DD</xsl:otherwise>
654
+ </xsl:choose>
655
+ </fo:inline>
656
+ </fo:block>
657
+ </fo:block>
658
+ </fo:block-container>
659
+ </xsl:if>
660
+ </fo:block>
661
+ </fo:table-cell>
662
+ <fo:table-cell>
663
+ <fo:block> </fo:block>
664
+ </fo:table-cell>
665
+ <fo:table-cell>
666
+ <fo:block-container border-top="1mm double black" line-height="1.1">
667
+ <fo:block margin-right="5mm">
668
+ <fo:block font-size="18pt" font-weight="bold" margin-top="12pt">
669
+
670
+ <xsl:if test="normalize-space($title-intro) != ''">
671
+ <xsl:value-of select="$title-intro"/>
672
+ <xsl:text> — </xsl:text>
673
+ </xsl:if>
674
+
675
+ <xsl:value-of select="$title-main"/>
676
+
677
+ <xsl:call-template name="printTitlePartEn"/>
678
+ <!-- <xsl:if test="normalize-space($title-part) != ''">
679
+ <xsl:if test="$part != ''">
680
+ <xsl:text> — </xsl:text>
681
+ <fo:block font-weight="normal" margin-top="6pt">
682
+ <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
683
+ <xsl:text>:</xsl:text>
684
+ </fo:block>
685
+ </xsl:if>
686
+ <xsl:value-of select="$title-part"/>
687
+ </xsl:if> -->
688
+ </fo:block>
689
+
690
+ <fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
691
+ <fo:block font-size="11pt" font-style="italic" line-height="1.5">
692
+
693
+ <xsl:if test="normalize-space($title-intro-fr) != ''">
694
+ <xsl:value-of select="$title-intro-fr"/>
695
+ <xsl:text> — </xsl:text>
696
+ </xsl:if>
697
+
698
+ <xsl:value-of select="$title-main-fr"/>
699
+
700
+ <xsl:call-template name="printTitlePartFr"/>
701
+
702
+ </fo:block>
703
+ </fo:block>
704
+ </fo:block-container>
705
+ </fo:table-cell>
706
+ </fo:table-row>
707
+ </fo:table-body>
708
+ </fo:table>
709
+ </fo:block-container>
710
+ <fo:block-container position="absolute" left="60mm" top="222mm" height="25mm" display-align="after">
711
+ <fo:block>
712
+ <xsl:if test="$stage-abbreviation = 'PRF'">
713
+ <fo:block font-size="39pt" font-weight="bold"><xsl:value-of select="$proof-text"/></fo:block>
714
+ </xsl:if>
715
+ </fo:block>
716
+ </fo:block-container>
717
+ </fo:flow>
718
+ </xsl:otherwise>
719
+ </xsl:choose>
720
+
721
+
722
+ </fo:page-sequence>
723
+ </xsl:when>
724
+
725
+ <xsl:when test="$isPublished = 'true'">
726
+ <fo:page-sequence master-reference="cover-page-published" force-page-count="no-force">
727
+ <fo:static-content flow-name="cover-page-footer" font-size="10pt">
728
+ <fo:table table-layout="fixed" width="100%" border-top="1mm double black" margin-bottom="3mm">
729
+ <fo:table-column column-width="50%"/>
730
+ <fo:table-column column-width="50%"/>
731
+ <fo:table-body>
732
+ <fo:table-row height="32mm">
733
+ <fo:table-cell display-align="center">
734
+ <fo:block text-align="left">
735
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-ISO-Logo2))}" width="21mm" content-height="21mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
736
+ </fo:block>
737
+ </fo:table-cell>
738
+ <fo:table-cell display-align="center">
739
+ <fo:block text-align="right">
740
+ <fo:block>Reference number</fo:block>
741
+ <fo:block><xsl:value-of select="$ISOname"/></fo:block>
742
+ <fo:block> </fo:block>
743
+ <fo:block> </fo:block>
744
+ <fo:block><fo:inline font-size="9pt">©</fo:inline><xsl:value-of select="concat(' ISO ', iso:iso-standard/iso:bibdata/iso:copyright/iso:from)"/></fo:block>
745
+ </fo:block>
746
+ </fo:table-cell>
747
+ </fo:table-row>
748
+ </fo:table-body>
749
+ </fo:table>
750
+ </fo:static-content>
751
+ <fo:flow flow-name="xsl-region-body">
752
+ <fo:block-container>
753
+ <fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1" margin-bottom="35mm">
754
+ <fo:table-column column-width="60%"/>
755
+ <fo:table-column column-width="40%"/>
756
+ <fo:table-body>
757
+ <fo:table-row>
758
+ <fo:table-cell>
759
+ <fo:block text-align="left">
760
+ <xsl:value-of select="$doctype_uppercased"/>
761
+ </fo:block>
762
+ </fo:table-cell>
763
+ <fo:table-cell>
764
+ <fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
765
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso']"/>
766
+ </fo:block>
767
+ </fo:table-cell>
768
+ </fo:table-row>
769
+ <fo:table-row>
770
+ <fo:table-cell number-columns-spanned="2" font-size="10pt" line-height="1.2">
771
+ <fo:block text-align="right">
772
+ <xsl:call-template name="printEdition"/>
773
+ <xsl:value-of select="$linebreak"/>
774
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/></fo:block>
775
+ </fo:table-cell>
776
+ </fo:table-row>
777
+ </fo:table-body>
778
+ </fo:table>
779
+
780
+ <fo:block-container border-top="1mm double black" line-height="1.1">
781
+ <fo:block margin-right="40mm">
782
+ <fo:block font-size="18pt" font-weight="bold" margin-top="12pt">
783
+
784
+ <xsl:if test="normalize-space($title-intro) != ''">
785
+ <xsl:value-of select="$title-intro"/>
786
+ <xsl:text> — </xsl:text>
787
+ </xsl:if>
788
+
789
+ <xsl:value-of select="$title-main"/>
790
+
791
+ <xsl:call-template name="printTitlePartEn"/>
792
+ <!-- <xsl:if test="normalize-space($title-part) != ''">
793
+ <xsl:if test="$part != ''">
794
+ <xsl:text> — </xsl:text>
795
+ <fo:block font-weight="normal" margin-top="6pt">
796
+ <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
797
+ <xsl:text>:</xsl:text>
798
+ </fo:block>
799
+ </xsl:if>
800
+ <xsl:value-of select="$title-part"/>
801
+ </xsl:if> -->
802
+ </fo:block>
803
+
804
+ <fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
805
+ <fo:block font-size="11pt" font-style="italic" line-height="1.5">
806
+
807
+ <xsl:if test="normalize-space($title-intro-fr) != ''">
808
+ <xsl:value-of select="$title-intro-fr"/>
809
+ <xsl:text> — </xsl:text>
810
+ </xsl:if>
811
+
812
+ <xsl:value-of select="$title-main-fr"/>
813
+
814
+ <xsl:call-template name="printTitlePartFr"/>
815
+
816
+ </fo:block>
817
+ </fo:block>
818
+ </fo:block-container>
819
+ </fo:block-container>
820
+ </fo:flow>
821
+ </fo:page-sequence>
822
+ </xsl:when>
823
+ <xsl:otherwise>
824
+ <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
825
+ <fo:static-content flow-name="cover-page-header" font-size="10pt">
826
+ <fo:block-container height="24mm" display-align="before">
827
+ <fo:block padding-top="12.5mm">
828
+ <xsl:value-of select="$copyrightText"/>
829
+ </fo:block>
830
+ </fo:block-container>
831
+ </fo:static-content>
832
+ <fo:flow flow-name="xsl-region-body">
833
+ <fo:block-container text-align="right">
834
+ <xsl:choose>
835
+ <xsl:when test="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']">
836
+ <!-- 17301 -->
837
+ <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
838
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-tc']"/>
839
+ </fo:block>
840
+ <!-- Date: 2016-05-01 -->
841
+ <fo:block margin-bottom="12pt">
842
+ <xsl:text>Date: </xsl:text><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/>
843
+ </fo:block>
844
+
845
+ <!-- ISO/CD 17301-1(E) -->
846
+ <fo:block margin-bottom="12pt">
847
+ <xsl:value-of select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, $lang-1st-letter)"/>
848
+ </fo:block>
849
+ </xsl:when>
850
+ <xsl:otherwise>
851
+ <fo:block font-size="14pt" font-weight="bold" margin-bottom="12pt">
852
+ <!-- ISO/WD 24229(E) -->
853
+ <xsl:value-of select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, $lang-1st-letter)"/>
854
+ </fo:block>
855
+
856
+ </xsl:otherwise>
857
+ </xsl:choose>
858
+
859
+ <!-- ISO/TC 46/WG 3 -->
860
+ <!-- <fo:block margin-bottom="12pt">
861
+ <xsl:value-of select="concat('ISO/', /iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:technical-committee/@type, ' ',
862
+ /iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:technical-committee/@number, '/',
863
+ /iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:workgroup/@type, ' ',
864
+ /iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:workgroup/@number)"/>
865
+ -->
866
+ <!-- ISO/TC 34/SC 4/WG 3 -->
867
+ <fo:block margin-bottom="12pt">
868
+ <xsl:text>ISO</xsl:text>
869
+ <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:technical-committee[@number]">
870
+ <xsl:text>/TC </xsl:text><xsl:value-of select="@number"/>
871
+ </xsl:for-each>
872
+ <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:subcommittee[@number]">
873
+ <xsl:text>/SC </xsl:text>
874
+ <xsl:value-of select="@number"/>
875
+ </xsl:for-each>
876
+ <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:workgroup[@number]">
877
+ <xsl:text>/WG </xsl:text>
878
+ <xsl:value-of select="@number"/>
879
+ </xsl:for-each>
880
+ </fo:block>
881
+
882
+ <!-- Secretariat: AFNOR -->
883
+
884
+ <fo:block margin-bottom="100pt">
885
+ <xsl:text>Secretariat: </xsl:text>
886
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:secretariat"/>
887
+ <xsl:text> </xsl:text>
888
+ </fo:block>
889
+
890
+
891
+
892
+ </fo:block-container>
893
+ <fo:block-container font-size="16pt">
894
+ <!-- Information and documentation — Codes for transcription systems -->
895
+ <fo:block font-weight="bold">
896
+
897
+ <xsl:if test="normalize-space($title-intro) != ''">
898
+ <xsl:value-of select="$title-intro"/>
899
+ <xsl:text> — </xsl:text>
900
+ </xsl:if>
901
+
902
+ <xsl:value-of select="$title-main"/>
903
+
904
+ <xsl:call-template name="printTitlePartEn"/>
905
+ <!-- <xsl:if test="normalize-space($title-part) != ''">
906
+ <xsl:if test="$part != ''">
907
+ <xsl:text> — </xsl:text>
908
+ <fo:block font-weight="normal" margin-top="6pt">
909
+ <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
910
+ <xsl:text>:</xsl:text>
911
+ </fo:block>
912
+ </xsl:if>
913
+ <xsl:value-of select="$title-part"/>
914
+ </xsl:if> -->
915
+ </fo:block>
916
+
917
+ <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
918
+ <fo:block>
919
+ <xsl:if test="normalize-space($title-intro-fr) != ''">
920
+ <xsl:value-of select="$title-intro-fr"/>
921
+ <xsl:text> — </xsl:text>
922
+ </xsl:if>
923
+
924
+ <xsl:value-of select="$title-main-fr"/>
925
+
926
+ <xsl:variable name="part-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-part']"/>
927
+ <xsl:if test="normalize-space($part-fr) != ''">
928
+ <xsl:if test="$part != ''">
929
+ <xsl:text> — </xsl:text>
930
+ <fo:block margin-top="6pt" font-weight="normal">
931
+ <xsl:value-of select="$title-part-fr"/><xsl:value-of select="$part"/>
932
+ <xsl:text>:</xsl:text>
933
+ </fo:block>
934
+ </xsl:if>
935
+ <xsl:value-of select="$part-fr"/>
936
+ </xsl:if>
937
+ </fo:block>
938
+ </fo:block-container>
939
+ <fo:block font-size="11pt" margin-bottom="8pt"><xsl:value-of select="$linebreak"/></fo:block>
940
+ <fo:block-container font-size="40pt" text-align="center" margin-bottom="12pt" border="0.5pt solid black">
941
+ <xsl:variable name="stage-title" select="substring-after(substring-before(/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso'], ' '), '/')"/>
942
+ <fo:block padding-top="2mm"><xsl:value-of select="$stage-title"/><xsl:text> stage</xsl:text></fo:block>
943
+ </fo:block-container>
944
+ <fo:block><xsl:value-of select="$linebreak"/></fo:block>
945
+
946
+ <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:license-statement">
947
+ <fo:block-container font-size="10pt" margin-top="12pt" margin-bottom="6pt" border="0.5pt solid black">
948
+ <fo:block padding-top="1mm">
949
+ <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:license-statement"/>
950
+ </fo:block>
951
+ </fo:block-container>
952
+ </xsl:if>
953
+ </fo:flow>
954
+ </fo:page-sequence>
955
+ </xsl:otherwise>
956
+ </xsl:choose>
957
+
958
+ <fo:page-sequence master-reference="preface{$document-master-reference}" format="i" force-page-count="{$force-page-count-preface}">
959
+ <xsl:call-template name="insertHeaderFooter">
960
+ <xsl:with-param name="font-weight">normal</xsl:with-param>
961
+ </xsl:call-template>
962
+ <fo:flow flow-name="xsl-region-body" line-height="115%">
963
+ <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
964
+
965
+ <fo:block-container height="252mm" display-align="after">
966
+ <fo:block margin-bottom="3mm">
967
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Attention))}" width="14mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
968
+ <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold">COPYRIGHT PROTECTED DOCUMENT</fo:inline>
969
+ </fo:block>
970
+ <fo:block line-height="90%">
971
+ <fo:block font-size="9pt" text-align="justify">
972
+ <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:copyright-statement"/>
973
+ </fo:block>
974
+ </fo:block>
975
+ </fo:block-container>
976
+ <fo:block break-after="page"/>
977
+ </xsl:if>
978
+
979
+ <fo:block-container font-weight="bold">
980
+
981
+ <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
982
+ <fo:inline font-size="16pt" font-weight="bold">Contents</fo:inline>
983
+ <fo:inline keep-together.within-line="always">
984
+ <fo:leader leader-pattern="space"/>
985
+ <fo:inline font-weight="normal" font-size="10pt">Page</fo:inline>
986
+ </fo:inline>
987
+ </fo:block>
988
+
989
+ <xsl:if test="$debug = 'true'">
990
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
991
+ DEBUG
992
+ contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
993
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
994
+ </xsl:if>
995
+
996
+ <xsl:variable name="margin-left">12</xsl:variable>
997
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true'][not(@level = 2 and starts-with(@section, '0'))]"><!-- skip clause from preface -->
998
+
999
+ <fo:block>
1000
+ <xsl:if test="@level = 1">
1001
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
1002
+ </xsl:if>
1003
+ <xsl:if test="@level = 3">
1004
+ <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
1005
+ </xsl:if>
1006
+ <fo:list-block>
1007
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
1008
+ <xsl:if test="@level &gt;= 2">
1009
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1010
+ </xsl:if>
1011
+ <xsl:attribute name="provisional-distance-between-starts">
1012
+ <xsl:choose>
1013
+ <!-- skip 0 section without subsections -->
1014
+ <xsl:when test="@level &gt;= 3"><xsl:value-of select="$margin-left * 1.2"/>mm</xsl:when>
1015
+ <xsl:when test="@section != '' and not(@display-section = 'false')"><xsl:value-of select="$margin-left"/>mm</xsl:when>
1016
+ <xsl:otherwise>0mm</xsl:otherwise>
1017
+ </xsl:choose>
1018
+ </xsl:attribute>
1019
+ <fo:list-item>
1020
+ <fo:list-item-label end-indent="label-end()">
1021
+ <fo:block>
1022
+ <xsl:if test="@section and not(@display-section = 'false')"> <!-- output below -->
1023
+ <xsl:value-of select="@section"/>
1024
+ </xsl:if>
1025
+ </fo:block>
1026
+ </fo:list-item-label>
1027
+ <fo:list-item-body start-indent="body-start()">
1028
+ <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
1029
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
1030
+ <xsl:if test="@section and @display-section = 'false'">
1031
+ <xsl:value-of select="@section"/><xsl:text> </xsl:text>
1032
+ </xsl:if>
1033
+ <xsl:if test="@addon != ''">
1034
+ <fo:inline font-weight="normal">(<xsl:value-of select="@addon"/>)</fo:inline>
1035
+ </xsl:if>
1036
+ <xsl:text> </xsl:text><xsl:value-of select="text()"/>
1037
+ <fo:inline keep-together.within-line="always">
1038
+ <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
1039
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
1040
+ </fo:inline>
1041
+ </fo:basic-link>
1042
+ </fo:block>
1043
+ </fo:list-item-body>
1044
+ </fo:list-item>
1045
+ </fo:list-block>
1046
+ </fo:block>
1047
+
1048
+ </xsl:for-each>
1049
+ </fo:block-container>
1050
+ <!-- Foreword, Introduction -->
1051
+ <xsl:apply-templates select="/iso:iso-standard/iso:preface/node()"/>
1052
+
1053
+ </fo:flow>
1054
+ </fo:page-sequence>
1055
+
1056
+ <!-- BODY -->
1057
+ <fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="1" force-page-count="no-force">
1058
+ <fo:static-content flow-name="xsl-footnote-separator">
1059
+ <fo:block>
1060
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
1061
+ </fo:block>
1062
+ </fo:static-content>
1063
+ <xsl:call-template name="insertHeaderFooter"/>
1064
+ <fo:flow flow-name="xsl-region-body">
1065
+
1066
+
1067
+ <fo:block-container>
1068
+ <!-- Information and documentation — Codes for transcription systems -->
1069
+ <!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
1070
+ <xsl:value-of select="$title-en"/>
1071
+ </fo:block>
1072
+ -->
1073
+ <fo:block font-size="18pt" font-weight="bold" margin-top="40pt" margin-bottom="20pt" line-height="1.1">
1074
+ <xsl:variable name="part-en" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-part']"/>
1075
+ <fo:block>
1076
+ <xsl:if test="normalize-space($title-intro) != ''">
1077
+ <xsl:value-of select="$title-intro"/>
1078
+ <xsl:text> — </xsl:text>
1079
+ </xsl:if>
1080
+
1081
+ <xsl:value-of select="$title-main"/>
1082
+
1083
+ <xsl:if test="normalize-space($part-en) != ''">
1084
+ <xsl:if test="$part != ''">
1085
+ <xsl:text> — </xsl:text>
1086
+ <fo:block font-weight="normal" margin-top="12pt" line-height="1.1">
1087
+ <xsl:value-of select="$title-part-en"/>
1088
+ <xsl:value-of select="$part"/>
1089
+ <xsl:text>:</xsl:text>
1090
+ </fo:block>
1091
+ </xsl:if>
1092
+ </xsl:if>
1093
+ </fo:block>
1094
+ <fo:block>
1095
+ <xsl:value-of select="$part-en"/>
1096
+ </fo:block>
1097
+ </fo:block>
1098
+
1099
+
1100
+ </fo:block-container>
1101
+ <!-- Clause(s) -->
1102
+ <fo:block>
1103
+
1104
+ <xsl:apply-templates select="/iso:iso-standard/iso:sections/iso:clause[1]"> <!-- Scope -->
1105
+ <xsl:with-param name="sectionNum" select="'1'"/>
1106
+ </xsl:apply-templates>
1107
+
1108
+ <!-- <fo:block space-before="27pt">&#xA0;</fo:block> -->
1109
+ <!-- Normative references -->
1110
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibliography/iso:references[1]">
1111
+ <xsl:with-param name="sectionNum" select="'2'"/>
1112
+ </xsl:apply-templates>
1113
+
1114
+ <!-- <fo:block space-before="18pt">&#xA0;</fo:block> -->
1115
+ <!-- main sections -->
1116
+ <xsl:apply-templates select="/iso:iso-standard/iso:sections/*[position() &gt; 1]">
1117
+ <xsl:with-param name="sectionNumSkew" select="'1'"/>
1118
+ </xsl:apply-templates>
1119
+
1120
+ <!-- Annex(s) -->
1121
+ <xsl:apply-templates select="/iso:iso-standard/iso:annex"/>
1122
+
1123
+ <!-- Bibliography -->
1124
+ <xsl:apply-templates select="/iso:iso-standard/iso:bibliography/iso:references[position() &gt; 1]"/>
1125
+
1126
+ <fo:block id="lastBlock" font-size="1pt"> </fo:block>
1127
+ </fo:block>
1128
+
1129
+ </fo:flow>
1130
+ </fo:page-sequence>
1131
+
1132
+ <xsl:if test="$isPublished = 'true'">
1133
+ <fo:page-sequence master-reference="last-page" force-page-count="no-force">
1134
+ <xsl:call-template name="insertHeaderEven"/>
1135
+ <fo:static-content flow-name="last-page-footer" font-size="10pt">
1136
+ <fo:table table-layout="fixed" width="100%">
1137
+ <fo:table-column column-width="33%"/>
1138
+ <fo:table-column column-width="33%"/>
1139
+ <fo:table-column column-width="34%"/>
1140
+ <fo:table-body>
1141
+ <fo:table-row>
1142
+ <fo:table-cell display-align="center">
1143
+ <fo:block font-size="9pt"><xsl:value-of select="$copyrightText"/></fo:block>
1144
+ </fo:table-cell>
1145
+ <fo:table-cell>
1146
+ <fo:block font-size="11pt" font-weight="bold" text-align="center">
1147
+ <xsl:if test="$stage-abbreviation = 'PRF'">
1148
+ <xsl:value-of select="$proof-text"/>
1149
+ </xsl:if>
1150
+ </fo:block>
1151
+ </fo:table-cell>
1152
+ <fo:table-cell>
1153
+ <fo:block> </fo:block>
1154
+ </fo:table-cell>
1155
+ </fo:table-row>
1156
+ </fo:table-body>
1157
+ </fo:table>
1158
+ </fo:static-content>
1159
+ <fo:flow flow-name="xsl-region-body">
1160
+ <fo:block-container height="252mm" display-align="after">
1161
+ <fo:block-container border-top="1mm double black">
1162
+ <fo:block font-size="12pt" font-weight="bold" padding-top="3.5mm" padding-bottom="0.5mm">
1163
+ <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
1164
+ <xsl:if test="position() = 1"><fo:inline>ICS  </fo:inline></xsl:if>
1165
+ <xsl:value-of select="."/>
1166
+ <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
1167
+ </xsl:for-each> 
1168
+ <!-- <xsl:choose>
1169
+ <xsl:when test="$stage-name = 'FDIS'">ICS&#xA0;&#xA0;01.140.30</xsl:when>
1170
+ <xsl:when test="$stage-name = 'PRF'">ICS&#xA0;&#xA0;35.240.63</xsl:when>
1171
+ <xsl:when test="$stage-name = 'published'">ICS&#xA0;&#xA0;35.240.30</xsl:when>
1172
+ <xsl:otherwise>ICS&#xA0;&#xA0;67.060</xsl:otherwise>
1173
+ </xsl:choose> -->
1174
+ </fo:block>
1175
+ <xsl:if test="/iso:iso-standard/iso:bibdata/iso:keyword">
1176
+ <fo:block font-size="9pt" margin-bottom="6pt">
1177
+ <fo:inline font-weight="bold"><xsl:value-of select="$title-descriptors"/>: </fo:inline>
1178
+ <xsl:call-template name="insertKeywords">
1179
+ <xsl:with-param name="sorting">no</xsl:with-param>
1180
+ </xsl:call-template>
1181
+ </fo:block>
1182
+ </xsl:if>
1183
+ <fo:block font-size="9pt">Price based on <fo:page-number-citation ref-id="lastBlock"/> pages</fo:block>
1184
+ </fo:block-container>
1185
+ </fo:block-container>
1186
+ </fo:flow>
1187
+ </fo:page-sequence>
1188
+ </xsl:if>
1189
+ </fo:root>
1190
+ </xsl:template>
1191
+
1192
+ <!-- for pass the paremeter 'sectionNum' over templates, like 'tunnel' parameter in XSLT 2.0 -->
1193
+ <xsl:template match="node()">
1194
+ <xsl:param name="sectionNum"/>
1195
+ <xsl:param name="sectionNumSkew"/>
1196
+ <xsl:apply-templates>
1197
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1198
+ <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
1199
+ </xsl:apply-templates>
1200
+ </xsl:template>
1201
+
1202
+ <!-- ============================= -->
1203
+ <!-- CONTENTS -->
1204
+ <!-- ============================= -->
1205
+ <xsl:template match="node()" mode="contents">
1206
+ <xsl:param name="sectionNum"/>
1207
+ <xsl:param name="sectionNumSkew"/>
1208
+ <xsl:apply-templates mode="contents">
1209
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1210
+ <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
1211
+ </xsl:apply-templates>
1212
+ </xsl:template>
1213
+
1214
+
1215
+ <!-- calculate main section number (1,2,3) and pass it deep into templates -->
1216
+ <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
1217
+ <xsl:template match="iso:iso-standard/iso:sections/*" mode="contents">
1218
+ <xsl:param name="sectionNum"/>
1219
+ <xsl:param name="sectionNumSkew" select="0"/>
1220
+ <xsl:variable name="sectionNum_">
1221
+ <xsl:choose>
1222
+ <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1223
+ <xsl:when test="$sectionNumSkew != 0">
1224
+ <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!-- iso:sections/iso:clause | iso:sections/iso:terms -->
1225
+ <xsl:value-of select="$number + $sectionNumSkew"/>
1226
+ </xsl:when>
1227
+ <xsl:otherwise>
1228
+ <xsl:number count="*"/>
1229
+ </xsl:otherwise>
1230
+ </xsl:choose>
1231
+ </xsl:variable>
1232
+ <xsl:apply-templates mode="contents">
1233
+ <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1234
+ </xsl:apply-templates>
1235
+ </xsl:template>
1236
+
1237
+ <!-- Any node with title element - clause, definition, annex,... -->
1238
+ <xsl:template match="iso:title | iso:preferred" mode="contents">
1239
+ <xsl:param name="sectionNum"/>
1240
+ <!-- sectionNum=<xsl:value-of select="$sectionNum"/> -->
1241
+ <xsl:variable name="id">
1242
+ <xsl:call-template name="getId"/>
1243
+ </xsl:variable>
1244
+
1245
+ <xsl:variable name="level">
1246
+ <xsl:call-template name="getLevel"/>
1247
+ </xsl:variable>
1248
+
1249
+ <xsl:variable name="section">
1250
+ <xsl:call-template name="getSection">
1251
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1252
+ </xsl:call-template>
1253
+ </xsl:variable>
1254
+
1255
+ <xsl:variable name="display">
1256
+ <xsl:choose>
1257
+ <xsl:when test="ancestor::iso:bibitem">false</xsl:when>
1258
+ <xsl:when test="ancestor::iso:term">false</xsl:when>
1259
+ <xsl:when test="ancestor::iso:annex and $level &gt;= 2">false</xsl:when>
1260
+ <xsl:when test="$level &lt;= 3">true</xsl:when>
1261
+ <xsl:otherwise>false</xsl:otherwise>
1262
+ </xsl:choose>
1263
+ </xsl:variable>
1264
+
1265
+ <xsl:variable name="display-section">
1266
+ <xsl:choose>
1267
+ <xsl:when test="ancestor::iso:annex">false</xsl:when>
1268
+ <xsl:otherwise>true</xsl:otherwise>
1269
+ </xsl:choose>
1270
+ </xsl:variable>
1271
+
1272
+ <xsl:variable name="type">
1273
+ <xsl:value-of select="local-name(..)"/>
1274
+ </xsl:variable>
1275
+
1276
+ <xsl:variable name="root">
1277
+ <xsl:choose>
1278
+ <xsl:when test="ancestor::iso:annex">annex</xsl:when>
1279
+ </xsl:choose>
1280
+ </xsl:variable>
1281
+
1282
+ <item id="{$id}" level="{$level}" section="{$section}" display-section="{$display-section}" display="{$display}" type="{$type}" root="{$root}">
1283
+ <xsl:attribute name="addon">
1284
+ <xsl:if test="local-name(..) = 'annex'"><xsl:value-of select="../@obligation"/></xsl:if>
1285
+ </xsl:attribute>
1286
+ <xsl:value-of select="."/>
1287
+ </item>
1288
+
1289
+ <xsl:apply-templates mode="contents">
1290
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1291
+ </xsl:apply-templates>
1292
+
1293
+ </xsl:template>
1294
+
1295
+
1296
+ <xsl:template match="iso:figure" mode="contents">
1297
+ <item level="" id="{@id}" display="false">
1298
+ <xsl:attribute name="section">
1299
+ <xsl:call-template name="getFigureNumber"/>
1300
+ <!-- <xsl:text>Figure </xsl:text><xsl:number format="A.1-1" level="multiple" count="iso:annex | iso:figure"/> -->
1301
+ </xsl:attribute>
1302
+ </item>
1303
+ </xsl:template>
1304
+
1305
+
1306
+ <xsl:template match="iso:table" mode="contents">
1307
+ <xsl:param name="sectionNum"/>
1308
+ <xsl:variable name="annex-id" select="ancestor::iso:annex/@id"/>
1309
+ <item level="" id="{@id}" display="false" type="table">
1310
+ <xsl:attribute name="section">
1311
+ <xsl:value-of select="$title-table"/>
1312
+ <xsl:call-template name="getTableNumber"/>
1313
+ </xsl:attribute>
1314
+ <xsl:value-of select="iso:name/text()"/>
1315
+ </item>
1316
+ </xsl:template>
1317
+
1318
+ <xsl:template match="iso:formula" mode="contents">
1319
+ <item level="" id="{@id}" display="false">
1320
+ <xsl:attribute name="section">
1321
+ <xsl:text>Formula (</xsl:text><xsl:number format="A.1" level="multiple" count="iso:annex | iso:formula"/><xsl:text>)</xsl:text>
1322
+ </xsl:attribute>
1323
+ </item>
1324
+ </xsl:template>
1325
+
1326
+ <xsl:template match="iso:li" mode="contents">
1327
+ <xsl:param name="sectionNum"/>
1328
+ <item level="" id="{@id}" display="false" type="li">
1329
+ <xsl:attribute name="section">
1330
+ <xsl:call-template name="getListItemFormat"/>
1331
+ </xsl:attribute>
1332
+ <xsl:attribute name="parent_section">
1333
+ <xsl:for-each select="ancestor::*[not(local-name() = 'p' or local-name() = 'ol')][1]">
1334
+ <xsl:call-template name="getSection">
1335
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1336
+ </xsl:call-template>
1337
+ </xsl:for-each>
1338
+ </xsl:attribute>
1339
+ </item>
1340
+ <xsl:apply-templates mode="contents">
1341
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1342
+ </xsl:apply-templates>
1343
+ </xsl:template>
1344
+
1345
+ <xsl:template name="getListItemFormat">
1346
+ <xsl:choose>
1347
+ <xsl:when test="local-name(..) = 'ul'">—</xsl:when> <!-- dash -->
1348
+ <xsl:otherwise> <!-- for ordered lists -->
1349
+ <xsl:choose>
1350
+ <xsl:when test="../@type = 'arabic'">
1351
+ <xsl:number format="a)"/>
1352
+ </xsl:when>
1353
+ <xsl:when test="../@type = 'alphabet'">
1354
+ <xsl:number format="a)"/>
1355
+ </xsl:when>
1356
+ <xsl:otherwise>
1357
+ <xsl:number format="1."/>
1358
+ </xsl:otherwise>
1359
+ </xsl:choose>
1360
+ </xsl:otherwise>
1361
+ </xsl:choose>
1362
+ </xsl:template>
1363
+
1364
+
1365
+ <!-- ============================= -->
1366
+ <!-- ============================= -->
1367
+
1368
+
1369
+ <xsl:template match="iso:license-statement//iso:title">
1370
+ <fo:block text-align="center" font-weight="bold">
1371
+ <xsl:apply-templates/>
1372
+ </fo:block>
1373
+ </xsl:template>
1374
+
1375
+ <xsl:template match="iso:license-statement//iso:p">
1376
+ <fo:block margin-left="1.5mm" margin-right="1.5mm">
1377
+ <xsl:if test="following-sibling::iso:p">
1378
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1379
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1380
+ </xsl:if>
1381
+ <xsl:apply-templates/>
1382
+ </fo:block>
1383
+ </xsl:template>
1384
+
1385
+ <!-- <fo:block margin-bottom="12pt">© ISO 2019, Published in Switzerland.</fo:block>
1386
+ <fo:block font-size="10pt" margin-bottom="12pt">All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of the requester.</fo:block>
1387
+ <fo:block font-size="10pt" text-indent="7.1mm">
1388
+ <fo:block>ISO copyright office</fo:block>
1389
+ <fo:block>Ch. de Blandonnet 8 • CP 401</fo:block>
1390
+ <fo:block>CH-1214 Vernier, Geneva, Switzerland</fo:block>
1391
+ <fo:block>Tel. + 41 22 749 01 11</fo:block>
1392
+ <fo:block>Fax + 41 22 749 09 47</fo:block>
1393
+ <fo:block>copyright@iso.org</fo:block>
1394
+ <fo:block>www.iso.org</fo:block>
1395
+ </fo:block> -->
1396
+
1397
+ <xsl:template match="iso:copyright-statement//iso:p">
1398
+ <fo:block>
1399
+ <xsl:if test="preceding-sibling::iso:p">
1400
+ <!-- <xsl:attribute name="font-size">10pt</xsl:attribute> -->
1401
+ </xsl:if>
1402
+ <xsl:if test="following-sibling::iso:p">
1403
+ <!-- <xsl:attribute name="margin-bottom">12pt</xsl:attribute> -->
1404
+ <xsl:attribute name="margin-bottom">3pt</xsl:attribute>
1405
+ </xsl:if>
1406
+ <xsl:if test="contains(@id, 'address')"> <!-- not(following-sibling::iso:p) -->
1407
+ <!-- <xsl:attribute name="margin-left">7.1mm</xsl:attribute> -->
1408
+ <xsl:attribute name="margin-left">4mm</xsl:attribute>
1409
+ </xsl:if>
1410
+ <xsl:apply-templates/>
1411
+ </fo:block>
1412
+ </xsl:template>
1413
+
1414
+ <!-- Foreword, Introduction -->
1415
+ <xsl:template match="iso:iso-standard/iso:preface/*">
1416
+ <fo:block break-after="page"/>
1417
+ <xsl:apply-templates/>
1418
+ </xsl:template>
1419
+
1420
+
1421
+
1422
+ <!-- clause, terms, clause, ...-->
1423
+ <xsl:template match="iso:iso-standard/iso:sections/*">
1424
+ <xsl:param name="sectionNum"/>
1425
+ <xsl:param name="sectionNumSkew" select="0"/>
1426
+ <fo:block>
1427
+ <xsl:variable name="pos"><xsl:number count="*"/></xsl:variable> <!-- iso:sections/iso:clause | iso:sections/iso:terms | iso:sections/iso:definitions -->
1428
+ <xsl:if test="$pos &gt;= 2">
1429
+ <xsl:attribute name="space-before">18pt</xsl:attribute>
1430
+ </xsl:if>
1431
+ <!-- pos=<xsl:value-of select="$pos" /> -->
1432
+ <xsl:variable name="sectionNum_">
1433
+ <xsl:choose>
1434
+ <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1435
+ <xsl:when test="$sectionNumSkew != 0">
1436
+ <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!--iso:sections/iso:clause | iso:sections/iso:terms | iso:sections/iso:definitions -->
1437
+ <xsl:value-of select="$number + $sectionNumSkew"/>
1438
+ </xsl:when>
1439
+ </xsl:choose>
1440
+ </xsl:variable>
1441
+ <xsl:if test="not(iso:title)">
1442
+ <fo:block margin-top="3pt" margin-bottom="12pt">
1443
+ <xsl:value-of select="$sectionNum_"/><xsl:number format=".1 " level="multiple" count="iso:clause"/>
1444
+ </fo:block>
1445
+ </xsl:if>
1446
+ <xsl:apply-templates>
1447
+ <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1448
+ </xsl:apply-templates>
1449
+ </fo:block>
1450
+ </xsl:template>
1451
+
1452
+
1453
+
1454
+ <xsl:template match="iso:clause//iso:clause[not(iso:title)]">
1455
+ <xsl:param name="sectionNum"/>
1456
+ <xsl:variable name="section">
1457
+ <xsl:call-template name="getSection">
1458
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1459
+ </xsl:call-template>
1460
+ </xsl:variable>
1461
+
1462
+ <fo:block margin-top="3pt"><!-- margin-bottom="6pt" -->
1463
+ <fo:inline font-weight="bold" padding-right="3mm">
1464
+ <xsl:value-of select="$section"/><!-- <xsl:number format=".1 " level="multiple" count="iso:clause/iso:clause" /> -->
1465
+ </fo:inline>
1466
+ <xsl:apply-templates>
1467
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1468
+ <xsl:with-param name="inline" select="'true'"/>
1469
+ </xsl:apply-templates>
1470
+ </fo:block>
1471
+ </xsl:template>
1472
+
1473
+
1474
+ <xsl:template match="iso:title">
1475
+ <xsl:param name="sectionNum"/>
1476
+
1477
+ <xsl:variable name="parent-name" select="local-name(..)"/>
1478
+ <xsl:variable name="references_num_current">
1479
+ <xsl:number level="any" count="iso:references"/>
1480
+ </xsl:variable>
1481
+
1482
+ <xsl:variable name="id">
1483
+ <xsl:call-template name="getId"/>
1484
+ </xsl:variable>
1485
+
1486
+ <xsl:variable name="level">
1487
+ <xsl:call-template name="getLevel"/>
1488
+ </xsl:variable>
1489
+
1490
+ <xsl:variable name="section">
1491
+ <xsl:call-template name="getSection">
1492
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1493
+ </xsl:call-template>
1494
+ </xsl:variable>
1495
+
1496
+ <xsl:variable name="font-size">
1497
+ <xsl:choose>
1498
+ <xsl:when test="ancestor::iso:annex and $level = 2">13pt</xsl:when>
1499
+ <xsl:when test="ancestor::iso:annex and $level = 3">12pt</xsl:when>
1500
+ <xsl:when test="ancestor::iso:preface">16pt</xsl:when>
1501
+ <xsl:when test="$level = 2">12pt</xsl:when>
1502
+ <xsl:when test="$level &gt;= 3">11pt</xsl:when>
1503
+ <xsl:otherwise>13pt</xsl:otherwise>
1504
+ </xsl:choose>
1505
+ </xsl:variable>
1506
+
1507
+ <xsl:variable name="element-name">
1508
+ <xsl:choose>
1509
+ <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
1510
+ <xsl:otherwise>fo:block</xsl:otherwise>
1511
+ </xsl:choose>
1512
+ </xsl:variable>
1513
+
1514
+ <xsl:choose>
1515
+ <xsl:when test="$parent-name = 'annex'">
1516
+ <fo:block id="{$id}" font-size="16pt" font-weight="bold" text-align="center" margin-bottom="12pt" keep-with-next="always">
1517
+ <xsl:value-of select="$section"/>
1518
+ <xsl:if test=" ../@obligation">
1519
+ <xsl:value-of select="$linebreak"/>
1520
+ <fo:inline font-weight="normal">(<xsl:value-of select="../@obligation"/>)</fo:inline>
1521
+ </xsl:if>
1522
+ <fo:block margin-top="18pt" margin-bottom="48pt"><xsl:apply-templates/></fo:block>
1523
+ </fo:block>
1524
+ </xsl:when>
1525
+ <xsl:when test="$parent-name = 'references' and $references_num_current != 1"> <!-- Bibliography -->
1526
+ <fo:block id="{$id}" font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always">
1527
+ <xsl:apply-templates/>
1528
+ </fo:block>
1529
+ </xsl:when>
1530
+
1531
+ <xsl:otherwise>
1532
+ <xsl:element name="{$element-name}">
1533
+ <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
1534
+ <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
1535
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1536
+ <xsl:attribute name="margin-top"> <!-- margin-top -->
1537
+ <xsl:choose>
1538
+ <xsl:when test="ancestor::iso:preface">8pt</xsl:when>
1539
+ <xsl:when test="$level = 2 and ancestor::iso:annex">18pt</xsl:when>
1540
+ <xsl:when test="$level = 1">18pt</xsl:when>
1541
+ <xsl:when test="$level = ''">6pt</xsl:when><!-- 13.5pt -->
1542
+ <xsl:otherwise>12pt</xsl:otherwise>
1543
+ </xsl:choose>
1544
+ </xsl:attribute>
1545
+ <xsl:attribute name="margin-bottom">
1546
+ <xsl:choose>
1547
+ <xsl:when test="ancestor::iso:preface">18pt</xsl:when>
1548
+ <!-- <xsl:otherwise>12pt</xsl:otherwise> -->
1549
+ <xsl:otherwise>8pt</xsl:otherwise>
1550
+ </xsl:choose>
1551
+ </xsl:attribute>
1552
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1553
+
1554
+
1555
+ <!-- DEBUG level=<xsl:value-of select="$level"/>x -->
1556
+ <!-- section=<xsl:value-of select="$sectionNum"/> -->
1557
+ <!-- <xsl:if test="$sectionNum"> -->
1558
+ <xsl:value-of select="$section"/>
1559
+ <xsl:if test="$section != ''">
1560
+ <xsl:choose>
1561
+ <xsl:when test="$level = 2">
1562
+ <fo:inline padding-right="2mm"> </fo:inline>
1563
+ </xsl:when>
1564
+ <xsl:otherwise>
1565
+ <fo:inline padding-right="3mm"> </fo:inline>
1566
+ </xsl:otherwise>
1567
+ </xsl:choose>
1568
+ </xsl:if>
1569
+
1570
+ <xsl:apply-templates/>
1571
+ </xsl:element>
1572
+
1573
+ <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::iso:p)">
1574
+ <fo:block> <!-- margin-bottom="12pt" -->
1575
+ <xsl:value-of select="$linebreak"/>
1576
+ </fo:block>
1577
+ </xsl:if>
1578
+ </xsl:otherwise>
1579
+ </xsl:choose>
1580
+
1581
+ </xsl:template>
1582
+
1583
+
1584
+
1585
+ <xsl:template match="iso:p">
1586
+ <xsl:param name="inline" select="'false'"/>
1587
+ <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
1588
+ <xsl:variable name="element-name">
1589
+ <xsl:choose>
1590
+ <xsl:when test="$inline = 'true'">fo:inline</xsl:when>
1591
+ <xsl:when test="../@inline-header = 'true' and $previous-element = 'title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
1592
+ <xsl:when test="local-name(..) = 'admonition'">fo:inline</xsl:when>
1593
+ <xsl:otherwise>fo:block</xsl:otherwise>
1594
+ </xsl:choose>
1595
+ </xsl:variable>
1596
+ <xsl:element name="{$element-name}">
1597
+ <xsl:attribute name="text-align">
1598
+ <xsl:choose>
1599
+ <!-- <xsl:when test="ancestor::iso:preface">justify</xsl:when> -->
1600
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
1601
+ <xsl:when test="ancestor::iso:td/@align"><xsl:value-of select="ancestor::iso:td/@align"/></xsl:when>
1602
+ <xsl:when test="ancestor::iso:th/@align"><xsl:value-of select="ancestor::iso:th/@align"/></xsl:when>
1603
+ <xsl:otherwise>justify</xsl:otherwise><!-- left -->
1604
+ </xsl:choose>
1605
+ </xsl:attribute>
1606
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1607
+ <xsl:apply-templates/>
1608
+ </xsl:element>
1609
+ <xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
1610
+ <fo:block margin-bottom="12pt">
1611
+ <xsl:if test="ancestor::iso:annex">
1612
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
1613
+ </xsl:if>
1614
+ <xsl:value-of select="$linebreak"/>
1615
+ </fo:block>
1616
+ </xsl:if>
1617
+ <xsl:if test="$inline = 'true'">
1618
+ <fo:block> </fo:block>
1619
+ </xsl:if>
1620
+ </xsl:template>
1621
+
1622
+ <xsl:template match="iso:li//iso:p//text()">
1623
+ <xsl:choose>
1624
+ <xsl:when test="contains(., '&#9;')">
1625
+ <fo:inline white-space="pre"><xsl:value-of select="."/></fo:inline>
1626
+ </xsl:when>
1627
+ <xsl:otherwise>
1628
+ <xsl:value-of select="."/>
1629
+ </xsl:otherwise>
1630
+ </xsl:choose>
1631
+
1632
+ </xsl:template>
1633
+
1634
+ <!--
1635
+ <fn reference="1">
1636
+ <p id="_8e5cf917-f75a-4a49-b0aa-1714cb6cf954">Formerly denoted as 15 % (m/m).</p>
1637
+ </fn>
1638
+ -->
1639
+
1640
+ <xsl:variable name="p_fn">
1641
+ <xsl:for-each select="//iso:p/iso:fn[generate-id(.)=generate-id(key('kfn',@reference)[1])]">
1642
+ <!-- copy unique fn -->
1643
+ <fn gen_id="{generate-id(.)}">
1644
+ <xsl:copy-of select="@*"/>
1645
+ <xsl:copy-of select="node()"/>
1646
+ </fn>
1647
+ </xsl:for-each>
1648
+ </xsl:variable>
1649
+
1650
+ <xsl:template match="iso:p/iso:fn" priority="2">
1651
+ <xsl:variable name="gen_id" select="generate-id(.)"/>
1652
+ <xsl:variable name="reference" select="@reference"/>
1653
+ <xsl:variable name="number">
1654
+ <!-- <xsl:number level="any" count="iso:p/iso:fn"/> -->
1655
+ <xsl:value-of select="count(xalan:nodeset($p_fn)//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
1656
+ </xsl:variable>
1657
+ <xsl:choose>
1658
+ <xsl:when test="xalan:nodeset($p_fn)//fn[@gen_id = $gen_id]">
1659
+ <fo:footnote>
1660
+ <fo:inline font-size="80%" keep-with-previous.within-line="always" vertical-align="super">
1661
+ <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
1662
+ <!-- <xsl:value-of select="@reference"/> -->
1663
+ <xsl:value-of select="$number + count(//iso:bibitem[ancestor::iso:references[@id='_normative_references']]/iso:note)"/><xsl:text>)</xsl:text>
1664
+ </fo:basic-link>
1665
+ </fo:inline>
1666
+ <fo:footnote-body>
1667
+ <fo:block font-size="10pt" margin-bottom="12pt">
1668
+ <fo:inline id="footnote_{@reference}_{$number}" keep-with-next.within-line="always" padding-right="3mm"> <!-- font-size="60%" alignment-baseline="hanging" -->
1669
+ <xsl:value-of select="$number + count(//iso:bibitem[ancestor::iso:references[@id='_normative_references']]/iso:note)"/><xsl:text>)</xsl:text>
1670
+ </fo:inline>
1671
+ <xsl:for-each select="iso:p">
1672
+ <xsl:apply-templates/>
1673
+ </xsl:for-each>
1674
+ </fo:block>
1675
+ </fo:footnote-body>
1676
+ </fo:footnote>
1677
+ </xsl:when>
1678
+ <xsl:otherwise>
1679
+ <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
1680
+ <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
1681
+ <xsl:value-of select="$number + count(//iso:bibitem/iso:note)"/>
1682
+ </fo:basic-link>
1683
+ </fo:inline>
1684
+ </xsl:otherwise>
1685
+ </xsl:choose>
1686
+ </xsl:template>
1687
+
1688
+ <xsl:template match="iso:p/iso:fn/iso:p">
1689
+ <xsl:apply-templates/>
1690
+ </xsl:template>
1691
+
1692
+ <xsl:template match="iso:review">
1693
+ <!-- comment 2019-11-29 -->
1694
+ <!-- <fo:block font-weight="bold">Review:</fo:block>
1695
+ <xsl:apply-templates /> -->
1696
+ </xsl:template>
1697
+
1698
+ <xsl:template match="text()">
1699
+ <xsl:value-of select="."/>
1700
+ </xsl:template>
1701
+
1702
+ <xsl:template match="iso:image">
1703
+ <fo:block-container text-align="center">
1704
+ <fo:block>
1705
+ <fo:external-graphic src="{@src}" fox:alt-text="Image {@alt}"/>
1706
+ </fo:block>
1707
+ <fo:block font-weight="bold" margin-top="12pt" margin-bottom="12pt">
1708
+ <xsl:value-of select="$title-figure"/>
1709
+ <xsl:call-template name="getFigureNumber"/>
1710
+ </fo:block>
1711
+ </fo:block-container>
1712
+ </xsl:template>
1713
+
1714
+ <xsl:template match="iso:figure">
1715
+ <fo:block-container id="{@id}">
1716
+ <fo:block>
1717
+ <xsl:apply-templates/>
1718
+ </fo:block>
1719
+ <xsl:call-template name="fn_display_figure"/>
1720
+ <xsl:for-each select="iso:note//iso:p">
1721
+ <xsl:call-template name="note"/>
1722
+ </xsl:for-each>
1723
+ <fo:block font-weight="bold" text-align="center" margin-top="12pt" margin-bottom="12pt" keep-with-previous="always">
1724
+ <xsl:call-template name="getFigureNumber"/>
1725
+ <xsl:if test="iso:name">
1726
+ <xsl:if test="not(local-name(..) = 'figure')">
1727
+ <xsl:text> — </xsl:text>
1728
+ </xsl:if>
1729
+ <xsl:value-of select="iso:name"/>
1730
+ </xsl:if>
1731
+ </fo:block>
1732
+ </fo:block-container>
1733
+ </xsl:template>
1734
+
1735
+ <xsl:template name="getFigureNumber">
1736
+ <xsl:choose>
1737
+ <xsl:when test="ancestor::iso:annex">
1738
+ <xsl:choose>
1739
+ <xsl:when test="local-name(..) = 'figure'">
1740
+ <xsl:number format="a) "/>
1741
+ </xsl:when>
1742
+ <xsl:otherwise>
1743
+ <xsl:value-of select="$title-figure"/><xsl:number format="A.1-1" level="multiple" count="iso:annex | iso:figure"/>
1744
+ </xsl:otherwise>
1745
+ </xsl:choose>
1746
+ </xsl:when>
1747
+ <xsl:otherwise>
1748
+ <xsl:value-of select="$title-figure"/><xsl:number format="1" level="any"/>
1749
+ </xsl:otherwise>
1750
+ </xsl:choose>
1751
+ </xsl:template>
1752
+
1753
+ <xsl:template match="iso:figure/iso:name"/>
1754
+ <xsl:template match="iso:figure/iso:fn" priority="2"/>
1755
+ <xsl:template match="iso:figure/iso:note"/>
1756
+
1757
+
1758
+ <xsl:template match="iso:figure/iso:image">
1759
+ <fo:block text-align="center">
1760
+ <xsl:variable name="src">
1761
+ <xsl:choose>
1762
+ <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
1763
+ <xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
1764
+ </xsl:when>
1765
+ <xsl:otherwise>
1766
+ <xsl:value-of select="@src"/>
1767
+ </xsl:otherwise>
1768
+ </xsl:choose>
1769
+ </xsl:variable>
1770
+ <fo:external-graphic src="{$src}" width="100%" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/> <!-- src="{@src}" -->
1771
+ </fo:block>
1772
+ </xsl:template>
1773
+
1774
+
1775
+ <xsl:template match="iso:bibitem">
1776
+ <fo:block id="{@id}" margin-bottom="6pt"> <!-- 12 pt -->
1777
+ <xsl:variable name="docidentifier">
1778
+ <xsl:if test="iso:docidentifier">
1779
+ <xsl:choose>
1780
+ <xsl:when test="iso:docidentifier/@type = 'metanorma'"/>
1781
+ <xsl:otherwise><xsl:value-of select="iso:docidentifier"/></xsl:otherwise>
1782
+ </xsl:choose>
1783
+ </xsl:if>
1784
+ </xsl:variable>
1785
+ <xsl:value-of select="$docidentifier"/>
1786
+ <xsl:apply-templates select="iso:note"/>
1787
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
1788
+ <fo:inline font-style="italic">
1789
+ <xsl:choose>
1790
+ <xsl:when test="iso:title[@type = 'main' and @language = 'en']">
1791
+ <xsl:value-of select="iso:title[@type = 'main' and @language = 'en']"/>
1792
+ </xsl:when>
1793
+ <xsl:otherwise>
1794
+ <xsl:value-of select="iso:title"/>
1795
+ </xsl:otherwise>
1796
+ </xsl:choose>
1797
+ </fo:inline>
1798
+ </fo:block>
1799
+ </xsl:template>
1800
+
1801
+
1802
+ <xsl:template match="iso:bibitem/iso:note">
1803
+ <fo:footnote>
1804
+ <xsl:variable name="number">
1805
+ <xsl:number level="any" count="iso:bibitem/iso:note"/>
1806
+ </xsl:variable>
1807
+ <fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
1808
+ <fo:basic-link internal-destination="footnote_{../@id}" fox:alt-text="footnote {$number}">
1809
+ <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
1810
+ </fo:basic-link>
1811
+ </fo:inline>
1812
+ <fo:footnote-body>
1813
+ <fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
1814
+ <fo:inline id="footnote_{../@id}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
1815
+ <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
1816
+ </fo:inline>
1817
+ <xsl:apply-templates/>
1818
+ </fo:block>
1819
+ </fo:footnote-body>
1820
+ </fo:footnote>
1821
+ </xsl:template>
1822
+
1823
+
1824
+
1825
+ <xsl:template match="iso:ul | iso:ol">
1826
+ <fo:list-block provisional-distance-between-starts="7mm" margin-top="8pt"> <!-- margin-bottom="8pt" -->
1827
+ <xsl:apply-templates/>
1828
+ </fo:list-block>
1829
+ <xsl:for-each select="./iso:note//iso:p">
1830
+ <xsl:call-template name="note"/>
1831
+ </xsl:for-each>
1832
+ </xsl:template>
1833
+
1834
+ <xsl:template match="iso:ul//iso:note | iso:ol//iso:note"/>
1835
+
1836
+ <xsl:template match="iso:li">
1837
+ <fo:list-item id="{@id}">
1838
+ <fo:list-item-label end-indent="label-end()">
1839
+ <fo:block>
1840
+ <xsl:call-template name="getListItemFormat"/>
1841
+ </fo:block>
1842
+ </fo:list-item-label>
1843
+ <fo:list-item-body start-indent="body-start()">
1844
+ <xsl:apply-templates/>
1845
+ <xsl:apply-templates select=".//iso:note" mode="process"/>
1846
+ </fo:list-item-body>
1847
+ </fo:list-item>
1848
+ </xsl:template>
1849
+
1850
+ <xsl:template match="iso:term">
1851
+ <xsl:param name="sectionNum"/>
1852
+ <fo:block margin-bottom="10pt">
1853
+ <xsl:apply-templates>
1854
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1855
+ </xsl:apply-templates>
1856
+ </fo:block>
1857
+ </xsl:template>
1858
+
1859
+ <xsl:template match="iso:preferred">
1860
+ <xsl:param name="sectionNum"/>
1861
+ <fo:block line-height="1.1">
1862
+ <fo:block font-weight="bold" keep-with-next="always">
1863
+ <fo:inline id="{../@id}">
1864
+ <xsl:variable name="section">
1865
+ <xsl:call-template name="getSection">
1866
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1867
+ </xsl:call-template>
1868
+ </xsl:variable>
1869
+ <xsl:value-of select="$section"/>
1870
+ <!-- <xsl:value-of select="$sectionNum"/>.<xsl:number count="iso:term"/> -->
1871
+ </fo:inline>
1872
+ </fo:block>
1873
+ <fo:block font-weight="bold" keep-with-next="always">
1874
+ <xsl:apply-templates/>
1875
+ </fo:block>
1876
+ </fo:block>
1877
+ </xsl:template>
1878
+
1879
+ <xsl:template match="iso:admitted">
1880
+ <fo:block>
1881
+ <xsl:apply-templates/>
1882
+ </fo:block>
1883
+ </xsl:template>
1884
+
1885
+ <xsl:template match="iso:deprecates">
1886
+ <fo:block>DEPRECATED: <xsl:apply-templates/></fo:block>
1887
+ </xsl:template>
1888
+
1889
+ <xsl:template match="iso:definition[preceding-sibling::iso:domain]">
1890
+ <xsl:apply-templates/>
1891
+ </xsl:template>
1892
+ <xsl:template match="iso:definition[preceding-sibling::iso:domain]/iso:p">
1893
+ <fo:inline> <xsl:apply-templates/></fo:inline>
1894
+ <fo:block> </fo:block>
1895
+ </xsl:template>
1896
+
1897
+ <xsl:template match="iso:definition">
1898
+ <fo:block margin-bottom="6pt">
1899
+ <xsl:apply-templates/>
1900
+ </fo:block>
1901
+ </xsl:template>
1902
+
1903
+ <xsl:template match="iso:termsource">
1904
+ <fo:block margin-bottom="8pt"> <!-- keep-with-previous="always" -->
1905
+ <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
1906
+ <fo:basic-link internal-destination="{iso:origin/@bibitemid}" fox:alt-text="{iso:origin/@citeas}">
1907
+ <xsl:text>[</xsl:text>
1908
+ <xsl:value-of select="$title-source"/>
1909
+ <xsl:text>: </xsl:text>
1910
+ <xsl:value-of select="iso:origin/@citeas"/>
1911
+
1912
+ <xsl:apply-templates select="iso:origin/iso:localityStack"/>
1913
+
1914
+ <!-- <xsl:if test="iso:origin/iso:locality/iso:referenceFrom">
1915
+ <xsl:text>, </xsl:text><xsl:value-of select="iso:origin/iso:locality/iso:referenceFrom"/>
1916
+ </xsl:if> -->
1917
+ </fo:basic-link>
1918
+ <xsl:apply-templates select="iso:modification"/>
1919
+ <xsl:text>]</xsl:text>
1920
+ </fo:block>
1921
+ </xsl:template>
1922
+
1923
+ <xsl:template match="iso:modification">
1924
+ <xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text>
1925
+ <xsl:apply-templates/>
1926
+ </xsl:template>
1927
+ <xsl:template match="iso:modification/iso:p">
1928
+ <fo:inline><xsl:apply-templates/></fo:inline>
1929
+ </xsl:template>
1930
+
1931
+ <xsl:template match="iso:termnote">
1932
+ <fo:block font-size="10pt" margin-top="8pt" margin-bottom="8pt" text-align="justify">
1933
+ <!-- <xsl:text>Note </xsl:text>
1934
+ <xsl:number />
1935
+ <xsl:text> to entry: </xsl:text> -->
1936
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
1937
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($title-note-to-entry),'#',$num)"/>
1938
+ <xsl:apply-templates/>
1939
+ </fo:block>
1940
+ </xsl:template>
1941
+
1942
+ <xsl:template match="iso:termnote/iso:p">
1943
+ <fo:inline><xsl:apply-templates/></fo:inline>
1944
+ <!-- <xsl:if test="following-sibling::* and not(following-sibling::iso:p)">
1945
+ <xsl:value-of select="$linebreak"/>
1946
+ <xsl:value-of select="$linebreak"/>
1947
+ </xsl:if> -->
1948
+ </xsl:template>
1949
+
1950
+ <xsl:template match="iso:domain">
1951
+ <fo:inline>&lt;<xsl:apply-templates/>&gt;</fo:inline><xsl:text> </xsl:text>
1952
+ </xsl:template>
1953
+
1954
+
1955
+ <xsl:template match="iso:termexample">
1956
+ <fo:block font-size="10pt" margin-top="8pt" margin-bottom="8pt" text-align="justify">
1957
+ <fo:inline padding-right="5mm">
1958
+ <xsl:value-of select="$title-example"/>
1959
+ <xsl:if test="count(ancestor::iso:term[1]//iso:termexample) &gt; 1">
1960
+ <xsl:number/>
1961
+ </xsl:if>
1962
+ </fo:inline>
1963
+ <xsl:apply-templates/>
1964
+ </fo:block>
1965
+ </xsl:template>
1966
+
1967
+ <xsl:template match="iso:termexample/iso:p">
1968
+ <fo:inline><xsl:apply-templates/></fo:inline>
1969
+ </xsl:template>
1970
+
1971
+
1972
+ <xsl:template match="iso:annex">
1973
+ <fo:block break-after="page"/>
1974
+ <xsl:apply-templates/>
1975
+ </xsl:template>
1976
+
1977
+
1978
+ <!-- <xsl:template match="iso:references[@id = '_bibliography']"> -->
1979
+ <xsl:template match="iso:references[position() &gt; 1]">
1980
+ <fo:block break-after="page"/>
1981
+ <xsl:apply-templates/>
1982
+ </xsl:template>
1983
+
1984
+
1985
+ <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
1986
+ <!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem"> -->
1987
+ <xsl:template match="iso:references[position() &gt; 1]/iso:bibitem">
1988
+ <fo:list-block margin-bottom="6pt" provisional-distance-between-starts="12mm">
1989
+ <fo:list-item>
1990
+ <fo:list-item-label end-indent="label-end()">
1991
+ <fo:block>
1992
+ <fo:inline id="{@id}">
1993
+ <xsl:number format="[1]"/>
1994
+ </fo:inline>
1995
+ </fo:block>
1996
+ </fo:list-item-label>
1997
+ <fo:list-item-body start-indent="body-start()">
1998
+ <fo:block>
1999
+ <xsl:variable name="docidentifier">
2000
+ <xsl:if test="iso:docidentifier">
2001
+ <xsl:choose>
2002
+ <xsl:when test="iso:docidentifier/@type = 'metanorma'"/>
2003
+ <xsl:otherwise><xsl:value-of select="iso:docidentifier"/></xsl:otherwise>
2004
+ </xsl:choose>
2005
+ </xsl:if>
2006
+ </xsl:variable>
2007
+ <xsl:value-of select="$docidentifier"/>
2008
+ <xsl:apply-templates select="iso:note"/>
2009
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
2010
+ <xsl:choose>
2011
+ <xsl:when test="iso:title[@type = 'main' and @language = 'en']">
2012
+ <xsl:apply-templates select="iso:title[@type = 'main' and @language = 'en']"/>
2013
+ </xsl:when>
2014
+ <xsl:otherwise>
2015
+ <xsl:apply-templates select="iso:title"/>
2016
+ </xsl:otherwise>
2017
+ </xsl:choose>
2018
+ <xsl:apply-templates select="iso:formattedref"/>
2019
+ </fo:block>
2020
+ </fo:list-item-body>
2021
+ </fo:list-item>
2022
+ </fo:list-block>
2023
+ </xsl:template>
2024
+
2025
+ <!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem" mode="contents"/> -->
2026
+ <xsl:template match="iso:references[position() &gt; 1]/iso:bibitem" mode="contents"/>
2027
+
2028
+ <!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem/iso:title"> -->
2029
+ <xsl:template match="iso:references[position() &gt; 1]/iso:bibitem/iso:title">
2030
+ <fo:inline font-style="italic">
2031
+ <xsl:apply-templates/>
2032
+ </fo:inline>
2033
+ </xsl:template>
2034
+
2035
+ <xsl:template match="iso:quote">
2036
+ <fo:block margin-top="12pt" margin-left="12mm" margin-right="12mm">
2037
+ <xsl:apply-templates select=".//iso:p"/>
2038
+ </fo:block>
2039
+ <fo:block text-align="right">
2040
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
2041
+ <xsl:text>— </xsl:text><xsl:value-of select="iso:author"/>
2042
+ <xsl:if test="iso:source">
2043
+ <xsl:text>, </xsl:text>
2044
+ <xsl:apply-templates select="iso:source"/>
2045
+ </xsl:if>
2046
+ </fo:block>
2047
+ </xsl:template>
2048
+
2049
+ <xsl:template match="iso:source">
2050
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
2051
+ <xsl:value-of select="@citeas" disable-output-escaping="yes"/>
2052
+ <xsl:apply-templates select="iso:localityStack"/>
2053
+ </fo:basic-link>
2054
+ </xsl:template>
2055
+
2056
+
2057
+ <xsl:template match="mathml:math" priority="2">
2058
+ <fo:inline font-family="Cambria Math">
2059
+ <fo:instream-foreign-object fox:alt-text="Math">
2060
+ <xsl:copy-of select="."/>
2061
+ </fo:instream-foreign-object>
2062
+ </fo:inline>
2063
+ </xsl:template>
2064
+
2065
+ <xsl:template match="iso:xref">
2066
+ <xsl:param name="sectionNum"/>
2067
+
2068
+ <xsl:variable name="target" select="normalize-space(@target)"/>
2069
+ <fo:basic-link internal-destination="{$target}" fox:alt-text="{$target}">
2070
+ <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = $target]/@section"/>
2071
+ <!-- <xsl:if test="not(starts-with($section, 'Figure') or starts-with($section, 'Table'))"> -->
2072
+ <xsl:attribute name="color">blue</xsl:attribute>
2073
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2074
+ <!-- </xsl:if> -->
2075
+ <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = $target]/@type"/>
2076
+ <xsl:variable name="root" select="xalan:nodeset($contents)//item[@id =$target]/@root"/>
2077
+ <xsl:variable name="level" select="xalan:nodeset($contents)//item[@id =$target]/@level"/>
2078
+ <xsl:choose>
2079
+ <xsl:when test="$type = 'clause' and $root != 'annex' and $level = 1"><xsl:value-of select="$title-clause"/></xsl:when><!-- and not (ancestor::annex) -->
2080
+ <xsl:when test="$type = 'li'">
2081
+ <xsl:attribute name="color">black</xsl:attribute>
2082
+ <xsl:attribute name="text-decoration">none</xsl:attribute>
2083
+ <xsl:variable name="parent_section" select="xalan:nodeset($contents)//item[@id =$target]/@parent_section"/>
2084
+ <xsl:variable name="currentSection">
2085
+ <xsl:call-template name="getSection"/>
2086
+ </xsl:variable>
2087
+ <xsl:if test="not(contains($parent_section, $currentSection))">
2088
+ <fo:basic-link internal-destination="{$target}" fox:alt-text="{$target}">
2089
+ <xsl:attribute name="color">blue</xsl:attribute>
2090
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2091
+ <xsl:value-of select="$parent_section"/><xsl:text> </xsl:text>
2092
+ </fo:basic-link>
2093
+ </xsl:if>
2094
+ </xsl:when>
2095
+ <xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
2096
+ </xsl:choose>
2097
+ <xsl:value-of select="$section"/>
2098
+ </fo:basic-link>
2099
+ </xsl:template>
2100
+
2101
+ <xsl:template match="iso:example/iso:p">
2102
+ <fo:block font-size="10pt" margin-top="8pt" margin-bottom="8pt">
2103
+ <!-- <xsl:if test="ancestor::iso:li">
2104
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2105
+ </xsl:if> -->
2106
+ <xsl:variable name="claims_id" select="ancestor::iso:clause[1]/@id"/>
2107
+ <fo:inline padding-right="5mm">
2108
+ <xsl:value-of select="$title-example"/>
2109
+ <xsl:if test="count(ancestor::iso:clause[1]//iso:example) &gt; 1">
2110
+ <xsl:number count="iso:example[ancestor::iso:clause[@id = $claims_id]]" level="any"/>
2111
+ </xsl:if>
2112
+ </fo:inline>
2113
+ <xsl:apply-templates/>
2114
+ </fo:block>
2115
+ </xsl:template>
2116
+
2117
+ <xsl:template match="iso:note/iso:p" name="note">
2118
+ <fo:block font-size="10pt" margin-top="8pt" margin-bottom="12pt" text-align="justify">
2119
+ <xsl:variable name="claims_id" select="ancestor::iso:clause[1]/@id"/>
2120
+ <fo:inline padding-right="6mm">
2121
+ <xsl:value-of select="$title-note"/>
2122
+ <xsl:if test="count(ancestor::iso:clause[1]//iso:note) &gt; 1">
2123
+ <xsl:number count="iso:note[ancestor::iso:clause[@id = $claims_id]]" level="any"/>
2124
+ </xsl:if>
2125
+ </fo:inline>
2126
+ <xsl:apply-templates/>
2127
+ </fo:block>
2128
+ </xsl:template>
2129
+
2130
+ <!-- <eref type="inline" bibitemid="IEC60050-113" citeas="IEC 60050-113:2011"><localityStack><locality type="clause"><referenceFrom>113-01-12</referenceFrom></locality></localityStack></eref> -->
2131
+ <xsl:template match="iso:eref">
2132
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}"> <!-- font-size="9pt" color="blue" vertical-align="super" -->
2133
+ <xsl:if test="@type = 'footnote'">
2134
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
2135
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2136
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2137
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2138
+ </xsl:if>
2139
+ <!-- <xsl:if test="@type = 'inline'">
2140
+ <xsl:attribute name="color">blue</xsl:attribute>
2141
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2142
+ </xsl:if> -->
2143
+
2144
+ <xsl:choose>
2145
+ <xsl:when test="@citeas and normalize-space(text()) = ''">
2146
+ <xsl:value-of select="@citeas" disable-output-escaping="yes"/>
2147
+ </xsl:when>
2148
+ <xsl:when test="@bibitemid and normalize-space(text()) = ''">
2149
+ <xsl:value-of select="//iso:bibitem[@id = current()/@bibitemid]/iso:docidentifier"/>
2150
+ </xsl:when>
2151
+ <xsl:otherwise/>
2152
+ </xsl:choose>
2153
+ <xsl:apply-templates select="iso:localityStack"/>
2154
+ <xsl:apply-templates select="text()"/>
2155
+ </fo:basic-link>
2156
+ </xsl:template>
2157
+
2158
+ <xsl:template match="iso:locality">
2159
+ <xsl:choose>
2160
+ <xsl:when test="ancestor::iso:termsource"/>
2161
+ <xsl:when test="@type ='clause' and ancestor::iso:eref"/>
2162
+ <xsl:when test="@type ='clause'"><xsl:value-of select="$title-clause"/></xsl:when>
2163
+ <xsl:when test="@type ='annex'"><xsl:value-of select="$title-annex"/></xsl:when>
2164
+ <xsl:when test="@type ='table'"><xsl:value-of select="$title-table"/></xsl:when>
2165
+ <xsl:otherwise><xsl:value-of select="@type"/></xsl:otherwise>
2166
+ </xsl:choose>
2167
+ <xsl:text> </xsl:text><xsl:value-of select="iso:referenceFrom"/>
2168
+ </xsl:template>
2169
+
2170
+ <xsl:template match="iso:admonition">
2171
+ <fo:block margin-bottom="12pt" font-weight="bold"> <!-- text-align="center" -->
2172
+ <xsl:value-of select="translate(@type, $lower, $upper)"/>
2173
+ <xsl:text> — </xsl:text>
2174
+ <xsl:apply-templates/>
2175
+ </fo:block>
2176
+ </xsl:template>
2177
+
2178
+ <xsl:template match="iso:formula/iso:dt/iso:stem">
2179
+ <fo:inline>
2180
+ <xsl:apply-templates/>
2181
+ </fo:inline>
2182
+ </xsl:template>
2183
+
2184
+ <xsl:template match="iso:formula/iso:stem">
2185
+ <fo:block id="{../@id}" margin-top="6pt" margin-bottom="12pt">
2186
+ <fo:table table-layout="fixed" width="100%">
2187
+ <fo:table-column column-width="95%"/>
2188
+ <fo:table-column column-width="5%"/>
2189
+ <fo:table-body>
2190
+ <fo:table-row>
2191
+ <fo:table-cell display-align="center">
2192
+ <fo:block text-align="left" margin-left="5mm">
2193
+ <xsl:apply-templates/>
2194
+ </fo:block>
2195
+ </fo:table-cell>
2196
+ <fo:table-cell display-align="center">
2197
+ <fo:block text-align="right">
2198
+ <xsl:choose>
2199
+ <xsl:when test="ancestor::iso:annex">
2200
+ <xsl:text>(</xsl:text><xsl:number format="A.1" level="multiple" count="iso:annex | iso:formula"/><xsl:text>)</xsl:text>
2201
+ </xsl:when>
2202
+ <xsl:otherwise> <!-- not(ancestor::iso:annex) -->
2203
+ <!-- <xsl:text>(</xsl:text><xsl:number level="any" count="iso:formula"/><xsl:text>)</xsl:text> -->
2204
+ </xsl:otherwise>
2205
+ </xsl:choose>
2206
+ </fo:block>
2207
+ </fo:table-cell>
2208
+ </fo:table-row>
2209
+ </fo:table-body>
2210
+ </fo:table>
2211
+ <fo:inline keep-together.within-line="always">
2212
+ </fo:inline>
2213
+ </fo:block>
2214
+ </xsl:template>
2215
+
2216
+
2217
+ <xsl:template match="iso:br" priority="2">
2218
+ <!-- <fo:block>&#xA0;</fo:block> -->
2219
+ <xsl:value-of select="$linebreak"/>
2220
+ </xsl:template>
2221
+
2222
+ <xsl:template name="insertHeaderFooter">
2223
+ <xsl:param name="font-weight" select="'bold'"/>
2224
+ <xsl:call-template name="insertHeaderEven"/>
2225
+ <fo:static-content flow-name="footer-even">
2226
+ <fo:block-container> <!-- display-align="after" -->
2227
+ <fo:table table-layout="fixed" width="100%">
2228
+ <fo:table-column column-width="33%"/>
2229
+ <fo:table-column column-width="33%"/>
2230
+ <fo:table-column column-width="34%"/>
2231
+ <fo:table-body>
2232
+ <fo:table-row>
2233
+ <fo:table-cell display-align="center" padding-top="0mm" font-size="11pt" font-weight="{$font-weight}">
2234
+ <fo:block><fo:page-number/></fo:block>
2235
+ </fo:table-cell>
2236
+ <fo:table-cell display-align="center">
2237
+ <fo:block font-size="11pt" font-weight="bold" text-align="center">
2238
+ <xsl:if test="$stage-abbreviation = 'PRF'">
2239
+ <xsl:value-of select="$proof-text"/>
2240
+ </xsl:if>
2241
+ </fo:block>
2242
+ </fo:table-cell>
2243
+ <fo:table-cell display-align="center" padding-top="0mm" font-size="9pt">
2244
+ <fo:block text-align="right"><xsl:value-of select="$copyrightText"/></fo:block>
2245
+ </fo:table-cell>
2246
+ </fo:table-row>
2247
+ </fo:table-body>
2248
+ </fo:table>
2249
+ </fo:block-container>
2250
+ </fo:static-content>
2251
+ <fo:static-content flow-name="header-first">
2252
+ <fo:block-container margin-top="13mm" height="9mm" width="172mm" border-top="0.5mm solid black" border-bottom="0.5mm solid black" display-align="center" background-color="white">
2253
+ <fo:block text-align-last="justify" font-size="12pt" font-weight="bold">
2254
+
2255
+ <xsl:value-of select="$stagename-header-firstpage"/>
2256
+
2257
+ <fo:inline keep-together.within-line="always">
2258
+ <fo:leader leader-pattern="space"/>
2259
+ <fo:inline><xsl:value-of select="$ISOname"/></fo:inline>
2260
+ </fo:inline>
2261
+ </fo:block>
2262
+ </fo:block-container>
2263
+ </fo:static-content>
2264
+ <fo:static-content flow-name="header-odd">
2265
+ <fo:block-container height="24mm" display-align="before">
2266
+ <fo:block font-size="12pt" font-weight="bold" text-align="right" padding-top="12.5mm"><xsl:value-of select="$ISOname"/></fo:block>
2267
+ </fo:block-container>
2268
+ </fo:static-content>
2269
+ <fo:static-content flow-name="footer-odd">
2270
+ <fo:block-container> <!-- display-align="after" -->
2271
+ <fo:table table-layout="fixed" width="100%">
2272
+ <fo:table-column column-width="33%"/>
2273
+ <fo:table-column column-width="33%"/>
2274
+ <fo:table-column column-width="34%"/>
2275
+ <fo:table-body>
2276
+ <fo:table-row>
2277
+ <fo:table-cell display-align="center" padding-top="0mm" font-size="9pt">
2278
+ <fo:block><xsl:value-of select="$copyrightText"/></fo:block>
2279
+ </fo:table-cell>
2280
+ <fo:table-cell display-align="center">
2281
+ <fo:block font-size="11pt" font-weight="bold" text-align="center">
2282
+ <xsl:if test="$stage-abbreviation = 'PRF'">
2283
+ <xsl:value-of select="$proof-text"/>
2284
+ </xsl:if>
2285
+ </fo:block>
2286
+ </fo:table-cell>
2287
+ <fo:table-cell display-align="center" padding-top="0mm" font-size="11pt" font-weight="{$font-weight}">
2288
+ <fo:block text-align="right"><fo:page-number/></fo:block>
2289
+ </fo:table-cell>
2290
+ </fo:table-row>
2291
+ </fo:table-body>
2292
+ </fo:table>
2293
+ </fo:block-container>
2294
+ </fo:static-content>
2295
+ </xsl:template>
2296
+ <xsl:template name="insertHeaderEven">
2297
+ <fo:static-content flow-name="header-even">
2298
+ <fo:block-container height="24mm" display-align="before">
2299
+ <fo:block font-size="12pt" font-weight="bold" padding-top="12.5mm"><xsl:value-of select="$ISOname"/></fo:block>
2300
+ </fo:block-container>
2301
+ </fo:static-content>
2302
+ </xsl:template>
2303
+
2304
+ <xsl:template name="getId">
2305
+ <xsl:choose>
2306
+ <xsl:when test="../@id">
2307
+ <xsl:value-of select="../@id"/>
2308
+ </xsl:when>
2309
+ <xsl:otherwise>
2310
+ <xsl:value-of select="text()"/>
2311
+ </xsl:otherwise>
2312
+ </xsl:choose>
2313
+ </xsl:template>
2314
+
2315
+ <xsl:template name="getLevel">
2316
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
2317
+ <xsl:variable name="level">
2318
+ <xsl:choose>
2319
+ <xsl:when test="ancestor::iso:preface">
2320
+ <xsl:value-of select="$level_total - 2"/>
2321
+ </xsl:when>
2322
+ <xsl:when test="ancestor::iso:sections">
2323
+ <xsl:value-of select="$level_total - 2"/>
2324
+ </xsl:when>
2325
+ <xsl:when test="ancestor::iso:bibliography">
2326
+ <xsl:value-of select="$level_total - 2"/>
2327
+ </xsl:when>
2328
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
2329
+ <xsl:otherwise>
2330
+ <xsl:value-of select="$level_total - 1"/>
2331
+ </xsl:otherwise>
2332
+ </xsl:choose>
2333
+ </xsl:variable>
2334
+ <xsl:value-of select="$level"/>
2335
+ </xsl:template>
2336
+
2337
+ <xsl:template name="getSection">
2338
+ <xsl:param name="sectionNum"/>
2339
+ <xsl:variable name="level">
2340
+ <xsl:call-template name="getLevel"/>
2341
+ </xsl:variable>
2342
+ <xsl:variable name="section">
2343
+ <xsl:choose>
2344
+ <xsl:when test="ancestor::iso:bibliography">
2345
+ <xsl:value-of select="$sectionNum"/>
2346
+ </xsl:when>
2347
+ <xsl:when test="ancestor::iso:sections">
2348
+ <!-- 1, 2, 3, 4, ... from main section (not annex, bibliography, ...) -->
2349
+ <xsl:choose>
2350
+ <xsl:when test="$level = 1">
2351
+ <xsl:value-of select="$sectionNum"/>
2352
+ </xsl:when>
2353
+ <xsl:when test="$level &gt;= 2">
2354
+ <xsl:variable name="num">
2355
+ <xsl:number format=".1" level="multiple" count="iso:clause/iso:clause | iso:clause/iso:terms | iso:terms/iso:term | iso:clause/iso:term | iso:terms/iso:clause | iso:terms/iso:definitions | iso:definitions/iso:clause | iso:definitions/iso:definitions | iso:clause/iso:definitions"/>
2356
+ </xsl:variable>
2357
+ <xsl:value-of select="concat($sectionNum, $num)"/>
2358
+ </xsl:when>
2359
+ <xsl:otherwise>
2360
+ <!-- z<xsl:value-of select="$sectionNum"/>z -->
2361
+ </xsl:otherwise>
2362
+ </xsl:choose>
2363
+ </xsl:when>
2364
+ <!-- <xsl:when test="ancestor::iso:annex[@obligation = 'informative']">
2365
+ <xsl:choose>
2366
+ <xsl:when test="$level = 1">
2367
+ <xsl:text>Annex </xsl:text>
2368
+ <xsl:number format="I" level="any" count="iso:annex[@obligation = 'informative']"/>
2369
+ </xsl:when>
2370
+ <xsl:otherwise>
2371
+ <xsl:number format="I.1" level="multiple" count="iso:annex[@obligation = 'informative'] | iso:clause"/>
2372
+ </xsl:otherwise>
2373
+ </xsl:choose>
2374
+ </xsl:when> -->
2375
+ <xsl:when test="ancestor::iso:annex">
2376
+ <xsl:variable name="annexid" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:annexid)"/>
2377
+ <xsl:choose>
2378
+ <xsl:when test="$level = 1">
2379
+ <xsl:value-of select="$title-annex"/>
2380
+ <xsl:choose>
2381
+ <xsl:when test="count(//iso:annex) = 1 and $annexid != ''">
2382
+ <xsl:value-of select="$annexid"/>
2383
+ </xsl:when>
2384
+ <xsl:otherwise>
2385
+ <xsl:number format="A" level="any" count="iso:annex"/>
2386
+ </xsl:otherwise>
2387
+ </xsl:choose>
2388
+ </xsl:when>
2389
+ <xsl:otherwise>
2390
+ <xsl:choose>
2391
+ <xsl:when test="count(//iso:annex) = 1 and $annexid != ''">
2392
+ <xsl:value-of select="$annexid"/><xsl:number format=".1" level="multiple" count="iso:clause"/>
2393
+ </xsl:when>
2394
+ <xsl:otherwise>
2395
+ <xsl:number format="A.1" level="multiple" count="iso:annex | iso:clause"/>
2396
+ </xsl:otherwise>
2397
+ </xsl:choose>
2398
+ </xsl:otherwise>
2399
+ </xsl:choose>
2400
+ </xsl:when>
2401
+ <xsl:when test="ancestor::iso:preface"> <!-- if preface and there is clause(s) -->
2402
+ <xsl:choose>
2403
+ <xsl:when test="$level = 1 and ..//iso:clause">0</xsl:when>
2404
+ <xsl:when test="$level &gt;= 2">
2405
+ <xsl:variable name="num">
2406
+ <xsl:number format=".1" level="multiple" count="iso:clause"/>
2407
+ </xsl:variable>
2408
+ <xsl:value-of select="concat('0', $num)"/>
2409
+ </xsl:when>
2410
+ <xsl:otherwise>
2411
+ <!-- z<xsl:value-of select="$sectionNum"/>z -->
2412
+ </xsl:otherwise>
2413
+ </xsl:choose>
2414
+ </xsl:when>
2415
+ <xsl:otherwise>
2416
+ </xsl:otherwise>
2417
+ </xsl:choose>
2418
+ </xsl:variable>
2419
+ <xsl:value-of select="$section"/>
2420
+ </xsl:template>
2421
+
2422
+ <xsl:variable name="Image-ISO-Logo2">
2423
+ <xsl:text>
2424
+ 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
2647
+ </xsl:text>
2648
+ </xsl:variable>
2649
+
2650
+ <xsl:variable name="Image-ISO-Logo">
2651
+ <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAPcAAADiCAYAAACSl1F7AAAAGXRFWHRTb2Z0d2FyZQBBZG9i
2652
+ ZSBJbWFnZVJlYWR5ccllPAAABT9pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl
2653
+ dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l
2654
+ dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUu
2655
+ Ni1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpS
2656
+ REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt
2657
+ bnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wUmlnaHRzPSJo
2658
+ dHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgeG1sbnM6eG1wTU09Imh0dHA6
2659
+ Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
2660
+ YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9u
2661
+ cy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxl
2662
+ bWVudHMvMS4xLyIgeG1wUmlnaHRzOk1hcmtlZD0iVHJ1ZSIgeG1wUmlnaHRzOldlYlN0YXRl
2663
+ bWVudD0iaHR0cDovL3d3dy5pc28ub3JnL2lzby9ob21lL3BvbGljaWVzLmh0bSIgeG1wTU06
2664
+ T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjNjZGZlYTk5LWYzY2QtNDcyYS1hNGVmLWQ4
2665
+ ZmY5MDQ4YTk0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozRjU0RkYwNTc5OTIxMUVB
2666
+ QjEyNkEyOUU0MUE2ODdFNCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozRjU0RkYwNDc5
2667
+ OTIxMUVBQjEyNkEyOUU0MUE2ODdFNCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBJbkRlc2ln
2668
+ biBDQyAyMDE3IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5j
2669
+ ZUlEPSJ1dWlkOjRhOTA3NDQ2LTExMTgtNGZmZi1iY2E4LWU1NWI5YjBhNTBmZCIgc3RSZWY6
2670
+ ZG9jdW1lbnRJRD0ieG1wLmlkOjFlNzM4NzEwLWMyNzUtYjU0Yy1hYWUwLWYwMzYwMTQyZTJl
2671
+ ZSIvPiA8ZGM6cmlnaHRzPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0
2672
+ Ij7CqSBJU08g77u/MjAxOO+7vzwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6cmlnaHRzPiA8
2673
+ ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+SVNPPC9yZGY6bGk+IDwvcmRmOlNlcT4g
2674
+ PC9kYzpjcmVhdG9yPiA8ZGM6dGl0bGU+IDxyZGY6QWx0PiA8cmRmOmxpIHhtbDpsYW5nPSJ4
2675
+ LWRlZmF1bHQiPklTTy9GRElTIDg2MDEtMjoyMDE5PC9yZGY6bGk+IDwvcmRmOkFsdD4gPC9k
2676
+ Yzp0aXRsZT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/
2677
+ eHBhY2tldCBlbmQ9InIiPz7JxxdJAAAhu0lEQVR42uxdB9gV1bXdiv4g0lQsqBAUe6+A7dmw
2678
+ xf4sIRoVjSbGksRoYkmeYqJRoxITNZqoscRnYk1i14iCXVMUKyKgYAeRIohge2c5677/Ov+5
2679
+ 7b8zZ+beu9b37e/C3PnvzJw565y999l7n0WGDz9ojJlta4IgNAuudTJiUbWDIDQnRG5BELkF
2680
+ QRC5BUEQuQVBELkFQRC5BUEQuQVB5BYEQeQWBEHkFgRB5BYEQeQWBEHkFgSRWxAEkVsQBJFb
2681
+ EASRWxAEkVsQBJFbEERuQRBEbkEQRG5BEERuQRBqwGJqgobFp04mOJnq5C0n7/HzXSfTnMx1
2682
+ 8omTeU4WOJnPv1vCSVcn3Z20OVnSyXJOVnCykpPl+bmyk7WcLK6mFrmF9PCGkyecvOjkBSfj
2683
+ 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
2827
+ GAcdXP9eq1y1BRl1WGJDrD7CfQep2yQPrRemh4G0s0dyVvqtlQ7OiBN9NP+/PFV4VPTcgmou
2828
+ wl6voh0bj7fGzPkc1epq0x5fpd3+eAm/wuUWhcJ+TjIiHfMB3uM7NbYJKs4cT19FH3URkbvR
2829
+ gXpmSBOFowi5xtdatHZcjZf7Pc6aN/D/S9D2RX03eJF9Ti8s023EmRge+lJ51m/TLr60zL0g
2830
+ QaawvgznXWfW7bF8uCcHo93U58JhkeHDDxpj+dskvdkxm/Yz1PcnzJ/xlJTZtQ3JWbBnsRwH
2831
+ D/bDlm4K6RD6HoZb9iWiWg2YQEZoFM0G8LAfRcEMirJAd1DdTXJnEajSY81f8yxpdKP5sAdn
2832
+ 6pX1mqWWtzpWLCL6xyQ4wksfo0qc11roXai2oxT0ThTlVIvcQpnZbw9rT2WcR7Udzi5ExGEX
2833
+ k6kZ3Rtsd4TBIqBmK5K6h16ZyC10DqgFPoxSAMJOsQQ1nmSfQtX+XdrTnVXrl6AWsTxVagi2
2834
+ +UGmGzzvvfQ6RG4hXcD7PsRK1y0D+d/jrF/Y0vdja/eId6OAzF2pSi9HP4Agcgs5J39PNYOg
2835
+ CDVBELkFQRC5BUEQuQVBELkFQRC5BUEQuQVB5BYEQeQWBEHkFgRB5BYEQeQWBEHkFgSRWxAE
2836
+ kVsQBJFbEASRWxAEkVsQBJFbEERuQRBEbkEQRG5BEERuQRBEbkEQRG5BELkFQWgkYDuhiU76
2837
+ qCkEoWkwtUDuI9UWgtB8+D8BBgBziI7n+Kw0uQAAAABJRU5ErkJggg==
2838
+ </xsl:text>
2839
+ </xsl:variable>
2840
+
2841
+ <xsl:variable name="Image-IEC-Logo">
2842
+ <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAOwAAADlCAYAAABQ3BvcAAAAGXRFWHRTb2Z0d2FyZQBBZG9i
2843
+ ZSBJbWFnZVJlYWR5ccllPAAAA39pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl
2844
+ dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l
2845
+ dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUu
2846
+ Ni1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpS
2847
+ REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt
2848
+ bnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6
2849
+ Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
2850
+ YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9u
2851
+ cy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUZCNjhD
2852
+ NjM3QTUxMTFFQUE0MDdDNjQ1OTIxQjc1Q0IiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6
2853
+ QUZCNjhDNjI3QTUxMTFFQUE0MDdDNjQ1OTIxQjc1Q0IiIHhtcDpDcmVhdG9yVG9vbD0iTW96
2854
+ aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTRfNikgQXBwbGVXZWJL
2855
+ aXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzc3LjAuMzg2NS45MCBTYWZh
2856
+ cmkvNTM3LjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6
2857
+ OGRjOTFlYTktMGJlYy00YjJiLWI5ZjctYTNlMjA3ZTBiM2RjIiBzdFJlZjpkb2N1bWVudElE
2858
+ PSJ1dWlkOmZmYjEyOTA0LTcyNWItNGRlOS1iNTYxLWU3YmY0YjEzMDMyZSIvPiA8L3JkZjpE
2859
+ ZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/
2860
+ PuNo9+0AAA5WSURBVHja7J1pkBXlFYYPEQRlFAxjQFExIho0igY3NJAyRkVErTJKTFwTo0lc
2861
+ UdyIK2i5gFvFRI0aV1BBQDRaMYLEBTXGjS2ZuCO4sOjIKKIMAjkn/VlSFMz0vff0dud5qt7i
2862
+ xzSnu7/u9/a3n1bdu205UUQOEQDIO8O+RRkAFAcMC4BhAQDDAmBYAMCwAIBhATAsAGBYAMCw
2863
+ ABgWADAsAGBYAAwLABgWADAsAIYFAAwLABgWAMMCAIYFAAwLgGEBAMMCAIYFwLAAgGEBAMMC
2864
+ YFgAwLAAgGEBMCwAYFgAwLAAGBYAMCwAYFgADAsAGBYAMCwAhgUADAsAGBYAwwIAhgUADAuA
2865
+ YQEgW1pTBFAgPlW9qZob9LFqkapRtUTVUbWuagPVJqotgrpXy7uOYSHPzFZNUj2tekn1umpF
2866
+ GXHaqnZU9Vb1Ue0bDI1hm6PLJl2k9Tq+p21ctkwWzJ+fh/JcrFpeoOffLrzMeeIV1f2qiao3
2867
+ nGIuVb0YdLOqVTDwANVhqh9g2LUwZtw46dq1q2vMuro6OeiAAVmU39uq+8JX4NVQZSsSl6gu
2868
+ zsF1WNX2dtUtocqbNCtV04OuCNXmY1WnqjbO8wOj06k83gi/zD1UF6ieKqBZ88BM1XEq+wU/
2869
+ JyWzrok5qktV3VS/Ub2HYauH60N1anyZ7SkQ+afqAFUv1V2hypoHvghf+W1Ul6mWYdjiYuY8
2870
+ XnWG6kuKoyzmharnnqrHQtU0j5hxL1Ttai0uDFtMfhvaWVAe1tbfVnV3jo26OtODacfm5YIY
2871
+ 1omHVZNupRjKwsZHT034x65GtZdqJ9VWqs4SjclalbZB9YHqNdXLEg0PfVVC7M9VR4R27ZkY
2872
+ Nv+8rzqLYiiLD1UDJRqq8aZ3iL2fanfVOjH/n3UOPhq+9H+P+bW3Y4aEH4BzMWy+sc6HzyiG
2873
+ knlLtX/41wubwXRi6EvoWWaMDVU/D7KJGMNDdT1OB+J5qvaqUzBsPrHxwTsSir29ajdVhwzv
2874
+ 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
2928
+ QDH4nwADAD8qVGA5YSc/AAAAAElFTkSuQmCC
2929
+ </xsl:text>
2930
+ </xsl:variable>
2931
+
2932
+ <xsl:variable name="Image-Attention">
2933
+ <xsl:text>
2934
+ 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
3006
+ </xsl:text>
3007
+ </xsl:variable>
3008
+
3009
+ <xsl:template name="number-to-words">
3010
+ <xsl:param name="number"/>
3011
+ <xsl:variable name="words">
3012
+ <words>
3013
+ <word cardinal="1">One-</word>
3014
+ <word ordinal="1">First </word>
3015
+ <word cardinal="2">Two-</word>
3016
+ <word ordinal="2">Second </word>
3017
+ <word cardinal="3">Three-</word>
3018
+ <word ordinal="3">Third </word>
3019
+ <word cardinal="4">Four-</word>
3020
+ <word ordinal="4">Fourth </word>
3021
+ <word cardinal="5">Five-</word>
3022
+ <word ordinal="5">Fifth </word>
3023
+ <word cardinal="6">Six-</word>
3024
+ <word ordinal="6">Sixth </word>
3025
+ <word cardinal="7">Seven-</word>
3026
+ <word ordinal="7">Seventh </word>
3027
+ <word cardinal="8">Eight-</word>
3028
+ <word ordinal="8">Eighth </word>
3029
+ <word cardinal="9">Nine-</word>
3030
+ <word ordinal="9">Ninth </word>
3031
+ <word ordinal="10">Tenth </word>
3032
+ <word ordinal="11">Eleventh </word>
3033
+ <word ordinal="12">Twelfth </word>
3034
+ <word ordinal="13">Thirteenth </word>
3035
+ <word ordinal="14">Fourteenth </word>
3036
+ <word ordinal="15">Fifteenth </word>
3037
+ <word ordinal="16">Sixteenth </word>
3038
+ <word ordinal="17">Seventeenth </word>
3039
+ <word ordinal="18">Eighteenth </word>
3040
+ <word ordinal="19">Nineteenth </word>
3041
+ <word cardinal="20">Twenty-</word>
3042
+ <word ordinal="20">Twentieth </word>
3043
+ <word cardinal="30">Thirty-</word>
3044
+ <word ordinal="30">Thirtieth </word>
3045
+ <word cardinal="40">Forty-</word>
3046
+ <word ordinal="40">Fortieth </word>
3047
+ <word cardinal="50">Fifty-</word>
3048
+ <word ordinal="50">Fiftieth </word>
3049
+ <word cardinal="60">Sixty-</word>
3050
+ <word ordinal="60">Sixtieth </word>
3051
+ <word cardinal="70">Seventy-</word>
3052
+ <word ordinal="70">Seventieth </word>
3053
+ <word cardinal="80">Eighty-</word>
3054
+ <word ordinal="80">Eightieth </word>
3055
+ <word cardinal="90">Ninety-</word>
3056
+ <word ordinal="90">Ninetieth </word>
3057
+ <word cardinal="100">Hundred-</word>
3058
+ <word ordinal="100">Hundredth </word>
3059
+ </words>
3060
+ </xsl:variable>
3061
+
3062
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
3063
+
3064
+ <xsl:choose>
3065
+ <xsl:when test="$ordinal != ''">
3066
+ <xsl:value-of select="$ordinal"/>
3067
+ </xsl:when>
3068
+ <xsl:otherwise>
3069
+ <xsl:choose>
3070
+ <xsl:when test="$number &lt; 100">
3071
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
3072
+ <xsl:variable name="digit" select="substring($number,2)"/>
3073
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
3074
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
3075
+ </xsl:when>
3076
+ <xsl:otherwise>
3077
+ <!-- more 100 -->
3078
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
3079
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
3080
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
3081
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
3082
+ <xsl:call-template name="number-to-words">
3083
+ <xsl:with-param name="number" select="$digits"/>
3084
+ </xsl:call-template>
3085
+ </xsl:otherwise>
3086
+ </xsl:choose>
3087
+ </xsl:otherwise>
3088
+ </xsl:choose>
3089
+ </xsl:template>
3090
+
3091
+ <xsl:template name="printEdition">
3092
+ <xsl:variable name="edition" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:edition)"/>
3093
+ <xsl:text> </xsl:text>
3094
+ <xsl:choose>
3095
+ <xsl:when test="number($edition) = $edition">
3096
+ <xsl:call-template name="number-to-words">
3097
+ <xsl:with-param name="number" select="$edition"/>
3098
+ </xsl:call-template>
3099
+ </xsl:when>
3100
+ <xsl:when test="$edition != ''">
3101
+ <xsl:value-of select="$edition"/>
3102
+ </xsl:when>
3103
+ </xsl:choose>
3104
+ <xsl:if test="$edition != ''"><xsl:text> edition</xsl:text></xsl:if>
3105
+ </xsl:template>
3106
+
3107
+ <xsl:template name="printTitlePartFr">
3108
+ <xsl:variable name="part-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-part']"/>
3109
+ <xsl:if test="normalize-space($part-fr) != ''">
3110
+ <xsl:if test="$part != ''">
3111
+ <xsl:text> — </xsl:text>
3112
+ <xsl:value-of select="$title-part-fr"/>
3113
+ <xsl:value-of select="$part"/>
3114
+ <xsl:text>:</xsl:text>
3115
+ </xsl:if>
3116
+ <xsl:value-of select="$part-fr"/>
3117
+ </xsl:if>
3118
+ </xsl:template>
3119
+
3120
+ <xsl:template name="printTitlePartEn">
3121
+ <xsl:variable name="part-en" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-part']"/>
3122
+ <xsl:if test="normalize-space($part-en) != ''">
3123
+ <xsl:if test="$part != ''">
3124
+ <xsl:text> — </xsl:text>
3125
+ <fo:block font-weight="normal" margin-top="6pt">
3126
+ <xsl:value-of select="$title-part-en"/>
3127
+ <xsl:value-of select="$part"/>
3128
+ <xsl:text>:</xsl:text>
3129
+ </fo:block>
3130
+ </xsl:if>
3131
+ <xsl:value-of select="$part-en"/>
3132
+ </xsl:if>
3133
+ </xsl:template>
3134
+
3135
+
3136
+ <xsl:variable name="title-table">
3137
+
3138
+ <xsl:text>Table </xsl:text>
3139
+
3140
+
3141
+ </xsl:variable><xsl:variable name="title-note">
3142
+
3143
+ <xsl:text>NOTE </xsl:text>
3144
+
3145
+
3146
+ </xsl:variable><xsl:variable name="title-figure">
3147
+
3148
+ <xsl:text>Figure </xsl:text>
3149
+
3150
+
3151
+ </xsl:variable><xsl:variable name="title-example">
3152
+
3153
+ <xsl:text>EXAMPLE </xsl:text>
3154
+
3155
+
3156
+ </xsl:variable><xsl:variable name="title-inequality">Inequality </xsl:variable><xsl:variable name="title-equation">Equation </xsl:variable><xsl:variable name="title-annex">
3157
+
3158
+ <xsl:text>Annex </xsl:text>
3159
+
3160
+
3161
+ </xsl:variable><xsl:variable name="title-appendix">
3162
+ <xsl:text>Appendix </xsl:text>
3163
+ </xsl:variable><xsl:variable name="title-clause">
3164
+
3165
+ <xsl:text>Clause </xsl:text>
3166
+
3167
+
3168
+ </xsl:variable><xsl:variable name="title-edition">
3169
+ <xsl:text>Edition </xsl:text>
3170
+ </xsl:variable><xsl:variable name="title-toc">
3171
+
3172
+
3173
+ </xsl:variable><xsl:variable name="title-page">Page</xsl:variable><xsl:variable name="title-key">Key</xsl:variable><xsl:variable name="title-where">where</xsl:variable><xsl:variable name="title-descriptors">Descriptors</xsl:variable><xsl:variable name="title-part-en">Part </xsl:variable><xsl:variable name="title-part-fr">Partie </xsl:variable><xsl:variable name="title-note-to-entry">Note # to entry: </xsl:variable><xsl:variable name="title-modified">modified</xsl:variable><xsl:variable name="title-source">SOURCE</xsl:variable><xsl:variable name="title-keywords">Keywords</xsl:variable><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">
3174
+
3175
+ <xsl:attribute name="color">blue</xsl:attribute>
3176
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
3177
+
3178
+
3179
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
3180
+
3181
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
3182
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
3183
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
3184
+
3185
+
3186
+
3187
+
3188
+
3189
+
3190
+
3191
+
3192
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
3193
+
3194
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
3195
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3196
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
3197
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
3198
+
3199
+
3200
+
3201
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
3202
+
3203
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3204
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
3205
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
3206
+
3207
+
3208
+
3209
+ </xsl:attribute-set><xsl:template match="text()">
3210
+ <xsl:value-of select="."/>
3211
+ </xsl:template><xsl:template match="*[local-name()='br']">
3212
+ <xsl:value-of select="$linebreak"/>
3213
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
3214
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
3215
+ <xsl:call-template name="add-zero-spaces-java"/>
3216
+ </xsl:template><xsl:template match="*[local-name()='table']">
3217
+
3218
+ <xsl:variable name="simple-table">
3219
+ <!-- <xsl:copy> -->
3220
+ <xsl:call-template name="getSimpleTable"/>
3221
+ <!-- </xsl:copy> -->
3222
+ </xsl:variable>
3223
+
3224
+ <!-- DEBUG -->
3225
+ <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
3226
+ <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
3227
+
3228
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3229
+
3230
+ <!-- <xsl:if test="$namespace = 'iso'">
3231
+ <fo:block space-before="6pt">&#xA0;</fo:block>
3232
+ </xsl:if> -->
3233
+
3234
+ <xsl:choose>
3235
+ <xsl:when test="@unnumbered = 'true'"/>
3236
+ <xsl:otherwise>
3237
+
3238
+
3239
+
3240
+ <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
3241
+
3242
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
3243
+
3244
+
3245
+
3246
+
3247
+
3248
+
3249
+
3250
+
3251
+
3252
+ <xsl:value-of select="$title-table"/>
3253
+
3254
+ <xsl:call-template name="getTableNumber"/>
3255
+
3256
+
3257
+ <xsl:if test="*[local-name()='name']">
3258
+
3259
+
3260
+
3261
+ <xsl:text> — </xsl:text>
3262
+
3263
+ <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
3264
+ </xsl:if>
3265
+ </fo:block>
3266
+
3267
+
3268
+ <xsl:call-template name="fn_name_display"/>
3269
+
3270
+ </xsl:otherwise>
3271
+ </xsl:choose>
3272
+
3273
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3274
+
3275
+ <!-- <xsl:variable name="cols-count">
3276
+ <xsl:choose>
3277
+ <xsl:when test="*[local-name()='thead']">
3278
+ <xsl:call-template name="calculate-columns-numbers">
3279
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
3280
+ </xsl:call-template>
3281
+ </xsl:when>
3282
+ <xsl:otherwise>
3283
+ <xsl:call-template name="calculate-columns-numbers">
3284
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
3285
+ </xsl:call-template>
3286
+ </xsl:otherwise>
3287
+ </xsl:choose>
3288
+ </xsl:variable> -->
3289
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
3290
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
3291
+
3292
+
3293
+
3294
+ <xsl:variable name="colwidths">
3295
+ <xsl:call-template name="calculate-column-widths">
3296
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3297
+ <xsl:with-param name="table" select="$simple-table"/>
3298
+ </xsl:call-template>
3299
+ </xsl:variable>
3300
+
3301
+ <!-- <xsl:variable name="colwidths2">
3302
+ <xsl:call-template name="calculate-column-widths">
3303
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3304
+ </xsl:call-template>
3305
+ </xsl:variable> -->
3306
+
3307
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
3308
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
3309
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
3310
+
3311
+ <xsl:variable name="margin-left">
3312
+ <xsl:choose>
3313
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
3314
+ <xsl:otherwise>0</xsl:otherwise>
3315
+ </xsl:choose>
3316
+ </xsl:variable>
3317
+
3318
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
3319
+
3320
+
3321
+
3322
+
3323
+
3324
+
3325
+
3326
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3327
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3328
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
3329
+
3330
+
3331
+ <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
3332
+
3333
+ <xsl:attribute name="border">1.5pt solid black</xsl:attribute>
3334
+ <xsl:if test="*[local-name()='thead']">
3335
+ <xsl:attribute name="border-top">1pt solid black</xsl:attribute>
3336
+ </xsl:if>
3337
+
3338
+
3339
+
3340
+
3341
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3342
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3343
+
3344
+
3345
+
3346
+
3347
+
3348
+
3349
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3350
+
3351
+
3352
+
3353
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
3354
+ <xsl:choose>
3355
+ <xsl:when test=". = 1 or . = 0">
3356
+ <fo:table-column column-width="proportional-column-width(2)"/>
3357
+ </xsl:when>
3358
+ <xsl:otherwise>
3359
+ <fo:table-column column-width="proportional-column-width({.})"/>
3360
+ </xsl:otherwise>
3361
+ </xsl:choose>
3362
+ </xsl:for-each>
3363
+ <xsl:apply-templates/>
3364
+ </fo:table>
3365
+
3366
+
3367
+
3368
+ </fo:block-container>
3369
+ </xsl:template><xsl:template name="getTableNumber">
3370
+ <xsl:choose>
3371
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
3372
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
3373
+ </xsl:when>
3374
+ <xsl:when test="ancestor::*[local-name()='annex']">
3375
+
3376
+ <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
3377
+ <xsl:number format="A." count="*[local-name()='annex']"/><xsl:number format="1" level="any" count="*[local-name()='table'][(not(@unnumbered) or @unnumbered != 'true') and ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
3378
+
3379
+
3380
+
3381
+
3382
+
3383
+
3384
+
3385
+
3386
+ </xsl:when>
3387
+ <xsl:otherwise>
3388
+
3389
+
3390
+ <xsl:number format="A." count="*[local-name()='annex']"/>
3391
+ <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'])] [not(@unnumbered) or @unnumbered != 'true']"/>
3392
+
3393
+ </xsl:otherwise>
3394
+ </xsl:choose>
3395
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
3396
+ <xsl:apply-templates/>
3397
+ </xsl:template><xsl:template name="calculate-columns-numbers">
3398
+ <xsl:param name="table-row"/>
3399
+ <xsl:variable name="columns-count" select="count($table-row/*)"/>
3400
+ <xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
3401
+ <xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
3402
+ <xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
3403
+ </xsl:template><xsl:template name="calculate-column-widths">
3404
+ <xsl:param name="table"/>
3405
+ <xsl:param name="cols-count"/>
3406
+ <xsl:param name="curr-col" select="1"/>
3407
+ <xsl:param name="width" select="0"/>
3408
+
3409
+ <xsl:if test="$curr-col &lt;= $cols-count">
3410
+ <xsl:variable name="widths">
3411
+ <xsl:choose>
3412
+ <xsl:when test="not($table)"><!-- this branch is not using in production, for debug only -->
3413
+ <xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
3414
+ <xsl:variable name="words">
3415
+ <xsl:call-template name="tokenize">
3416
+ <xsl:with-param name="text" select="translate(*[local-name()='th'][$curr-col],'- —:', ' ')"/>
3417
+ </xsl:call-template>
3418
+ </xsl:variable>
3419
+ <xsl:variable name="max_length">
3420
+ <xsl:call-template name="max_length">
3421
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
3422
+ </xsl:call-template>
3423
+ </xsl:variable>
3424
+ <width>
3425
+ <xsl:value-of select="$max_length"/>
3426
+ </width>
3427
+ </xsl:for-each>
3428
+ <xsl:for-each select="*[local-name()='tbody']//*[local-name()='tr']">
3429
+ <xsl:variable name="words">
3430
+ <xsl:call-template name="tokenize">
3431
+ <xsl:with-param name="text" select="translate(*[local-name()='td'][$curr-col],'- —:', ' ')"/>
3432
+ </xsl:call-template>
3433
+ </xsl:variable>
3434
+ <xsl:variable name="max_length">
3435
+ <xsl:call-template name="max_length">
3436
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
3437
+ </xsl:call-template>
3438
+ </xsl:variable>
3439
+ <width>
3440
+ <xsl:value-of select="$max_length"/>
3441
+ </width>
3442
+
3443
+ </xsl:for-each>
3444
+ </xsl:when>
3445
+ <xsl:otherwise>
3446
+ <xsl:for-each select="xalan:nodeset($table)//tr">
3447
+ <xsl:variable name="td_text">
3448
+ <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
3449
+ </xsl:variable>
3450
+ <xsl:variable name="words">
3451
+ <xsl:variable name="string_with_added_zerospaces">
3452
+ <xsl:call-template name="add-zero-spaces-java">
3453
+ <xsl:with-param name="text" select="$td_text"/>
3454
+ </xsl:call-template>
3455
+ </xsl:variable>
3456
+ <xsl:call-template name="tokenize">
3457
+ <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
3458
+ <!-- 2009 thinspace -->
3459
+ <!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
3460
+ <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​', ' '))"/>
3461
+ </xsl:call-template>
3462
+ </xsl:variable>
3463
+ <xsl:variable name="max_length">
3464
+ <xsl:call-template name="max_length">
3465
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
3466
+ </xsl:call-template>
3467
+ </xsl:variable>
3468
+ <width>
3469
+ <xsl:variable name="divider">
3470
+ <xsl:choose>
3471
+ <xsl:when test="td[$curr-col]/@divide">
3472
+ <xsl:value-of select="td[$curr-col]/@divide"/>
3473
+ </xsl:when>
3474
+ <xsl:otherwise>1</xsl:otherwise>
3475
+ </xsl:choose>
3476
+ </xsl:variable>
3477
+ <xsl:value-of select="$max_length div $divider"/>
3478
+ </width>
3479
+
3480
+ </xsl:for-each>
3481
+
3482
+ </xsl:otherwise>
3483
+ </xsl:choose>
3484
+ </xsl:variable>
3485
+
3486
+
3487
+ <column>
3488
+ <xsl:for-each select="xalan:nodeset($widths)//width">
3489
+ <xsl:sort select="." data-type="number" order="descending"/>
3490
+ <xsl:if test="position()=1">
3491
+ <xsl:value-of select="."/>
3492
+ </xsl:if>
3493
+ </xsl:for-each>
3494
+ </column>
3495
+ <xsl:call-template name="calculate-column-widths">
3496
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3497
+ <xsl:with-param name="curr-col" select="$curr-col +1"/>
3498
+ <xsl:with-param name="table" select="$table"/>
3499
+ </xsl:call-template>
3500
+ </xsl:if>
3501
+ </xsl:template><xsl:template match="text()" mode="td_text">
3502
+ <xsl:variable name="zero-space">​</xsl:variable>
3503
+ <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
3504
+ </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
3505
+ <xsl:value-of select="*[local-name()='origin']/@citeas"/>
3506
+ </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
3507
+ <xsl:value-of select="@target"/>
3508
+ </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3509
+ <xsl:param name="cols-count"/>
3510
+ <!-- font-weight="bold" -->
3511
+ <fo:table-header>
3512
+
3513
+ <fo:table-row>
3514
+ <fo:table-cell number-columns-spanned="{$cols-count}"> <!-- border-left="1pt solid white" border-right="1pt solid white" border-top="1pt solid white" -->
3515
+ <fo:block text-align="center" font-size="11pt" font-weight="bold">
3516
+ <!-- (continued) -->
3517
+ <fo:block-container position="absolute" top="-7mm">
3518
+ <fo:block>
3519
+ <fo:retrieve-table-marker retrieve-class-name="table_continued" retrieve-position-within-table="first-starting" retrieve-boundary-within-table="table-fragment"/>
3520
+ </fo:block>
3521
+ </fo:block-container>
3522
+
3523
+ </fo:block>
3524
+ <!-- <fo:block>fn_name_display
3525
+ <xsl:call-template name="fn_name_display"/>
3526
+ </fo:block> -->
3527
+
3528
+ </fo:table-cell>
3529
+ </fo:table-row>
3530
+
3531
+ <xsl:apply-templates/>
3532
+ </fo:table-header>
3533
+ </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
3534
+ <xsl:apply-templates/>
3535
+ </xsl:template><xsl:template name="insertTableFooter">
3536
+ <xsl:param name="cols-count"/>
3537
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3538
+ <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3539
+
3540
+ <fo:table-footer>
3541
+
3542
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3543
+
3544
+ <!-- if there are note(s) or fn(s) then create footer row -->
3545
+ <xsl:if test="$isNoteOrFnExist = 'true'">
3546
+
3547
+
3548
+
3549
+ <fo:table-row>
3550
+ <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3551
+
3552
+ <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3553
+
3554
+
3555
+
3556
+ <!-- fn will be processed inside 'note' processing -->
3557
+
3558
+
3559
+ <!-- except gb -->
3560
+
3561
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3562
+
3563
+
3564
+ <!-- horizontal row separator -->
3565
+
3566
+
3567
+ <!-- fn processing -->
3568
+ <xsl:call-template name="fn_display"/>
3569
+
3570
+ </fo:table-cell>
3571
+ </fo:table-row>
3572
+
3573
+ </xsl:if>
3574
+ </fo:table-footer>
3575
+
3576
+ </xsl:if>
3577
+ </xsl:template><xsl:template match="*[local-name()='tbody']">
3578
+
3579
+ <xsl:variable name="cols-count">
3580
+ <xsl:choose>
3581
+ <xsl:when test="../*[local-name()='thead']">
3582
+ <xsl:call-template name="calculate-columns-numbers">
3583
+ <xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
3584
+ </xsl:call-template>
3585
+ </xsl:when>
3586
+ <xsl:otherwise>
3587
+ <xsl:call-template name="calculate-columns-numbers">
3588
+ <xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
3589
+ </xsl:call-template>
3590
+ </xsl:otherwise>
3591
+ </xsl:choose>
3592
+ </xsl:variable>
3593
+
3594
+ <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3595
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3596
+ </xsl:apply-templates>
3597
+
3598
+ <xsl:call-template name="insertTableFooter">
3599
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3600
+ </xsl:call-template>
3601
+
3602
+ <fo:table-body>
3603
+ <xsl:apply-templates/>
3604
+ <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3605
+
3606
+ </fo:table-body>
3607
+
3608
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3609
+ <xsl:variable name="parent-name" select="local-name(..)"/>
3610
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3611
+ <fo:table-row min-height="4mm">
3612
+ <xsl:if test="$parent-name = 'thead'">
3613
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3614
+
3615
+
3616
+
3617
+ <xsl:choose>
3618
+ <xsl:when test="position() = 1">
3619
+ <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3620
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3621
+ </xsl:when>
3622
+ <xsl:when test="position() = last()">
3623
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3624
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3625
+ </xsl:when>
3626
+ <xsl:otherwise>
3627
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3628
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3629
+ </xsl:otherwise>
3630
+ </xsl:choose>
3631
+
3632
+
3633
+
3634
+ </xsl:if>
3635
+ <xsl:if test="$parent-name = 'tfoot'">
3636
+
3637
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
3638
+ <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
3639
+ <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
3640
+
3641
+
3642
+ </xsl:if>
3643
+
3644
+
3645
+ <xsl:apply-templates/>
3646
+ </fo:table-row>
3647
+ </xsl:template><xsl:template match="*[local-name()='th']">
3648
+ <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3649
+
3650
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
3651
+
3652
+
3653
+
3654
+
3655
+
3656
+
3657
+
3658
+ <xsl:if test="@colspan">
3659
+ <xsl:attribute name="number-columns-spanned">
3660
+ <xsl:value-of select="@colspan"/>
3661
+ </xsl:attribute>
3662
+ </xsl:if>
3663
+ <xsl:if test="@rowspan">
3664
+ <xsl:attribute name="number-rows-spanned">
3665
+ <xsl:value-of select="@rowspan"/>
3666
+ </xsl:attribute>
3667
+ </xsl:if>
3668
+ <fo:block>
3669
+ <xsl:apply-templates/>
3670
+ </fo:block>
3671
+ </fo:table-cell>
3672
+ </xsl:template><xsl:template match="*[local-name()='td']">
3673
+ <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3674
+ <!-- and ancestor::*[local-name() = 'thead'] -->
3675
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3676
+
3677
+
3678
+
3679
+ <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3680
+ <xsl:attribute name="border">solid black 0</xsl:attribute>
3681
+ </xsl:if>
3682
+
3683
+
3684
+
3685
+
3686
+
3687
+
3688
+
3689
+ <xsl:if test="@colspan">
3690
+ <xsl:attribute name="number-columns-spanned">
3691
+ <xsl:value-of select="@colspan"/>
3692
+ </xsl:attribute>
3693
+ </xsl:if>
3694
+ <xsl:if test="@rowspan">
3695
+ <xsl:attribute name="number-rows-spanned">
3696
+ <xsl:value-of select="@rowspan"/>
3697
+ </xsl:attribute>
3698
+ </xsl:if>
3699
+ <fo:block>
3700
+
3701
+ <xsl:variable name="row_number">
3702
+ <xsl:number format="1" count="*[local-name() = 'tr'] | *[local-name() = 'th']"/>
3703
+ </xsl:variable>
3704
+ <fo:marker marker-class-name="table_continued">
3705
+ <xsl:if test="$row_number &gt; 1">
3706
+ <fo:inline>
3707
+ <xsl:value-of select="$title-table"/>
3708
+ <xsl:call-template name="getTableNumber"/>
3709
+ <xsl:text> </xsl:text>
3710
+ <fo:inline font-style="italic" font-weight="normal">(continued)</fo:inline>
3711
+ </fo:inline>
3712
+ </xsl:if>
3713
+ </fo:marker>
3714
+
3715
+ <xsl:apply-templates/>
3716
+ </fo:block>
3717
+ <!-- <xsl:choose>
3718
+ <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
3719
+ <xsl:apply-templates />
3720
+ </xsl:when>
3721
+ <xsl:otherwise>
3722
+ <fo:block>
3723
+ <xsl:apply-templates />
3724
+ </fo:block>
3725
+ </xsl:otherwise>
3726
+ </xsl:choose> -->
3727
+
3728
+
3729
+ </fo:table-cell>
3730
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3731
+
3732
+
3733
+ <fo:block font-size="10pt" margin-bottom="12pt">
3734
+
3735
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
3736
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3737
+
3738
+
3739
+
3740
+
3741
+ <fo:inline padding-right="2mm">
3742
+
3743
+
3744
+ <xsl:value-of select="$title-note"/>
3745
+
3746
+ <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
3747
+ <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
3748
+ <xsl:number count="*[local-name()='note'][ancestor::*[@id = $id]]" level="any"/>
3749
+ </xsl:if>
3750
+
3751
+
3752
+
3753
+
3754
+ </fo:inline>
3755
+ <xsl:apply-templates mode="process"/>
3756
+ </fo:block>
3757
+
3758
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3759
+ <xsl:apply-templates/>
3760
+ </xsl:template><xsl:template name="fn_display">
3761
+ <xsl:variable name="references">
3762
+ <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
3763
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3764
+
3765
+
3766
+ <xsl:apply-templates/>
3767
+ </fn>
3768
+ </xsl:for-each>
3769
+ </xsl:variable>
3770
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3771
+ <xsl:variable name="reference" select="@reference"/>
3772
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3773
+ <fo:block margin-bottom="12pt">
3774
+
3775
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
3776
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3777
+
3778
+
3779
+
3780
+
3781
+ <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3782
+
3783
+
3784
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
3785
+
3786
+
3787
+
3788
+
3789
+
3790
+ <xsl:value-of select="@reference"/>
3791
+
3792
+ </fo:inline>
3793
+ <fo:inline>
3794
+
3795
+ <xsl:apply-templates/>
3796
+ </fo:inline>
3797
+ </fo:block>
3798
+ </xsl:if>
3799
+ </xsl:for-each>
3800
+ </xsl:template><xsl:template name="fn_name_display">
3801
+ <!-- <xsl:variable name="references">
3802
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3803
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3804
+ <xsl:apply-templates />
3805
+ </fn>
3806
+ </xsl:for-each>
3807
+ </xsl:variable>
3808
+ $references=<xsl:copy-of select="$references"/> -->
3809
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3810
+ <xsl:variable name="reference" select="@reference"/>
3811
+ <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
3812
+ <fo:block margin-bottom="12pt">
3813
+ <xsl:apply-templates/>
3814
+ </fo:block>
3815
+ </xsl:for-each>
3816
+ </xsl:template><xsl:template name="fn_display_figure">
3817
+ <xsl:variable name="key_iso">
3818
+ true <!-- and (not(@class) or @class !='pseudocode') -->
3819
+ </xsl:variable>
3820
+ <xsl:variable name="references">
3821
+ <xsl:for-each select=".//*[local-name()='fn']">
3822
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3823
+ <xsl:apply-templates/>
3824
+ </fn>
3825
+ </xsl:for-each>
3826
+ </xsl:variable>
3827
+ <xsl:if test="xalan:nodeset($references)//fn">
3828
+ <fo:block>
3829
+ <fo:table width="95%" table-layout="fixed">
3830
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3831
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3832
+
3833
+ </xsl:if>
3834
+ <fo:table-column column-width="15%"/>
3835
+ <fo:table-column column-width="85%"/>
3836
+ <fo:table-body>
3837
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3838
+ <xsl:variable name="reference" select="@reference"/>
3839
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3840
+ <fo:table-row>
3841
+ <fo:table-cell>
3842
+ <fo:block>
3843
+ <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3844
+
3845
+ <xsl:value-of select="@reference"/>
3846
+ </fo:inline>
3847
+ </fo:block>
3848
+ </fo:table-cell>
3849
+ <fo:table-cell>
3850
+ <fo:block text-align="justify" margin-bottom="12pt">
3851
+
3852
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3853
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3854
+ </xsl:if>
3855
+
3856
+ <xsl:apply-templates/>
3857
+ </fo:block>
3858
+ </fo:table-cell>
3859
+ </fo:table-row>
3860
+ </xsl:if>
3861
+ </xsl:for-each>
3862
+ </fo:table-body>
3863
+ </fo:table>
3864
+ </fo:block>
3865
+ </xsl:if>
3866
+
3867
+ </xsl:template><xsl:template match="*[local-name()='fn']">
3868
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3869
+ <fo:inline font-size="80%" keep-with-previous.within-line="always">
3870
+
3871
+ <xsl:if test="ancestor::*[local-name()='td']">
3872
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
3873
+ <!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
3874
+ <xsl:attribute name="baseline-shift">15%</xsl:attribute>
3875
+ </xsl:if>
3876
+
3877
+
3878
+
3879
+
3880
+ <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3881
+
3882
+ <xsl:value-of select="@reference"/>
3883
+ </fo:basic-link>
3884
+ </fo:inline>
3885
+ </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
3886
+ <fo:inline>
3887
+ <xsl:apply-templates/>
3888
+ </fo:inline>
3889
+ </xsl:template><xsl:template match="*[local-name()='dl']">
3890
+ <xsl:variable name="parent" select="local-name(..)"/>
3891
+
3892
+ <xsl:variable name="key_iso">
3893
+
3894
+ <xsl:if test="$parent = 'figure' or $parent = 'formula'">true</xsl:if>
3895
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
3896
+ </xsl:variable>
3897
+
3898
+ <xsl:choose>
3899
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3900
+
3901
+
3902
+ <fo:block margin-bottom="12pt" text-align="left">
3903
+
3904
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3905
+
3906
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3907
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3908
+ <xsl:text/>
3909
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3910
+ </fo:block>
3911
+
3912
+ </xsl:when>
3913
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3914
+ <fo:block margin-bottom="12pt" text-align="left">
3915
+
3916
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3917
+
3918
+
3919
+
3920
+
3921
+ <xsl:value-of select="$title-where"/>
3922
+ </fo:block>
3923
+ </xsl:when>
3924
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3925
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt">
3926
+
3927
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3928
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3929
+
3930
+
3931
+
3932
+ <xsl:value-of select="$title-key"/>
3933
+ </fo:block>
3934
+ </xsl:when>
3935
+ </xsl:choose>
3936
+
3937
+ <!-- a few components -->
3938
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
3939
+ <fo:block>
3940
+
3941
+ <xsl:if test="$parent = 'formula'">
3942
+ <xsl:attribute name="margin-left">4mm</xsl:attribute>
3943
+ </xsl:if>
3944
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
3945
+
3946
+
3947
+
3948
+
3949
+ <fo:block>
3950
+
3951
+
3952
+
3953
+ <!-- create virtual html table for dl/[dt and dd] -->
3954
+ <xsl:variable name="html-table">
3955
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3956
+ <xsl:element name="{$ns}:table">
3957
+ <tbody>
3958
+ <xsl:apply-templates mode="dl"/>
3959
+ </tbody>
3960
+ </xsl:element>
3961
+ </xsl:variable>
3962
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
3963
+ <xsl:variable name="colwidths">
3964
+ <xsl:call-template name="calculate-column-widths">
3965
+ <xsl:with-param name="cols-count" select="2"/>
3966
+ <xsl:with-param name="table" select="$html-table"/>
3967
+ </xsl:call-template>
3968
+ </xsl:variable>
3969
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3970
+
3971
+ <fo:table width="95%" table-layout="fixed">
3972
+
3973
+ <xsl:choose>
3974
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3975
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3976
+ </xsl:when>
3977
+ <xsl:when test="normalize-space($key_iso) = 'true'">
3978
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3979
+
3980
+ </xsl:when>
3981
+ </xsl:choose>
3982
+ <xsl:choose>
3983
+ <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3984
+ <fo:table-column column-width="50%"/>
3985
+ <fo:table-column column-width="50%"/>
3986
+ </xsl:when>
3987
+ <xsl:otherwise>
3988
+ <xsl:choose>
3989
+ <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3990
+ <fo:table-column column-width="60%"/>
3991
+ <fo:table-column column-width="40%"/>
3992
+ </xsl:when> -->
3993
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
3994
+ <fo:table-column column-width="50%"/>
3995
+ <fo:table-column column-width="50%"/>
3996
+ </xsl:when>
3997
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
3998
+ <fo:table-column column-width="40%"/>
3999
+ <fo:table-column column-width="60%"/>
4000
+ </xsl:when>
4001
+ <xsl:otherwise>
4002
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
4003
+ <xsl:choose>
4004
+ <xsl:when test=". = 1 or . = 0">
4005
+ <fo:table-column column-width="proportional-column-width(2)"/>
4006
+ </xsl:when>
4007
+ <xsl:otherwise>
4008
+ <fo:table-column column-width="proportional-column-width({.})"/>
4009
+ </xsl:otherwise>
4010
+ </xsl:choose>
4011
+ </xsl:for-each>
4012
+ </xsl:otherwise>
4013
+ </xsl:choose>
4014
+ <!-- <fo:table-column column-width="15%"/>
4015
+ <fo:table-column column-width="85%"/> -->
4016
+ </xsl:otherwise>
4017
+ </xsl:choose>
4018
+ <fo:table-body>
4019
+ <xsl:apply-templates>
4020
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
4021
+ </xsl:apply-templates>
4022
+ </fo:table-body>
4023
+ </fo:table>
4024
+ </fo:block>
4025
+ </fo:block>
4026
+ </xsl:if>
4027
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
4028
+ <xsl:param name="key_iso"/>
4029
+
4030
+ <!-- <tr>
4031
+ <td>NOTE</td>
4032
+ <td>
4033
+ <xsl:apply-templates />
4034
+ </td>
4035
+ </tr>
4036
+ -->
4037
+ <fo:table-row>
4038
+ <fo:table-cell>
4039
+ <fo:block margin-top="6pt">
4040
+ <xsl:if test="normalize-space($key_iso) = 'true'">
4041
+ <xsl:attribute name="margin-top">0</xsl:attribute>
4042
+ </xsl:if>
4043
+ <xsl:value-of select="$title-note"/>
4044
+ </fo:block>
4045
+ </fo:table-cell>
4046
+ <fo:table-cell>
4047
+ <fo:block>
4048
+ <xsl:apply-templates/>
4049
+ </fo:block>
4050
+ </fo:table-cell>
4051
+ </fo:table-row>
4052
+ </xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
4053
+ <tr>
4054
+ <td>
4055
+ <xsl:apply-templates/>
4056
+ </td>
4057
+ <td>
4058
+
4059
+
4060
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4061
+
4062
+ </td>
4063
+ </tr>
4064
+
4065
+ </xsl:template><xsl:template match="*[local-name()='dt']">
4066
+ <xsl:param name="key_iso"/>
4067
+
4068
+ <fo:table-row>
4069
+ <fo:table-cell>
4070
+
4071
+ <fo:block margin-top="6pt">
4072
+
4073
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
4074
+
4075
+
4076
+ <xsl:if test="normalize-space($key_iso) = 'true'">
4077
+ <xsl:attribute name="margin-top">0</xsl:attribute>
4078
+
4079
+ </xsl:if>
4080
+
4081
+
4082
+
4083
+
4084
+
4085
+ <xsl:apply-templates/>
4086
+
4087
+ </fo:block>
4088
+ </fo:table-cell>
4089
+ <fo:table-cell>
4090
+ <fo:block>
4091
+
4092
+
4093
+
4094
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4095
+
4096
+ </fo:block>
4097
+ </fo:table-cell>
4098
+ </fo:table-row>
4099
+
4100
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4101
+ <xsl:apply-templates/>
4102
+ </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4103
+ <xsl:apply-templates/>
4104
+ </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4105
+ <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
4106
+ </xsl:template><xsl:template match="*[local-name()='em']">
4107
+ <fo:inline font-style="italic">
4108
+ <xsl:apply-templates/>
4109
+ </fo:inline>
4110
+ </xsl:template><xsl:template match="*[local-name()='strong']">
4111
+ <fo:inline font-weight="bold">
4112
+ <xsl:apply-templates/>
4113
+ </fo:inline>
4114
+ </xsl:template><xsl:template match="*[local-name()='sup']">
4115
+ <fo:inline font-size="80%" vertical-align="super">
4116
+ <xsl:apply-templates/>
4117
+ </fo:inline>
4118
+ </xsl:template><xsl:template match="*[local-name()='sub']">
4119
+ <fo:inline font-size="80%" vertical-align="sub">
4120
+ <xsl:apply-templates/>
4121
+ </fo:inline>
4122
+ </xsl:template><xsl:template match="*[local-name()='tt']">
4123
+ <fo:inline font-family="Courier" font-size="10pt">
4124
+ <xsl:apply-templates/>
4125
+ </fo:inline>
4126
+ </xsl:template><xsl:template match="*[local-name()='del']">
4127
+ <fo:inline font-size="10pt" color="red" text-decoration="line-through">
4128
+ <xsl:apply-templates/>
4129
+ </fo:inline>
4130
+ </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
4131
+ <xsl:variable name="text" select="normalize-space(.)"/>
4132
+ <fo:inline font-size="75%">
4133
+ <xsl:if test="string-length($text) &gt; 0">
4134
+ <xsl:call-template name="recursiveSmallCaps">
4135
+ <xsl:with-param name="text" select="$text"/>
4136
+ </xsl:call-template>
4137
+ </xsl:if>
4138
+ </fo:inline>
4139
+ </xsl:template><xsl:template name="recursiveSmallCaps">
4140
+ <xsl:param name="text"/>
4141
+ <xsl:variable name="char" select="substring($text,1,1)"/>
4142
+ <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
4143
+ <xsl:choose>
4144
+ <xsl:when test="$char=$upperCase">
4145
+ <fo:inline font-size="{100 div 0.75}%">
4146
+ <xsl:value-of select="$upperCase"/>
4147
+ </fo:inline>
4148
+ </xsl:when>
4149
+ <xsl:otherwise>
4150
+ <xsl:value-of select="$upperCase"/>
4151
+ </xsl:otherwise>
4152
+ </xsl:choose>
4153
+ <xsl:if test="string-length($text) &gt; 1">
4154
+ <xsl:call-template name="recursiveSmallCaps">
4155
+ <xsl:with-param name="text" select="substring($text,2)"/>
4156
+ </xsl:call-template>
4157
+ </xsl:if>
4158
+ </xsl:template><xsl:template name="tokenize">
4159
+ <xsl:param name="text"/>
4160
+ <xsl:param name="separator" select="' '"/>
4161
+ <xsl:choose>
4162
+ <xsl:when test="not(contains($text, $separator))">
4163
+ <word>
4164
+ <xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
4165
+ <xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
4166
+ <xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
4167
+ <xsl:variable name="len_str">
4168
+ <xsl:choose>
4169
+ <xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
4170
+ <xsl:value-of select="$len_str_tmp * 1.5"/>
4171
+ </xsl:when>
4172
+ <xsl:otherwise>
4173
+ <xsl:value-of select="$len_str_tmp"/>
4174
+ </xsl:otherwise>
4175
+ </xsl:choose>
4176
+ </xsl:variable>
4177
+
4178
+ <!-- <xsl:if test="$len_str_no_en_chars div $len_str &gt; 0.8">
4179
+ <xsl:message>
4180
+ div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
4181
+ len_str=<xsl:value-of select="$len_str"/>
4182
+ len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
4183
+ </xsl:message>
4184
+ </xsl:if> -->
4185
+ <!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
4186
+ <len_str><xsl:value-of select="$len_str"/></len_str> -->
4187
+ <xsl:choose>
4188
+ <xsl:when test="$len_str_no_en_chars div $len_str &gt; 0.8"> <!-- means non-english string -->
4189
+ <xsl:value-of select="$len_str - $len_str_no_en_chars"/>
4190
+ </xsl:when>
4191
+ <xsl:otherwise>
4192
+ <xsl:value-of select="$len_str"/>
4193
+ </xsl:otherwise>
4194
+ </xsl:choose>
4195
+ </word>
4196
+ </xsl:when>
4197
+ <xsl:otherwise>
4198
+ <word>
4199
+ <xsl:value-of select="string-length(normalize-space(substring-before($text, $separator)))"/>
4200
+ </word>
4201
+ <xsl:call-template name="tokenize">
4202
+ <xsl:with-param name="text" select="substring-after($text, $separator)"/>
4203
+ </xsl:call-template>
4204
+ </xsl:otherwise>
4205
+ </xsl:choose>
4206
+ </xsl:template><xsl:template name="max_length">
4207
+ <xsl:param name="words"/>
4208
+ <xsl:for-each select="$words//word">
4209
+ <xsl:sort select="." data-type="number" order="descending"/>
4210
+ <xsl:if test="position()=1">
4211
+ <xsl:value-of select="."/>
4212
+ </xsl:if>
4213
+ </xsl:for-each>
4214
+ </xsl:template><xsl:template name="add-zero-spaces-java">
4215
+ <xsl:param name="text" select="."/>
4216
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
4217
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
4218
+ </xsl:template><xsl:template name="add-zero-spaces">
4219
+ <xsl:param name="text" select="."/>
4220
+ <xsl:variable name="zero-space-after-chars">-</xsl:variable>
4221
+ <xsl:variable name="zero-space-after-dot">.</xsl:variable>
4222
+ <xsl:variable name="zero-space-after-colon">:</xsl:variable>
4223
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
4224
+ <xsl:variable name="zero-space-after-underscore">_</xsl:variable>
4225
+ <xsl:variable name="zero-space">​</xsl:variable>
4226
+ <xsl:choose>
4227
+ <xsl:when test="contains($text, $zero-space-after-chars)">
4228
+ <xsl:value-of select="substring-before($text, $zero-space-after-chars)"/>
4229
+ <xsl:value-of select="$zero-space-after-chars"/>
4230
+ <xsl:value-of select="$zero-space"/>
4231
+ <xsl:call-template name="add-zero-spaces">
4232
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-chars)"/>
4233
+ </xsl:call-template>
4234
+ </xsl:when>
4235
+ <xsl:when test="contains($text, $zero-space-after-dot)">
4236
+ <xsl:value-of select="substring-before($text, $zero-space-after-dot)"/>
4237
+ <xsl:value-of select="$zero-space-after-dot"/>
4238
+ <xsl:value-of select="$zero-space"/>
4239
+ <xsl:call-template name="add-zero-spaces">
4240
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-dot)"/>
4241
+ </xsl:call-template>
4242
+ </xsl:when>
4243
+ <xsl:when test="contains($text, $zero-space-after-colon)">
4244
+ <xsl:value-of select="substring-before($text, $zero-space-after-colon)"/>
4245
+ <xsl:value-of select="$zero-space-after-colon"/>
4246
+ <xsl:value-of select="$zero-space"/>
4247
+ <xsl:call-template name="add-zero-spaces">
4248
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-colon)"/>
4249
+ </xsl:call-template>
4250
+ </xsl:when>
4251
+ <xsl:when test="contains($text, $zero-space-after-equal)">
4252
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
4253
+ <xsl:value-of select="$zero-space-after-equal"/>
4254
+ <xsl:value-of select="$zero-space"/>
4255
+ <xsl:call-template name="add-zero-spaces">
4256
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
4257
+ </xsl:call-template>
4258
+ </xsl:when>
4259
+ <xsl:when test="contains($text, $zero-space-after-underscore)">
4260
+ <xsl:value-of select="substring-before($text, $zero-space-after-underscore)"/>
4261
+ <xsl:value-of select="$zero-space-after-underscore"/>
4262
+ <xsl:value-of select="$zero-space"/>
4263
+ <xsl:call-template name="add-zero-spaces">
4264
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-underscore)"/>
4265
+ </xsl:call-template>
4266
+ </xsl:when>
4267
+ <xsl:otherwise>
4268
+ <xsl:value-of select="$text"/>
4269
+ </xsl:otherwise>
4270
+ </xsl:choose>
4271
+ </xsl:template><xsl:template name="add-zero-spaces-equal">
4272
+ <xsl:param name="text" select="."/>
4273
+ <xsl:variable name="zero-space-after-equals">==========</xsl:variable>
4274
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
4275
+ <xsl:variable name="zero-space">​</xsl:variable>
4276
+ <xsl:choose>
4277
+ <xsl:when test="contains($text, $zero-space-after-equals)">
4278
+ <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
4279
+ <xsl:value-of select="$zero-space-after-equals"/>
4280
+ <xsl:value-of select="$zero-space"/>
4281
+ <xsl:call-template name="add-zero-spaces-equal">
4282
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
4283
+ </xsl:call-template>
4284
+ </xsl:when>
4285
+ <xsl:when test="contains($text, $zero-space-after-equal)">
4286
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
4287
+ <xsl:value-of select="$zero-space-after-equal"/>
4288
+ <xsl:value-of select="$zero-space"/>
4289
+ <xsl:call-template name="add-zero-spaces-equal">
4290
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
4291
+ </xsl:call-template>
4292
+ </xsl:when>
4293
+ <xsl:otherwise>
4294
+ <xsl:value-of select="$text"/>
4295
+ </xsl:otherwise>
4296
+ </xsl:choose>
4297
+ </xsl:template><xsl:template name="getSimpleTable">
4298
+ <xsl:variable name="simple-table">
4299
+
4300
+ <!-- Step 1. colspan processing -->
4301
+ <xsl:variable name="simple-table-colspan">
4302
+ <tbody>
4303
+ <xsl:apply-templates mode="simple-table-colspan"/>
4304
+ </tbody>
4305
+ </xsl:variable>
4306
+
4307
+ <!-- Step 2. rowspan processing -->
4308
+ <xsl:variable name="simple-table-rowspan">
4309
+ <xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
4310
+ </xsl:variable>
4311
+
4312
+ <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
4313
+
4314
+ <!-- <xsl:choose>
4315
+ <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
4316
+
4317
+ </xsl:when>
4318
+ <xsl:otherwise>
4319
+ <xsl:copy-of select="current()"/>
4320
+ </xsl:otherwise>
4321
+ </xsl:choose> -->
4322
+ </xsl:variable>
4323
+ <xsl:copy-of select="$simple-table"/>
4324
+ </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
4325
+ <xsl:apply-templates mode="simple-table-colspan"/>
4326
+ </xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
4327
+ <xsl:choose>
4328
+ <xsl:when test="@colspan">
4329
+ <xsl:variable name="td">
4330
+ <xsl:element name="td">
4331
+ <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
4332
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
4333
+ <xsl:apply-templates mode="simple-table-colspan"/>
4334
+ </xsl:element>
4335
+ </xsl:variable>
4336
+ <xsl:call-template name="repeatNode">
4337
+ <xsl:with-param name="count" select="@colspan"/>
4338
+ <xsl:with-param name="node" select="$td"/>
4339
+ </xsl:call-template>
4340
+ </xsl:when>
4341
+ <xsl:otherwise>
4342
+ <xsl:element name="td">
4343
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
4344
+ <xsl:apply-templates mode="simple-table-colspan"/>
4345
+ </xsl:element>
4346
+ </xsl:otherwise>
4347
+ </xsl:choose>
4348
+ </xsl:template><xsl:template match="@colspan" mode="simple-table-colspan"/><xsl:template match="*[local-name()='tr']" mode="simple-table-colspan">
4349
+ <xsl:element name="tr">
4350
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
4351
+ <xsl:apply-templates mode="simple-table-colspan"/>
4352
+ </xsl:element>
4353
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-colspan">
4354
+ <xsl:copy>
4355
+ <xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
4356
+ </xsl:copy>
4357
+ </xsl:template><xsl:template name="repeatNode">
4358
+ <xsl:param name="count"/>
4359
+ <xsl:param name="node"/>
4360
+
4361
+ <xsl:if test="$count &gt; 0">
4362
+ <xsl:call-template name="repeatNode">
4363
+ <xsl:with-param name="count" select="$count - 1"/>
4364
+ <xsl:with-param name="node" select="$node"/>
4365
+ </xsl:call-template>
4366
+ <xsl:copy-of select="$node"/>
4367
+ </xsl:if>
4368
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-rowspan">
4369
+ <xsl:copy>
4370
+ <xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
4371
+ </xsl:copy>
4372
+ </xsl:template><xsl:template match="tbody" mode="simple-table-rowspan">
4373
+ <xsl:copy>
4374
+ <xsl:copy-of select="tr[1]"/>
4375
+ <xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
4376
+ <xsl:with-param name="previousRow" select="tr[1]"/>
4377
+ </xsl:apply-templates>
4378
+ </xsl:copy>
4379
+ </xsl:template><xsl:template match="tr" mode="simple-table-rowspan">
4380
+ <xsl:param name="previousRow"/>
4381
+ <xsl:variable name="currentRow" select="."/>
4382
+
4383
+ <xsl:variable name="normalizedTDs">
4384
+ <xsl:for-each select="xalan:nodeset($previousRow)//td">
4385
+ <xsl:choose>
4386
+ <xsl:when test="@rowspan &gt; 1">
4387
+ <xsl:copy>
4388
+ <xsl:attribute name="rowspan">
4389
+ <xsl:value-of select="@rowspan - 1"/>
4390
+ </xsl:attribute>
4391
+ <xsl:copy-of select="@*[not(name() = 'rowspan')]"/>
4392
+ <xsl:copy-of select="node()"/>
4393
+ </xsl:copy>
4394
+ </xsl:when>
4395
+ <xsl:otherwise>
4396
+ <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
4397
+ </xsl:otherwise>
4398
+ </xsl:choose>
4399
+ </xsl:for-each>
4400
+ </xsl:variable>
4401
+
4402
+ <xsl:variable name="newRow">
4403
+ <xsl:copy>
4404
+ <xsl:copy-of select="$currentRow/@*"/>
4405
+ <xsl:copy-of select="xalan:nodeset($normalizedTDs)"/>
4406
+ </xsl:copy>
4407
+ </xsl:variable>
4408
+ <xsl:copy-of select="$newRow"/>
4409
+
4410
+ <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
4411
+ <xsl:with-param name="previousRow" select="$newRow"/>
4412
+ </xsl:apply-templates>
4413
+ </xsl:template><xsl:template name="getLang">
4414
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
4415
+ <xsl:choose>
4416
+ <xsl:when test="$language = 'English'">en</xsl:when>
4417
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
4418
+ </xsl:choose>
4419
+ </xsl:template><xsl:template name="capitalizeWords">
4420
+ <xsl:param name="str"/>
4421
+ <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
4422
+ <xsl:choose>
4423
+ <xsl:when test="contains($str2, ' ')">
4424
+ <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
4425
+ <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
4426
+ <xsl:value-of select="substring($substr, 2)"/>
4427
+ <xsl:text> </xsl:text>
4428
+ <xsl:call-template name="capitalizeWords">
4429
+ <xsl:with-param name="str" select="substring-after($str2, ' ')"/>
4430
+ </xsl:call-template>
4431
+ </xsl:when>
4432
+ <xsl:otherwise>
4433
+ <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
4434
+ <xsl:value-of select="substring($str2, 2)"/>
4435
+ </xsl:otherwise>
4436
+ </xsl:choose>
4437
+ </xsl:template><xsl:template match="mathml:math">
4438
+ <fo:inline font-family="STIX2Math">
4439
+ <fo:instream-foreign-object fox:alt-text="Math">
4440
+ <xsl:copy-of select="."/>
4441
+ </fo:instream-foreign-object>
4442
+ </fo:inline>
4443
+ </xsl:template><xsl:template match="*[local-name()='localityStack']">
4444
+ <xsl:for-each select="*[local-name()='locality']">
4445
+ <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
4446
+ <xsl:apply-templates select="."/>
4447
+ <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
4448
+ </xsl:for-each>
4449
+ </xsl:template><xsl:template match="*[local-name()='link']" name="link">
4450
+ <xsl:variable name="target">
4451
+ <xsl:choose>
4452
+ <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
4453
+ <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
4454
+ </xsl:when>
4455
+ <xsl:otherwise>
4456
+ <xsl:value-of select="normalize-space(@target)"/>
4457
+ </xsl:otherwise>
4458
+ </xsl:choose>
4459
+ </xsl:variable>
4460
+ <fo:inline xsl:use-attribute-sets="link-style">
4461
+ <xsl:choose>
4462
+ <xsl:when test="$target = ''">
4463
+ <xsl:apply-templates/>
4464
+ </xsl:when>
4465
+ <xsl:otherwise>
4466
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
4467
+ <xsl:choose>
4468
+ <xsl:when test="normalize-space(.) = ''">
4469
+ <xsl:value-of select="$target"/>
4470
+ </xsl:when>
4471
+ <xsl:otherwise>
4472
+ <xsl:apply-templates/>
4473
+ </xsl:otherwise>
4474
+ </xsl:choose>
4475
+ </fo:basic-link>
4476
+ </xsl:otherwise>
4477
+ </xsl:choose>
4478
+ </fo:inline>
4479
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4480
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
4481
+ <!-- <xsl:choose>
4482
+ <xsl:when test="@lang = 'en'"></xsl:when>
4483
+ <xsl:otherwise> -->
4484
+ <xsl:attribute name="white-space">pre</xsl:attribute>
4485
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
4486
+ <!-- </xsl:otherwise>
4487
+ </xsl:choose> -->
4488
+ <xsl:apply-templates/>
4489
+ </fo:block>
4490
+ </xsl:template><xsl:template match="*[local-name()='bookmark']">
4491
+ <fo:inline id="{@id}"/>
4492
+ </xsl:template><xsl:template match="*[local-name()='appendix']">
4493
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4494
+ <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
4495
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4496
+ </fo:block>
4497
+ <xsl:apply-templates/>
4498
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4499
+ <fo:inline><xsl:apply-templates/></fo:inline>
4500
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
4501
+ <fo:block xsl:use-attribute-sets="appendix-example-style">
4502
+ <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
4503
+ <xsl:value-of select="$title-example"/>
4504
+ <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
4505
+ <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
4506
+ </xsl:if>
4507
+ <xsl:if test="*[local-name()='name']">
4508
+ <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
4509
+ </xsl:if>
4510
+ </fo:block>
4511
+ <xsl:apply-templates/>
4512
+ </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">
4513
+ <fo:inline><xsl:apply-templates/></fo:inline>
4514
+ </xsl:template><xsl:template match="*[local-name() = 'callout']">
4515
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4516
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']">
4517
+ <xsl:variable name="annotation-id" select="@id"/>
4518
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
4519
+ <fo:block id="{$annotation-id}" white-space="nowrap">
4520
+ <fo:inline>
4521
+ <xsl:apply-templates>
4522
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
4523
+ </xsl:apply-templates>
4524
+ </fo:inline>
4525
+ </fo:block>
4526
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
4527
+ <xsl:param name="callout"/>
4528
+ <fo:inline id="{@id}">
4529
+ <!-- for first p in annotation, put <x> -->
4530
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
4531
+ <xsl:apply-templates/>
4532
+ </fo:inline>
4533
+ </xsl:template><xsl:template name="convertDate">
4534
+ <xsl:param name="date"/>
4535
+ <xsl:param name="format" select="'short'"/>
4536
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
4537
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
4538
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
4539
+ <xsl:variable name="monthStr">
4540
+ <xsl:choose>
4541
+ <xsl:when test="$month = '01'">January</xsl:when>
4542
+ <xsl:when test="$month = '02'">February</xsl:when>
4543
+ <xsl:when test="$month = '03'">March</xsl:when>
4544
+ <xsl:when test="$month = '04'">April</xsl:when>
4545
+ <xsl:when test="$month = '05'">May</xsl:when>
4546
+ <xsl:when test="$month = '06'">June</xsl:when>
4547
+ <xsl:when test="$month = '07'">July</xsl:when>
4548
+ <xsl:when test="$month = '08'">August</xsl:when>
4549
+ <xsl:when test="$month = '09'">September</xsl:when>
4550
+ <xsl:when test="$month = '10'">October</xsl:when>
4551
+ <xsl:when test="$month = '11'">November</xsl:when>
4552
+ <xsl:when test="$month = '12'">December</xsl:when>
4553
+ </xsl:choose>
4554
+ </xsl:variable>
4555
+ <xsl:variable name="result">
4556
+ <xsl:choose>
4557
+ <xsl:when test="$format = 'short' or $day = ''">
4558
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
4559
+ </xsl:when>
4560
+ <xsl:otherwise>
4561
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
4562
+ </xsl:otherwise>
4563
+ </xsl:choose>
4564
+ </xsl:variable>
4565
+ <xsl:value-of select="$result"/>
4566
+ </xsl:template><xsl:template name="insertKeywords">
4567
+ <xsl:param name="sorting" select="'true'"/>
4568
+ <xsl:param name="charAtEnd" select="'.'"/>
4569
+ <xsl:param name="charDelim" select="', '"/>
4570
+ <xsl:choose>
4571
+ <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
4572
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4573
+ <xsl:sort data-type="text" order="ascending"/>
4574
+ <xsl:call-template name="insertKeyword">
4575
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4576
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4577
+ </xsl:call-template>
4578
+ </xsl:for-each>
4579
+ </xsl:when>
4580
+ <xsl:otherwise>
4581
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4582
+ <xsl:call-template name="insertKeyword">
4583
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4584
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4585
+ </xsl:call-template>
4586
+ </xsl:for-each>
4587
+ </xsl:otherwise>
4588
+ </xsl:choose>
4589
+ </xsl:template><xsl:template name="insertKeyword">
4590
+ <xsl:param name="charAtEnd"/>
4591
+ <xsl:param name="charDelim"/>
4592
+ <xsl:apply-templates/>
4593
+ <xsl:choose>
4594
+ <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
4595
+ <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
4596
+ </xsl:choose>
4597
+ </xsl:template></xsl:stylesheet>