metanorma-itu 1.0.13 → 1.0.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3451 @@
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:itu="https://www.metanorma.org/ns/itu" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" version="1.0">
2
+
3
+ <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
+
5
+
6
+
7
+
8
+
9
+ <xsl:variable name="pageWidth" select="'210mm'"/>
10
+ <xsl:variable name="pageHeight" select="'297mm'"/>
11
+
12
+ <!-- Rec. ITU-T G.650.1 (03/2018) -->
13
+ <xsl:variable name="footerprefix" select="'Rec. '"/>
14
+ <xsl:variable name="docname">
15
+ <xsl:value-of select="substring-before(/itu:itu-standard/itu:bibdata/itu:docidentifier, ' ')"/>
16
+ <xsl:text> </xsl:text>
17
+ <xsl:value-of select="substring-after(/itu:itu-standard/itu:bibdata/itu:docidentifier, ' ')"/>
18
+ <xsl:text> </xsl:text>
19
+ </xsl:variable>
20
+ <xsl:variable name="docdate">
21
+ <xsl:call-template name="formatDate">
22
+ <xsl:with-param name="date" select="/itu:itu-standard/itu:bibdata/itu:date[@type = 'published']/itu:on"/>
23
+ </xsl:call-template>
24
+ </xsl:variable>
25
+ <xsl:variable name="doctype">
26
+ <xsl:value-of select="translate(substring(/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype,1,1),$lower,$upper)"/>
27
+ <xsl:value-of select="substring(/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype,2)"/>
28
+ </xsl:variable>
29
+
30
+
31
+ <!-- Example:
32
+ <item level="1" id="Foreword" display="true">Foreword</item>
33
+ <item id="term-script" display="false">3.2</item>
34
+ -->
35
+ <xsl:variable name="contents">
36
+ <contents>
37
+ <!-- <xsl:apply-templates select="/itu:itu-standard/itu:preface/node()" mode="contents"/> -->
38
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/itu:clause[1]" mode="contents"> <!-- @id = 'scope' -->
39
+ <xsl:with-param name="sectionNum" select="'1'"/>
40
+ </xsl:apply-templates>
41
+ <xsl:variable name="numskew" select="count(/itu:itu-standard/itu:bibliography/itu:references[1])"/>
42
+ <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[1]" mode="contents"> <!-- @id = 'references' -->
43
+ <xsl:with-param name="sectionNum" select="1 + number($numskew)"/>
44
+ </xsl:apply-templates>
45
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/*[position() != 1]" mode="contents"> <!-- @id != 'scope' -->
46
+ <xsl:with-param name="sectionNumSkew" select="number($numskew)"/>
47
+ </xsl:apply-templates>
48
+ <xsl:apply-templates select="/itu:itu-standard/itu:annex" mode="contents"/>
49
+ <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[position() != 1]" mode="contents"/> <!-- @id = 'bibliography' -->
50
+
51
+ <xsl:apply-templates select="//itu3" mode="contents"/>
52
+
53
+ <xsl:apply-templates select="//itu:table" mode="contents"/>
54
+
55
+ </contents>
56
+ </xsl:variable>
57
+
58
+ <xsl:variable name="lang">
59
+ <xsl:call-template name="getLang"/>
60
+ </xsl:variable>
61
+
62
+ <xsl:template match="/">
63
+ <xsl:message>INFO: Document namespace: '<xsl:value-of select="namespace-uri(/*)"/>'</xsl:message>
64
+ <fo:root font-family="Times New Roman, STIX2Math" font-size="12pt" xml:lang="{$lang}">
65
+ <fo:layout-master-set>
66
+ <!-- cover page -->
67
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
68
+ <fo:region-body margin-top="19.2mm" margin-bottom="5mm" margin-left="19.2mm" margin-right="19.2mm"/>
69
+ <fo:region-before region-name="cover-page-header" extent="19.2mm" display-align="center"/>
70
+ <fo:region-after/>
71
+ <fo:region-start region-name="cover-left-region" extent="19.2mm"/>
72
+ <fo:region-end region-name="cover-right-region" extent="19.2mm"/>
73
+ </fo:simple-page-master>
74
+ <!-- contents pages -->
75
+ <!-- odd pages Preface -->
76
+ <fo:simple-page-master master-name="odd-preface" page-width="{$pageWidth}" page-height="{$pageHeight}">
77
+ <fo:region-body margin-top="19.2mm" margin-bottom="19.2mm" margin-left="19.2mm" margin-right="19.2mm"/>
78
+ <fo:region-before region-name="header-odd" extent="19.2mm" display-align="center"/>
79
+ <fo:region-after region-name="footer-odd" extent="19.2mm"/>
80
+ <fo:region-start region-name="left-region" extent="19.2mm"/>
81
+ <fo:region-end region-name="right-region" extent="19.2mm"/>
82
+ </fo:simple-page-master>
83
+ <!-- even pages Preface -->
84
+ <fo:simple-page-master master-name="even-preface" page-width="{$pageWidth}" page-height="{$pageHeight}">
85
+ <fo:region-body margin-top="19.2mm" margin-bottom="19.2mm" margin-left="19.2mm" margin-right="19.2mm"/>
86
+ <fo:region-before region-name="header-even" extent="19.2mm" display-align="center"/>
87
+ <fo:region-after region-name="footer-even" extent="19.2mm"/>
88
+ <fo:region-start region-name="left-region" extent="19.2mm"/>
89
+ <fo:region-end region-name="right-region" extent="19.2mm"/>
90
+ </fo:simple-page-master>
91
+ <fo:page-sequence-master master-name="document-preface">
92
+ <fo:repeatable-page-master-alternatives>
93
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-preface"/>
94
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-preface"/>
95
+ </fo:repeatable-page-master-alternatives>
96
+ </fo:page-sequence-master>
97
+ <!-- odd pages Body -->
98
+ <fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
99
+ <fo:region-body margin-top="20mm" margin-bottom="20mm" margin-left="20mm" margin-right="20mm"/>
100
+ <fo:region-before region-name="header-odd" extent="20mm" display-align="center"/>
101
+ <fo:region-after region-name="footer-odd" extent="20mm"/>
102
+ <fo:region-start region-name="left-region" extent="20mm"/>
103
+ <fo:region-end region-name="right-region" extent="20mm"/>
104
+ </fo:simple-page-master>
105
+ <!-- even pages Body -->
106
+ <fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
107
+ <fo:region-body margin-top="20mm" margin-bottom="20mm" margin-left="20mm" margin-right="20mm"/>
108
+ <fo:region-before region-name="header-even" extent="20mm" display-align="center"/>
109
+ <fo:region-after region-name="footer-even" extent="20mm"/>
110
+ <fo:region-start region-name="left-region" extent="20mm"/>
111
+ <fo:region-end region-name="right-region" extent="20mm"/>
112
+ </fo:simple-page-master>
113
+ <fo:page-sequence-master master-name="document">
114
+ <fo:repeatable-page-master-alternatives>
115
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
116
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
117
+ </fo:repeatable-page-master-alternatives>
118
+ </fo:page-sequence-master>
119
+ </fo:layout-master-set>
120
+
121
+ <fo:declarations>
122
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
123
+ <pdf:dictionary type="normal" key="ViewerPreferences">
124
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
125
+ </pdf:dictionary>
126
+ </pdf:catalog>
127
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
128
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
129
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
130
+ <!-- Dublin Core properties go here -->
131
+ <dc:title><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type='main']"/></dc:title>
132
+ <dc:creator><xsl:value-of select="/itu:iso-standard/itu:bibdata/itu:contributor[itu:role/@type='author']/itu:organization/itu:name"/></dc:creator>
133
+ <dc:description>
134
+ <xsl:variable name="abstract">
135
+ <xsl:copy-of select="/itu:itu-standard/itu:bibdata/itu:abstract//text()"/>
136
+ </xsl:variable>
137
+ <xsl:value-of select="normalize-space($abstract)"/>
138
+ </dc:description>
139
+ <pdf:Keywords>
140
+ <xsl:for-each select="/itu:itu-standard/itu:bibdata//itu:keyword">
141
+ <xsl:sort data-type="text" order="ascending"/>
142
+ <xsl:apply-templates/>
143
+ <xsl:choose>
144
+ <xsl:when test="position() != last()">, </xsl:when>
145
+ <xsl:otherwise>.</xsl:otherwise>
146
+ </xsl:choose>
147
+ </xsl:for-each>
148
+ </pdf:Keywords>
149
+ </rdf:Description>
150
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
151
+ <!-- XMP properties go here -->
152
+ <xmp:CreatorTool/>
153
+ </rdf:Description>
154
+ </rdf:RDF>
155
+ </x:xmpmeta>
156
+ </fo:declarations>
157
+
158
+ <!-- cover page -->
159
+ <fo:page-sequence master-reference="cover-page">
160
+ <fo:flow flow-name="xsl-region-body">
161
+
162
+ <fo:block-container absolute-position="fixed" left="148mm" top="265mm">
163
+ <fo:block>
164
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" width="42.6mm" content-height="17.7mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
165
+ </fo:block>
166
+ </fo:block-container>
167
+
168
+ <fo:block-container absolute-position="fixed" left="-7mm" top="0">
169
+ <fo:block>
170
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Fond-Rec))}" width="43.6mm" content-height="299.2mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
171
+ </fo:block>
172
+ </fo:block-container>
173
+ <fo:block-container font-family="Arial">
174
+ <fo:table width="100%" table-layout="fixed"> <!-- 175.4mm-->
175
+ <fo:table-column column-width="25.2mm"/>
176
+ <fo:table-column column-width="44.4mm"/>
177
+ <fo:table-column column-width="35.8mm"/>
178
+ <fo:table-column column-width="67mm"/>
179
+ <fo:table-body>
180
+ <fo:table-row height="42.5mm">
181
+ <fo:table-cell>
182
+ <fo:block> </fo:block>
183
+ </fo:table-cell>
184
+ <fo:table-cell number-columns-spanned="3">
185
+ <fo:block font-family="Arial" font-size="13pt" font-weight="bold" color="gray" margin-top="16pt"> <!-- letter-spacing="4pt", Helvetica for letter-spacing working -->
186
+ <fo:block><xsl:value-of select="$linebreak"/></fo:block>
187
+ <xsl:call-template name="addLetterSpacing">
188
+ <xsl:with-param name="text" select="/itu:itu-standard/itu:bibdata/itu:contributor[itu:role/@type='author']/itu:organization/itu:name"/>
189
+ </xsl:call-template>
190
+ </fo:block>
191
+ </fo:table-cell>
192
+ </fo:table-row>
193
+ <fo:table-row>
194
+ <fo:table-cell>
195
+ <fo:block> </fo:block>
196
+ </fo:table-cell>
197
+ <fo:table-cell padding-top="2mm" padding-bottom="-1mm">
198
+ <fo:block font-family="Arial" font-size="36pt" font-weight="bold" margin-top="6pt" letter-spacing="2pt"> <!-- Helvetica for letter-spacing working -->
199
+ <xsl:value-of select="substring-before(/itu:itu-standard/itu:bibdata/itu:docidentifier, ' ')"/>
200
+ </fo:block>
201
+ </fo:table-cell>
202
+ <fo:table-cell padding-top="1mm" number-columns-spanned="2" padding-bottom="-1mm">
203
+ <fo:block font-size="30pt" font-weight="bold" text-align="right" margin-top="12pt" padding="0mm">
204
+ <xsl:value-of select="substring-after(/itu:itu-standard/itu:bibdata/itu:docidentifier, ' ')"/>
205
+ </fo:block>
206
+ </fo:table-cell>
207
+ </fo:table-row>
208
+ <fo:table-row height="17.2mm">
209
+ <fo:table-cell>
210
+ <fo:block> </fo:block>
211
+ </fo:table-cell>
212
+ <fo:table-cell font-size="10pt" number-columns-spanned="2" padding-top="1mm">
213
+ <fo:block>
214
+ <xsl:text>TELECOMMUNICATION</xsl:text>
215
+ </fo:block>
216
+ <fo:block>
217
+ <xsl:text>STANDARDIZATION SECTOR</xsl:text>
218
+ </fo:block>
219
+ <fo:block>
220
+ <xsl:text>OF ITU</xsl:text>
221
+ </fo:block>
222
+ </fo:table-cell>
223
+ <fo:table-cell text-align="right">
224
+ <xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
225
+ <fo:block font-size="18pt" font-weight="bold">
226
+ <xsl:text>Annex </xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
227
+ </fo:block>
228
+ </xsl:if>
229
+ <fo:block font-size="14pt">
230
+ <xsl:call-template name="formatDate">
231
+ <xsl:with-param name="date" select="/itu:itu-standard/itu:bibdata/itu:date[@type = 'published']/itu:on"/>
232
+ </xsl:call-template>
233
+ </fo:block>
234
+ </fo:table-cell>
235
+ </fo:table-row>
236
+ <fo:table-row height="59mm">
237
+ <fo:table-cell>
238
+ <fo:block> </fo:block>
239
+ </fo:table-cell>
240
+ <fo:table-cell font-size="16pt" number-columns-spanned="3" border-bottom="0.5mm solid black" padding-right="2mm">
241
+ <fo:block>
242
+ <xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']) != ''">
243
+ <xsl:variable name="title">
244
+ <xsl:text>Series </xsl:text>
245
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']"/>
246
+ </xsl:variable>
247
+ <xsl:value-of select="translate($title, $lower, $upper)"/>
248
+ </xsl:if>
249
+ </fo:block>
250
+ <xsl:if test="/itu:itu-standard/itu:bibdata/itu:series">
251
+ <fo:block margin-top="6pt">
252
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'secondary']"/>
253
+ <xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']) != ''">
254
+ <xsl:text> — </xsl:text>
255
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']"/>
256
+ </xsl:if>
257
+ </fo:block>
258
+ </xsl:if>
259
+ </fo:table-cell>
260
+ </fo:table-row>
261
+ <fo:table-row height="40mm">
262
+ <fo:table-cell>
263
+ <fo:block> </fo:block>
264
+ </fo:table-cell>
265
+ <fo:table-cell font-size="18pt" number-columns-spanned="3">
266
+ <fo:block padding-right="2mm" margin-top="6pt">
267
+ <xsl:if test="not(/itu:itu-standard/itu:bibdata/itu:title[@type = 'annex' and @language = 'en'])">
268
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
269
+ </xsl:if>
270
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
271
+ </fo:block>
272
+ <xsl:for-each select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'annex' and @language = 'en']">
273
+ <fo:block font-weight="bold">
274
+ <xsl:value-of select="."/>
275
+ </fo:block>
276
+ </xsl:for-each>
277
+ </fo:table-cell>
278
+ </fo:table-row>
279
+ <fo:table-row height="40mm">
280
+ <fo:table-cell>
281
+ <fo:block> </fo:block>
282
+ </fo:table-cell>
283
+ <fo:table-cell number-columns-spanned="3">
284
+ <xsl:choose>
285
+ <xsl:when test="/itu:itu-standard/itu:boilerplate/itu:legal-statement/itu:clause[@id='draft-warning']">
286
+ <xsl:attribute name="border">0.7mm solid black</xsl:attribute>
287
+ <fo:block padding-top="3mm" margin-left="1mm" margin-right="1mm">
288
+ <xsl:apply-templates select="/itu:itu-standard/itu:boilerplate/itu:legal-statement/itu:clause[@id='draft-warning']" mode="caution"/>
289
+ </fo:block>
290
+ </xsl:when>
291
+ <xsl:otherwise>
292
+ <fo:block> </fo:block>
293
+ </xsl:otherwise>
294
+ </xsl:choose>
295
+ </fo:table-cell>
296
+ </fo:table-row>
297
+ <fo:table-row height="25mm">
298
+ <fo:table-cell>
299
+ <fo:block> </fo:block>
300
+ </fo:table-cell>
301
+ <fo:table-cell number-columns-spanned="3">
302
+ <fo:block font-size="16pt" margin-top="3pt">
303
+ <xsl:value-of select="$doctype"/>
304
+ <xsl:text>  </xsl:text>
305
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:contributor/itu:organization/itu:abbreviation"/>
306
+ <xsl:text>-</xsl:text>
307
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:bureau"/>
308
+ <xsl:text>  </xsl:text>
309
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:docnumber"/>
310
+ <xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
311
+ <xsl:text> — Annex </xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
312
+ </xsl:if>
313
+ </fo:block>
314
+ </fo:table-cell>
315
+ </fo:table-row>
316
+ </fo:table-body>
317
+ </fo:table>
318
+ </fo:block-container>
319
+ </fo:flow>
320
+ </fo:page-sequence>
321
+
322
+
323
+ <fo:page-sequence master-reference="document-preface" initial-page-number="1" format="i" force-page-count="no-force">
324
+ <xsl:call-template name="insertHeaderFooter"/>
325
+ <fo:flow flow-name="xsl-region-body">
326
+ <fo:block-container font-size="14pt" font-weight="bold">
327
+ <fo:block>
328
+ <xsl:value-of select="$doctype"/>
329
+ <xsl:text> </xsl:text>
330
+ <xsl:value-of select="$docname"/>
331
+ </fo:block>
332
+ <fo:block text-align="center" margin-top="15pt" margin-bottom="15pt">
333
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
334
+ </fo:block>
335
+ </fo:block-container>
336
+ <!-- Summary, History ... -->
337
+ <xsl:apply-templates select="/itu:itu-standard/itu:preface/node()"/>
338
+
339
+ <!-- Keywords -->
340
+ <xsl:if test="/itu:itu-standard/itu:bibdata/itu:keyword">
341
+ <fo:block font-size="12pt">
342
+ <xsl:value-of select="$linebreak"/>
343
+ <xsl:value-of select="$linebreak"/>
344
+ </fo:block>
345
+ <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
346
+ <xsl:text>Keywords</xsl:text>
347
+ </fo:block>
348
+ <fo:block>
349
+ <xsl:for-each select="/itu:itu-standard/itu:bibdata//itu:keyword">
350
+ <xsl:sort data-type="text" order="ascending"/>
351
+ <xsl:apply-templates/>
352
+ <xsl:choose>
353
+ <xsl:when test="position() != last()">, </xsl:when>
354
+ <xsl:otherwise>.</xsl:otherwise>
355
+ </xsl:choose>
356
+ </xsl:for-each>
357
+ </fo:block>
358
+ </xsl:if>
359
+
360
+ <fo:block break-after="page"/>
361
+
362
+ <!-- FOREWORD -->
363
+ <fo:block font-size="11pt" text-align="justify">
364
+ <xsl:apply-templates select="/itu:itu-standard/itu:boilerplate/itu:legal-statement"/>
365
+ <xsl:apply-templates select="/itu:itu-standard/itu:boilerplate/itu:license-statement"/>
366
+ <xsl:apply-templates select="/itu:itu-standard/itu:boilerplate/itu:copyright-statement"/>
367
+ </fo:block>
368
+
369
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
370
+ DEBUG
371
+ contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
372
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
373
+
374
+ <xsl:if test="xalan:nodeset($contents)//item">
375
+ <fo:block break-after="page"/>
376
+ <fo:block-container>
377
+ <fo:block margin-top="6pt" text-align="center" font-weight="bold">Table of Contents</fo:block>
378
+ <fo:block margin-top="6pt" text-align="right" font-weight="bold">Page</fo:block>
379
+
380
+ <xsl:for-each select="xalan:nodeset($contents)//item">
381
+ <xsl:if test="@display = 'true'">
382
+ <fo:block>
383
+ <xsl:if test="@level = 1">
384
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
385
+ </xsl:if>
386
+ <xsl:if test="@level = 2">
387
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
388
+ <!-- <xsl:attribute name="margin-left">12mm</xsl:attribute> -->
389
+ </xsl:if>
390
+ <fo:list-block provisional-label-separation="3mm">
391
+ <xsl:attribute name="provisional-distance-between-starts">
392
+ <xsl:choose>
393
+ <xsl:when test="@section != '' and not(@display-section = 'false')">
394
+ <xsl:if test="@level = 1">
395
+ <xsl:choose>
396
+ <xsl:when test="string-length(@section) &gt; 10">27mm</xsl:when>
397
+ <xsl:when test="string-length(@section) &gt; 5">22mm</xsl:when>
398
+ <!-- <xsl:when test="@type = 'annex'">20mm</xsl:when> -->
399
+ <xsl:otherwise>12mm</xsl:otherwise>
400
+ </xsl:choose>
401
+ </xsl:if>
402
+ <xsl:if test="@level = 2">26mm</xsl:if>
403
+ </xsl:when> <!-- -->
404
+ <xsl:otherwise>0mm</xsl:otherwise>
405
+ </xsl:choose>
406
+ </xsl:attribute>
407
+ <fo:list-item>
408
+ <fo:list-item-label end-indent="label-end()">
409
+ <xsl:if test="@level =2">
410
+ <xsl:attribute name="start-indent">12mm</xsl:attribute>
411
+ </xsl:if>
412
+ <fo:block>
413
+ <xsl:if test="@section and not(@display-section = 'false')"> <!-- -->
414
+ <!-- <xsl:if test="@type = 'annex'">
415
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
416
+ </xsl:if> -->
417
+ <xsl:value-of select="@section"/>
418
+ </xsl:if>
419
+ </fo:block>
420
+ </fo:list-item-label>
421
+ <fo:list-item-body start-indent="body-start()">
422
+ <fo:block text-align-last="justify"> <!-- margin-left="12mm" text-indent="-12mm" -->
423
+ <!-- <xsl:if test="@type = 'annex'">
424
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
425
+ </xsl:if> -->
426
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="text()">
427
+ <xsl:value-of select="text()"/>
428
+ <fo:inline keep-together.within-line="always">
429
+ <fo:leader leader-pattern="dots"/>
430
+ <fo:page-number-citation ref-id="{@id}"/>
431
+ </fo:inline>
432
+ </fo:basic-link>
433
+ </fo:block>
434
+ </fo:list-item-body>
435
+ </fo:list-item>
436
+ </fo:list-block>
437
+ </fo:block>
438
+ </xsl:if>
439
+ </xsl:for-each>
440
+ </fo:block-container>
441
+ </xsl:if>
442
+
443
+ </fo:flow>
444
+ </fo:page-sequence>
445
+
446
+ <!-- BODY -->
447
+ <fo:page-sequence master-reference="document" initial-page-number="1" force-page-count="no-force">
448
+
449
+ <fo:static-content flow-name="xsl-footnote-separator">
450
+ <fo:block>
451
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
452
+ </fo:block>
453
+ </fo:static-content>
454
+ <xsl:call-template name="insertHeaderFooter"/>
455
+
456
+ <fo:flow flow-name="xsl-region-body">
457
+
458
+ <fo:block-container font-size="14pt" font-weight="bold">
459
+ <fo:block>
460
+ <xsl:value-of select="$doctype"/>
461
+ <xsl:text> </xsl:text>
462
+ <xsl:value-of select="$docname"/>
463
+ </fo:block>
464
+ <fo:block text-align="center" margin-top="15pt" margin-bottom="15pt">
465
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
466
+ </fo:block>
467
+ </fo:block-container>
468
+
469
+
470
+ <!-- Clause(s) -->
471
+ <fo:block>
472
+ <!-- Scope -->
473
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/itu:clause[1]"> <!-- @id = 'scope' -->
474
+ <xsl:with-param name="sectionNum" select="'1'"/>
475
+ </xsl:apply-templates>
476
+ <!-- References -->
477
+ <xsl:variable name="numskew" select="count(/itu:itu-standard/itu:bibliography/itu:references[1])"/>
478
+ <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[1]"> <!-- @id = 'references' -->
479
+ <xsl:with-param name="sectionNum" select="1 + number($numskew)"/>
480
+ </xsl:apply-templates>
481
+
482
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/*[position() != 1]"> <!-- @id != 'scope' -->
483
+ <xsl:with-param name="sectionNumSkew" select="number($numskew)"/>
484
+ </xsl:apply-templates>
485
+
486
+ <xsl:apply-templates select="/itu:itu-standard/itu:annex"/>
487
+
488
+ <!-- Bibliography -->
489
+ <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[position() != 1]"/> <!-- @id = 'bibliography' -->
490
+ </fo:block>
491
+
492
+ </fo:flow>
493
+ </fo:page-sequence>
494
+
495
+
496
+ </fo:root>
497
+ </xsl:template>
498
+
499
+ <!-- for pass the paremeter 'sectionNum' over templates, like 'tunnel' parameter in XSLT 2.0 -->
500
+ <xsl:template match="node()">
501
+ <xsl:param name="sectionNum"/>
502
+ <xsl:param name="sectionNumSkew"/>
503
+ <xsl:apply-templates>
504
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
505
+ <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
506
+ </xsl:apply-templates>
507
+ </xsl:template>
508
+
509
+ <!-- ============================= -->
510
+ <!-- CONTENTS -->
511
+ <!-- ============================= -->
512
+ <xsl:template match="node()" mode="contents">
513
+ <xsl:param name="sectionNum"/>
514
+ <xsl:param name="sectionNumSkew"/>
515
+ <xsl:apply-templates mode="contents">
516
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
517
+ <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
518
+ </xsl:apply-templates>
519
+ </xsl:template>
520
+
521
+ <!-- <xsl:template match="itu:itu-standard/itu:preface/*" mode="contents">
522
+ <xsl:apply-templates mode="contents"/>
523
+ </xsl:template> -->
524
+
525
+ <!-- calculate main section number (1,2,3) and pass it deep into templates -->
526
+ <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
527
+ <xsl:template match="itu:itu-standard/itu:sections/*" mode="contents">
528
+ <xsl:param name="sectionNum"/>
529
+ <xsl:param name="sectionNumSkew" select="-1"/>
530
+ <xsl:variable name="sectionNum_">
531
+ <xsl:choose>
532
+ <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
533
+ <xsl:when test="$sectionNumSkew != -1">
534
+ <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!-- itu:sections/itu:clause | itu:sections/itu:terms | ??? -->
535
+ <xsl:value-of select="$number + $sectionNumSkew"/>
536
+ </xsl:when>
537
+ </xsl:choose>
538
+ </xsl:variable>
539
+ <!-- <xsl:message>
540
+ DEBUG sectionNum=<xsl:value-of select="$sectionNum_"/>
541
+ </xsl:message> -->
542
+ <xsl:apply-templates mode="contents">
543
+ <xsl:with-param name="sectionNum" select="$sectionNum_"/>
544
+ </xsl:apply-templates>
545
+ </xsl:template>
546
+
547
+ <!-- Any node with title element - clause, definition, annex,... -->
548
+ <xsl:template match="itu:title | itu:preferred" mode="contents">
549
+ <xsl:param name="sectionNum"/>
550
+ <!-- sectionNum=<xsl:value-of select="$sectionNum"/> -->
551
+ <xsl:variable name="id">
552
+ <xsl:call-template name="getId"/>
553
+ </xsl:variable>
554
+
555
+ <xsl:variable name="level">
556
+ <xsl:call-template name="getLevel"/>
557
+ </xsl:variable>
558
+
559
+ <!-- <xsl:message>
560
+ level=<xsl:value-of select="$level"/>=<xsl:value-of select="."/>
561
+ </xsl:message> -->
562
+
563
+ <xsl:variable name="section">
564
+ <xsl:call-template name="getSection">
565
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
566
+ </xsl:call-template>
567
+ </xsl:variable>
568
+
569
+ <xsl:variable name="display">
570
+ <xsl:choose>
571
+ <!-- <xsl:when test="ancestor::itu:annex">true</xsl:when> -->
572
+ <xsl:when test="$level &lt;= 2">true</xsl:when>
573
+ <xsl:otherwise>false</xsl:otherwise>
574
+ </xsl:choose>
575
+ </xsl:variable>
576
+
577
+ <xsl:variable name="type">
578
+ <xsl:value-of select="local-name(..)"/>
579
+ </xsl:variable>
580
+
581
+ <item id="{$id}" level="{$level}" section="{$section}" display="{$display}" type="{$type}">
582
+ <xsl:value-of select="."/>
583
+ </item>
584
+
585
+ <xsl:apply-templates mode="contents">
586
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
587
+ </xsl:apply-templates>
588
+ </xsl:template>
589
+
590
+ <xsl:template match="itu:clause[not(itu:title)]" mode="contents">
591
+ <xsl:param name="sectionNum"/>
592
+ <xsl:variable name="level">
593
+ <xsl:call-template name="getLevel"/>
594
+ </xsl:variable>
595
+ <xsl:variable name="section">
596
+ <xsl:for-each select="*[1]">
597
+ <xsl:call-template name="getSection">
598
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
599
+ </xsl:call-template>
600
+ </xsl:for-each>
601
+ </xsl:variable>
602
+ <item id="{@id}" level="{$level}" section="{$section}" display="false" type="clause">
603
+ <xsl:value-of select="."/>
604
+ </item>
605
+ <xsl:apply-templates mode="contents">
606
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
607
+ </xsl:apply-templates>
608
+ </xsl:template>
609
+
610
+ <xsl:template match="itu:bibitem" mode="contents"/>
611
+
612
+ <xsl:template match="itu:references" mode="contents">
613
+ <xsl:param name="sectionNum"/>
614
+ <xsl:apply-templates mode="contents">
615
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
616
+ </xsl:apply-templates>
617
+ </xsl:template>
618
+
619
+
620
+ <xsl:template match="itu:figure" mode="contents">
621
+ <xsl:param name="sectionNum"/>
622
+ <item level="" id="{@id}" display="false" type="figure">
623
+ <xsl:variable name="title">Figure </xsl:variable>
624
+ <xsl:attribute name="section">
625
+ <xsl:call-template name="getSection">
626
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
627
+ </xsl:call-template>
628
+ <!-- <xsl:text>Figure </xsl:text>
629
+ <xsl:call-template name="getItemNumber">
630
+ <xsl:with-param name="brackets" select="'false'"/>
631
+ </xsl:call-template> -->
632
+ </xsl:attribute>
633
+ <xsl:value-of select="$title"/>
634
+ <xsl:call-template name="getItemNumber">
635
+ <xsl:with-param name="brackets" select="'false'"/>
636
+ </xsl:call-template>
637
+ </item>
638
+ <xsl:apply-templates mode="contents">
639
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
640
+ </xsl:apply-templates>
641
+ </xsl:template>
642
+
643
+ <xsl:template match="itu:table" mode="contents">
644
+ <xsl:param name="sectionNum"/>
645
+ <item level="" id="{@id}" display="false" type="table">
646
+ <xsl:variable name="title">Table </xsl:variable>
647
+ <xsl:attribute name="section">
648
+ <xsl:call-template name="getSection">
649
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
650
+ </xsl:call-template>
651
+ <!-- <xsl:text>Table </xsl:text>
652
+ <xsl:call-template name="getItemNumber"/> -->
653
+ </xsl:attribute>
654
+ <xsl:value-of select="$title"/>
655
+ <xsl:call-template name="getItemNumber">
656
+ <xsl:with-param name="brackets" select="'false'"/>
657
+ </xsl:call-template>
658
+ </item>
659
+ <xsl:apply-templates mode="contents">
660
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
661
+ </xsl:apply-templates>
662
+ </xsl:template>
663
+
664
+
665
+ <xsl:template match="itu:formula" mode="contents">
666
+ <xsl:param name="sectionNum"/>
667
+ <item level="" id="{@id}" display="false" type="formula">
668
+ <xsl:variable name="title">
669
+ <xsl:choose>
670
+ <xsl:when test="@inequality = 'true'">Inequality </xsl:when>
671
+ <xsl:otherwise>Equation </xsl:otherwise>
672
+ </xsl:choose>
673
+ </xsl:variable>
674
+ <xsl:attribute name="section">
675
+ <xsl:call-template name="getSection">
676
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
677
+ </xsl:call-template>
678
+ <!-- <xsl:value-of select="$title"/>
679
+ <xsl:call-template name="getItemNumber"/> -->
680
+ </xsl:attribute>
681
+ <xsl:variable name="parent-element" select="local-name(..)"/>
682
+ <xsl:attribute name="parent">
683
+ <xsl:choose>
684
+ <xsl:when test="$parent-element = 'clause'">Clause</xsl:when>
685
+ <xsl:otherwise/>
686
+ </xsl:choose>
687
+ </xsl:attribute>
688
+ <xsl:variable name="itemNumber">
689
+ <xsl:call-template name="getItemNumber">
690
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
691
+ </xsl:call-template>
692
+ </xsl:variable>
693
+ <xsl:attribute name="number">
694
+ <xsl:value-of select="$itemNumber"/>
695
+ </xsl:attribute>
696
+ <xsl:value-of select="$title"/>
697
+ <xsl:value-of select="$itemNumber"/>
698
+ </item>
699
+ <xsl:apply-templates mode="contents">
700
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
701
+ </xsl:apply-templates>
702
+ </xsl:template>
703
+
704
+ <xsl:template name="getItemNumber">
705
+ <xsl:param name="brackets" select="'true'"/>
706
+ <xsl:param name="sectionNum"/>
707
+ <xsl:variable name="name" select="local-name()"/>
708
+ <xsl:choose>
709
+ <xsl:when test="@unnumbered = 'true'"/>
710
+ <xsl:when test="count(//itu:annex) = 1 and ancestor::*[local-name()='annex'] and /itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
711
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
712
+ <xsl:number format="-1" level="any" count="itu:annex//*[local-name()=$name]"/>
713
+ </xsl:when>
714
+ <xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
715
+ <xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
716
+ <!-- Annex -->
717
+ <xsl:if test="$brackets = 'true'">
718
+ <xsl:text>(</xsl:text>
719
+ </xsl:if>
720
+ <xsl:number format="I-" count="itu:annex[@obligation = 'informative']"/>
721
+ <xsl:number format="1" level="any" count="*[local-name()=$name][(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
722
+ <xsl:if test="$brackets = 'true'">
723
+ <xsl:text>)</xsl:text>
724
+ </xsl:if>
725
+ </xsl:when>
726
+ <!-- Appendix -->
727
+ <xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
728
+ <xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
729
+ <xsl:if test="$brackets = 'true'">
730
+ <xsl:text>(</xsl:text>
731
+ </xsl:if>
732
+ <xsl:number format="A-" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
733
+ <xsl:number format="1" level="any" count="*[local-name()=$name][(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
734
+ <xsl:if test="$brackets = 'true'">
735
+ <xsl:text>)</xsl:text>
736
+ </xsl:if>
737
+ </xsl:when>
738
+ <xsl:when test="ancestor::*[local-name()=$name]"> <!-- figure in figure for example -->
739
+ <xsl:if test="$brackets = 'true'">
740
+ <xsl:text>(</xsl:text>
741
+ </xsl:if>
742
+ <xsl:for-each select="parent::*[1]">
743
+ <xsl:number format="1" level="any" count="*[local-name()=$name][not(parent::*[local-name()=$name])]"/> <!-- itu:figure[not(parent::itu:figure)] -->
744
+ </xsl:for-each>
745
+ <xsl:number format="-a" count="*[local-name()=$name]"/>
746
+ <xsl:if test="$brackets = 'true'">
747
+ <xsl:text>)</xsl:text>
748
+ </xsl:if>
749
+ </xsl:when>
750
+ <xsl:when test="ancestor::itu:sections and $name = 'formula'">
751
+ <xsl:if test="$brackets = 'true'">
752
+ <xsl:text>(</xsl:text>
753
+ </xsl:if>
754
+ <xsl:value-of select="$sectionNum"/>
755
+ <xsl:text>-</xsl:text>
756
+ <xsl:variable name="parent_id" select="ancestor::itu:clause[last()]/@id"/>
757
+ <!-- count equation in current section (1st level) -->
758
+ <xsl:number format="1" level="any" count="*[local-name()=$name][not(@unnumbered) or @unnumbered != 'true'][not(parent::*[local-name()=$name])][ancestor::itu:clause[last()]/@id = $parent_id]"/>
759
+ <xsl:if test="$brackets = 'true'">
760
+ <xsl:text>)</xsl:text>
761
+ </xsl:if>
762
+ </xsl:when>
763
+ <xsl:otherwise>
764
+ <xsl:if test="$brackets = 'true'">
765
+ <xsl:text>(</xsl:text>
766
+ </xsl:if>
767
+ <!-- <xsl:number format="1" level="any" count="itu:figure[not(parent::itu:figure)]"/> -->
768
+ <xsl:number format="1" level="any" count="*[local-name()=$name][not(@unnumbered) or @unnumbered != 'true'][not(parent::*[local-name()=$name])]"/>
769
+ <xsl:if test="$brackets = 'true'">
770
+ <xsl:text>)</xsl:text>
771
+ </xsl:if>
772
+ </xsl:otherwise>
773
+ </xsl:choose>
774
+ </xsl:template>
775
+
776
+
777
+ <xsl:template match="itu:example" mode="contents">
778
+ <xsl:param name="sectionNum"/>
779
+ <xsl:variable name="level">
780
+ <xsl:call-template name="getLevel"/>
781
+ </xsl:variable>
782
+ <xsl:variable name="section">
783
+ <xsl:call-template name="getSection">
784
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
785
+ </xsl:call-template>
786
+ </xsl:variable>
787
+
788
+ <xsl:variable name="parent-element" select="local-name(..)"/>
789
+ <item level="" id="{@id}" display="false" type="example" section="{$section}">
790
+ <xsl:attribute name="parent">
791
+ <xsl:choose>
792
+ <xsl:when test="$parent-element = 'clause'">Clause</xsl:when>
793
+ <xsl:otherwise/>
794
+ </xsl:choose>
795
+ </xsl:attribute>
796
+ </item>
797
+ <xsl:apply-templates mode="contents">
798
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
799
+ </xsl:apply-templates>
800
+ </xsl:template>
801
+
802
+ <!-- terms - term - termnote -->
803
+ <xsl:template match="itu:termnote" mode="contents">
804
+ <xsl:param name="sectionNum"/>
805
+ <xsl:variable name="level">
806
+ <xsl:call-template name="getLevel"/>
807
+ </xsl:variable>
808
+ <xsl:variable name="section">
809
+ <xsl:call-template name="getSection">
810
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
811
+ </xsl:call-template>
812
+ </xsl:variable>
813
+ <item level="" id="{@id}" display="false" type="note" section="{$section}">
814
+ <xsl:number/>
815
+ </item>
816
+ <xsl:apply-templates mode="contents">
817
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
818
+ </xsl:apply-templates>
819
+ </xsl:template>
820
+
821
+ <xsl:template match="itu:termnote" mode="contents">
822
+ <xsl:param name="sectionNum"/>
823
+ <xsl:variable name="level">
824
+ <xsl:call-template name="getLevel"/>
825
+ </xsl:variable>
826
+ <xsl:variable name="section">
827
+ <xsl:call-template name="getSection">
828
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
829
+ </xsl:call-template>
830
+ </xsl:variable>
831
+ <item level="" id="{@id}" display="false" type="note" section="{$section}">
832
+ <xsl:number/>
833
+ </item>
834
+ <xsl:apply-templates mode="contents">
835
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
836
+ </xsl:apply-templates>
837
+ </xsl:template>
838
+
839
+ <xsl:template match="itu:note" mode="contents">
840
+ <xsl:param name="sectionNum"/>
841
+ <xsl:variable name="level">
842
+ <xsl:call-template name="getLevel"/>
843
+ </xsl:variable>
844
+ <xsl:variable name="section">
845
+ <xsl:for-each select="ancestor::itu:clause[1]/*[1]">
846
+ <xsl:call-template name="getSection">
847
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
848
+ </xsl:call-template>
849
+ </xsl:for-each>
850
+ </xsl:variable>
851
+ <item level="" id="{@id}" display="false" type="note" section="{$section}">
852
+ <xsl:number/>
853
+ </item>
854
+ <xsl:apply-templates mode="contents">
855
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
856
+ </xsl:apply-templates>
857
+ </xsl:template>
858
+
859
+ <xsl:template match="itu:li" mode="contents">
860
+ <xsl:param name="sectionNum"/>
861
+ <item level="" id="{@id}" display="false" type="li">
862
+ <xsl:attribute name="section">
863
+ <xsl:call-template name="getListItemFormat"/>
864
+ </xsl:attribute>
865
+ </item>
866
+ <xsl:apply-templates mode="contents">
867
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
868
+ </xsl:apply-templates>
869
+ </xsl:template>
870
+
871
+ <xsl:template name="getListItemFormat">
872
+ <xsl:variable name="level">
873
+ <xsl:variable name="numtmp">
874
+ <xsl:number level="multiple" count="itu:ol"/>
875
+ </xsl:variable>
876
+ <!-- level example: 1.1
877
+ calculate counts of '.' in numtmp value - level of nested lists
878
+ -->
879
+ <xsl:value-of select="string-length($numtmp) - string-length(translate($numtmp, '.', '')) + 1"/>
880
+ </xsl:variable>
881
+ <xsl:choose>
882
+ <xsl:when test="local-name(..) = 'ul'">–</xsl:when> <!-- dash &#x2014; -->
883
+ <xsl:otherwise>
884
+ <!-- for Ordered Lists -->
885
+ <xsl:choose>
886
+ <xsl:when test="../@type = 'arabic'">
887
+ <xsl:number format="a)"/>
888
+ </xsl:when>
889
+ <xsl:when test="../@class = 'steps'">
890
+ <xsl:number format="1)"/>
891
+ </xsl:when>
892
+ <xsl:when test="$level = 1">
893
+ <xsl:number format="a)"/>
894
+ </xsl:when>
895
+ <xsl:when test="$level = 2">
896
+ <xsl:number format="i)"/>
897
+ </xsl:when>
898
+ <xsl:otherwise>
899
+ <xsl:number format="1.)"/>
900
+ </xsl:otherwise>
901
+ </xsl:choose>
902
+ </xsl:otherwise>
903
+ </xsl:choose>
904
+ </xsl:template>
905
+
906
+ <!-- ============================= -->
907
+ <!-- ============================= -->
908
+
909
+
910
+ <!-- ============================= -->
911
+ <!-- PREFACE (Summary, History, ...) -->
912
+ <!-- ============================= -->
913
+
914
+ <!-- Summary -->
915
+ <xsl:template match="itu:itu-standard/itu:preface/itu:abstract[@id = '_summary']">
916
+ <fo:block font-size="12pt">
917
+ <xsl:value-of select="$linebreak"/>
918
+ <xsl:value-of select="$linebreak"/>
919
+ </fo:block>
920
+ <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
921
+ <xsl:text>Summary</xsl:text>
922
+ </fo:block>
923
+ <xsl:apply-templates/>
924
+ </xsl:template>
925
+
926
+ <xsl:template match="itu:preface/itu:clause">
927
+ <fo:block font-size="12pt">
928
+ <xsl:value-of select="$linebreak"/>
929
+ <xsl:value-of select="$linebreak"/>
930
+ </fo:block>
931
+ <xsl:apply-templates/>
932
+ </xsl:template>
933
+
934
+ <xsl:template match="itu:preface//itu:title">
935
+ <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
936
+ <xsl:apply-templates/>
937
+ </fo:block>
938
+ </xsl:template>
939
+ <!-- ============================= -->
940
+ <!-- ============================= -->
941
+
942
+
943
+ <!-- ============================= -->
944
+ <!-- PARAGRAPHS -->
945
+ <!-- ============================= -->
946
+ <xsl:template match="itu:p | itu:sections/itu:p">
947
+ <fo:block margin-top="6pt">
948
+ <xsl:attribute name="text-align">
949
+ <xsl:choose>
950
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
951
+ <xsl:otherwise>justify</xsl:otherwise>
952
+ </xsl:choose>
953
+ </xsl:attribute>
954
+ <xsl:apply-templates/>
955
+ </fo:block>
956
+ </xsl:template>
957
+
958
+ <xsl:template match="itu:note">
959
+ <fo:block id="{@id}">
960
+ <xsl:apply-templates/>
961
+ </fo:block>
962
+ </xsl:template>
963
+
964
+ <xsl:template match="itu:note/itu:p" name="note">
965
+ <xsl:variable name="id" select="ancestor::*[local-name() = 'clause'][1]/@id"/>
966
+ <fo:block font-size="11pt" space-before="4pt" text-align="justify">
967
+ <xsl:text>NOTE </xsl:text>
968
+ <!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
969
+ <xsl:if test="count(//itu:note[ancestor::*[local-name() = 'clause'][1][@id = $id] and not (ancestor::itu:table)]) &gt; 1">
970
+ <xsl:number count="itu:note[ancestor::*[local-name() = 'clause'][1][@id = $id] and not (ancestor::itu:table)]" level="any"/>
971
+ </xsl:if>
972
+ <!-- <xsl:number count="itu:note"/> --><xsl:text> </xsl:text>
973
+ <!-- </xsl:if> -->
974
+ <xsl:text>– </xsl:text>
975
+ <xsl:apply-templates/>
976
+ </fo:block>
977
+ </xsl:template>
978
+
979
+
980
+ <!-- ============================= -->
981
+ <!-- ============================= -->
982
+
983
+
984
+ <!-- ============================= -->
985
+ <!-- Bibliography -->
986
+ <!-- ============================= -->
987
+
988
+ <!-- Example: [ITU-T A.23] ITU-T A.23, Recommendation ITU-T A.23, Annex A (2014), Guide for ITU-T and ISO/IEC JTC 1 cooperation. -->
989
+ <xsl:template match="itu:bibitem">
990
+ <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
991
+
992
+ <xsl:choose>
993
+ <xsl:when test="itu:docidentifier[@type = 'metanorma']">
994
+ <xsl:value-of select="itu:docidentifier[@type = 'metanorma']"/>
995
+ <xsl:text> </xsl:text>
996
+ <xsl:if test="itu:docidentifier[not(@type) or not(@type = 'metanorma')]">
997
+ <xsl:value-of select="itu:docidentifier[not(@type) or not(@type = 'metanorma')]"/>
998
+ <xsl:text>, </xsl:text>
999
+ </xsl:if>
1000
+ </xsl:when>
1001
+ <xsl:otherwise>
1002
+ <fo:inline padding-right="5mm">
1003
+ <xsl:text>[</xsl:text>
1004
+ <xsl:value-of select="itu:docidentifier"/>
1005
+ <xsl:text>] </xsl:text>
1006
+ </fo:inline>
1007
+ <xsl:value-of select="itu:docidentifier"/>
1008
+ <xsl:if test="itu:title">
1009
+ <xsl:text>, </xsl:text>
1010
+ </xsl:if>
1011
+ </xsl:otherwise>
1012
+ </xsl:choose>
1013
+
1014
+ <xsl:if test="itu:title">
1015
+ <fo:inline font-style="italic">
1016
+ <xsl:choose>
1017
+ <xsl:when test="itu:title[@type = 'main' and @language = 'en']">
1018
+ <xsl:value-of select="itu:title[@type = 'main' and @language = 'en']"/>
1019
+ </xsl:when>
1020
+ <xsl:otherwise>
1021
+ <xsl:value-of select="itu:title"/>
1022
+ </xsl:otherwise>
1023
+ </xsl:choose>
1024
+ </fo:inline>
1025
+ </xsl:if>
1026
+ <xsl:if test="itu:formattedref and not(itu:docidentifier[@type = 'metanorma'])">, </xsl:if>
1027
+ <xsl:apply-templates select="itu:formattedref"/>
1028
+ </fo:block>
1029
+ </xsl:template>
1030
+ <xsl:template match="itu:bibitem/itu:docidentifier"/>
1031
+
1032
+ <xsl:template match="itu:bibitem/itu:title"/>
1033
+
1034
+ <xsl:template match="itu:formattedref">
1035
+ <xsl:apply-templates/>
1036
+ </xsl:template>
1037
+
1038
+
1039
+ <!-- ============================= -->
1040
+ <!-- ============================= -->
1041
+
1042
+
1043
+ <xsl:template match="text()">
1044
+ <xsl:value-of select="."/>
1045
+ </xsl:template>
1046
+
1047
+
1048
+ <!-- calculate main section number (1,2,3) and pass it deep into templates -->
1049
+ <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
1050
+ <xsl:template match="itu:itu-standard/itu:sections/*">
1051
+ <xsl:param name="sectionNum"/>
1052
+ <xsl:param name="sectionNumSkew" select="-1"/>
1053
+ <fo:block>
1054
+ <xsl:variable name="sectionNum_">
1055
+ <xsl:choose>
1056
+ <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1057
+ <xsl:when test="$sectionNumSkew != -1">
1058
+ <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!-- itu:sections/itu:clause | itu:sections/itu:terms -->
1059
+ <xsl:value-of select="$number + $sectionNumSkew"/>
1060
+ </xsl:when>
1061
+ </xsl:choose>
1062
+ </xsl:variable>
1063
+ <xsl:apply-templates>
1064
+ <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1065
+ </xsl:apply-templates>
1066
+ </fo:block>
1067
+ </xsl:template>
1068
+
1069
+
1070
+ <xsl:template match="itu:clause[@id='draft-warning']/itu:title" mode="caution">
1071
+ <fo:block font-size="16pt" font-family="Times New Roman" font-style="italic" font-weight="bold" text-align="center">
1072
+ <xsl:apply-templates/>
1073
+ </fo:block>
1074
+ </xsl:template>
1075
+
1076
+ <xsl:template match="itu:clause[@id='draft-warning']/itu:p" mode="caution">
1077
+ <fo:block font-size="12pt" font-family="Times New Roman" text-align="justify">
1078
+ <xsl:apply-templates/>
1079
+ </fo:block>
1080
+ </xsl:template>
1081
+
1082
+ <xsl:template match="itu:title">
1083
+ <xsl:param name="sectionNum"/>
1084
+
1085
+ <xsl:variable name="id">
1086
+ <xsl:call-template name="getId"/>
1087
+ </xsl:variable>
1088
+
1089
+ <xsl:variable name="parent-name" select="local-name(..)"/>
1090
+ <xsl:variable name="references_num_current">
1091
+ <xsl:number level="any" count="itu:references"/>
1092
+ </xsl:variable>
1093
+
1094
+ <xsl:variable name="level">
1095
+ <xsl:call-template name="getLevel"/>
1096
+ </xsl:variable>
1097
+
1098
+ <xsl:variable name="font-size">
1099
+ <xsl:choose>
1100
+ <xsl:when test="$level = 2">12pt</xsl:when>
1101
+ <xsl:when test="$level &gt;= 3">12pt</xsl:when>
1102
+ <xsl:otherwise>12pt</xsl:otherwise>
1103
+ </xsl:choose>
1104
+ </xsl:variable>
1105
+
1106
+ <xsl:variable name="space-before">
1107
+ <xsl:choose>
1108
+ <xsl:when test="$level = '' or $level = 1">18pt</xsl:when>
1109
+ <xsl:when test="$level = 2">12pt</xsl:when>
1110
+ <xsl:otherwise>6pt</xsl:otherwise>
1111
+ </xsl:choose>
1112
+ </xsl:variable>
1113
+
1114
+ <xsl:variable name="space-after">
1115
+ <xsl:choose>
1116
+ <xsl:when test="$level = 2">6pt</xsl:when>
1117
+ <xsl:otherwise>6pt</xsl:otherwise>
1118
+ </xsl:choose>
1119
+ </xsl:variable>
1120
+
1121
+ <xsl:variable name="section">
1122
+ <xsl:call-template name="getSection">
1123
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1124
+ </xsl:call-template>
1125
+ </xsl:variable>
1126
+
1127
+ <xsl:choose>
1128
+ <xsl:when test="$parent-name = 'annex'">
1129
+ <fo:block id="{$id}" font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
1130
+ <fo:block margin-bottom="18pt">
1131
+ <fo:inline id="{@id}"><xsl:value-of select="$section"/></fo:inline>
1132
+ </fo:block>
1133
+ <fo:block><xsl:apply-templates/></fo:block>
1134
+ <fo:block font-size="12pt" font-weight="normal" margin-top="6pt">
1135
+ <xsl:choose>
1136
+ <xsl:when test="parent::*[@obligation = 'informative']">
1137
+ <xsl:text>(This appendix does not form an integral part of this Recommendation.)</xsl:text>
1138
+ </xsl:when>
1139
+ <xsl:otherwise>
1140
+ <xsl:text>(This annex forms an integral part of this Recommendation.)</xsl:text>
1141
+ </xsl:otherwise>
1142
+ </xsl:choose>
1143
+ </fo:block>
1144
+ </fo:block>
1145
+ </xsl:when>
1146
+ <xsl:when test="$parent-name = 'references' and $references_num_current != 1">
1147
+ <fo:block id="{$id}" font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
1148
+ <xsl:apply-templates/>
1149
+ </fo:block>
1150
+ </xsl:when>
1151
+ <xsl:otherwise>
1152
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always">
1153
+ <xsl:value-of select="$section"/>
1154
+ <fo:inline>
1155
+ <xsl:attribute name="padding-right">
1156
+ <xsl:choose>
1157
+ <xsl:when test="$level = 5">6mm</xsl:when>
1158
+ <xsl:when test="$level = 4">9mm</xsl:when>
1159
+ <xsl:when test="$level = 3">5mm</xsl:when>
1160
+ <xsl:when test="$level = 2">8mm</xsl:when>
1161
+ <xsl:otherwise>11mm</xsl:otherwise>
1162
+ </xsl:choose>
1163
+ </xsl:attribute>
1164
+ <xsl:text> </xsl:text>
1165
+ </fo:inline>
1166
+ <xsl:apply-templates/>
1167
+ </fo:block>
1168
+ </xsl:otherwise>
1169
+ </xsl:choose>
1170
+ </xsl:template>
1171
+
1172
+
1173
+ <xsl:template match="itu:legal-statement//itu:title | itu:license-statement//itu:title">
1174
+ <fo:block text-align="center" margin-top="6pt">
1175
+ <xsl:apply-templates/>
1176
+ </fo:block>
1177
+ </xsl:template>
1178
+
1179
+ <xsl:template match="itu:legal-statement//itu:p | itu:license-statement//itu:p">
1180
+ <fo:block margin-top="6pt">
1181
+ <xsl:apply-templates/>
1182
+ </fo:block>
1183
+ <xsl:if test="not(following-sibling::itu:p)"> <!-- last para -->
1184
+ <fo:block margin-top="6pt"> </fo:block>
1185
+ <fo:block margin-top="6pt"> </fo:block>
1186
+ <fo:block margin-top="6pt"> </fo:block>
1187
+ </xsl:if>
1188
+ </xsl:template>
1189
+
1190
+ <xsl:template match="itu:copyright-statement//itu:p">
1191
+ <fo:block>
1192
+ <xsl:if test="not(preceding-sibling::itu:p)"> <!-- first para -->
1193
+ <xsl:attribute name="text-align">center</xsl:attribute>
1194
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1195
+ <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
1196
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1197
+ </xsl:if>
1198
+ <xsl:apply-templates/>
1199
+ </fo:block>
1200
+ </xsl:template>
1201
+
1202
+
1203
+ <xsl:template match="itu:preferred">
1204
+ <xsl:param name="sectionNum"/>
1205
+ <!-- DEBUG need -->
1206
+ <fo:block space-before="6pt" text-align="justify">
1207
+ <fo:inline id="{../@id}" padding-right="5mm" font-weight="bold">
1208
+ <!-- <xsl:value-of select="$sectionNum"/><xsl:number format=".1" level="multiple" count="itu:clause/itu:clause | itu:clause/itu:terms | itu:terms/itu:term"/> -->
1209
+ <xsl:variable name="level">
1210
+ <xsl:call-template name="getLevel"/>
1211
+ </xsl:variable>
1212
+ <!-- level=<xsl:value-of select="$level"/> -->
1213
+ <xsl:attribute name="padding-right">
1214
+ <xsl:choose>
1215
+ <xsl:when test="$level = 4">2mm</xsl:when>
1216
+ <xsl:when test="$level = 3">4mm</xsl:when>
1217
+ <xsl:otherwise>5mm</xsl:otherwise>
1218
+ </xsl:choose>
1219
+ </xsl:attribute>
1220
+ <xsl:variable name="section">
1221
+ <xsl:call-template name="getSection">
1222
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1223
+ </xsl:call-template>
1224
+ </xsl:variable>
1225
+ <xsl:value-of select="$section"/>
1226
+ </fo:inline>
1227
+ <fo:inline font-weight="bold">
1228
+ <xsl:apply-templates/>
1229
+ </fo:inline>
1230
+ <xsl:if test="../itu:termsource/itu:origin">
1231
+ <xsl:text> [</xsl:text><xsl:value-of select="../itu:termsource/itu:origin/@citeas"/><xsl:text>]</xsl:text>
1232
+ </xsl:if>
1233
+ <xsl:text>: </xsl:text>
1234
+ <xsl:apply-templates select="following-sibling::itu:definition/node()" mode="process"/> <!-- -->
1235
+ </fo:block>
1236
+ <!-- <xsl:if test="following-sibling::itu:table">
1237
+ <fo:block space-after="18pt">&#xA0;</fo:block>
1238
+ </xsl:if> -->
1239
+ </xsl:template>
1240
+
1241
+ <xsl:template match="itu:definition/itu:p"/>
1242
+ <xsl:template match="itu:definition/itu:formula"/>
1243
+
1244
+ <xsl:template match="itu:definition/itu:p" mode="process"> <!-- -->
1245
+ <xsl:param name="sectionNum"/>
1246
+ <xsl:choose>
1247
+ <xsl:when test="position() = 1">
1248
+ <fo:inline>
1249
+ <xsl:apply-templates/>
1250
+ </fo:inline>
1251
+ </xsl:when>
1252
+ <xsl:otherwise>
1253
+ <fo:block margin-top="6pt" text-align="justify">
1254
+ <xsl:apply-templates>
1255
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1256
+ </xsl:apply-templates>
1257
+ </fo:block>
1258
+ </xsl:otherwise>
1259
+ </xsl:choose>
1260
+ </xsl:template>
1261
+
1262
+ <xsl:template match="itu:p/itu:fn" priority="2">
1263
+ <fo:footnote>
1264
+ <xsl:variable name="number">
1265
+ <xsl:number level="any" count="itu:p/itu:fn"/>
1266
+ </xsl:variable>
1267
+ <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
1268
+ <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
1269
+ <!-- <xsl:value-of select="@reference"/> -->
1270
+ <xsl:value-of select="$number + count(//itu:bibitem/itu:note)"/>
1271
+ </fo:basic-link>
1272
+ </fo:inline>
1273
+ <fo:footnote-body>
1274
+ <fo:block font-size="11pt" margin-bottom="12pt">
1275
+ <fo:inline id="footnote_{@reference}_{$number}" font-size="85%" padding-right="2mm" keep-with-next.within-line="always" baseline-shift="30%"> <!-- alignment-baseline="hanging" -->
1276
+ <xsl:value-of select="$number + count(//itu:bibitem/itu:note)"/>
1277
+ </fo:inline>
1278
+ <xsl:for-each select="itu:p">
1279
+ <xsl:apply-templates/>
1280
+ </xsl:for-each>
1281
+ </fo:block>
1282
+ </fo:footnote-body>
1283
+ </fo:footnote>
1284
+ </xsl:template>
1285
+
1286
+
1287
+ <xsl:template match="*[local-name()='tt']" priority="2">
1288
+ <xsl:variable name="element-name">
1289
+ <xsl:choose>
1290
+ <xsl:when test="ancestor::itu:dd">fo:inline</xsl:when>
1291
+ <xsl:when test="normalize-space(ancestor::itu:p[1]//text()[not(parent::itu:tt)]) != ''">fo:inline</xsl:when>
1292
+ <xsl:otherwise>fo:block</xsl:otherwise>
1293
+ </xsl:choose>
1294
+ </xsl:variable>
1295
+ <xsl:element name="{$element-name}">
1296
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1297
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1298
+ <xsl:if test="local-name(..) != 'dt' and not(ancestor::itu:dd)">
1299
+ <xsl:attribute name="text-align">center</xsl:attribute>
1300
+ </xsl:if>
1301
+ <xsl:apply-templates/>
1302
+ </xsl:element>
1303
+ </xsl:template>
1304
+
1305
+
1306
+
1307
+ <xsl:template match="itu:figure">
1308
+ <fo:block-container id="{@id}">
1309
+ <fo:block>
1310
+ <xsl:apply-templates/>
1311
+ </fo:block>
1312
+ <xsl:call-template name="fn_display_figure"/>
1313
+ <xsl:for-each select="itu:note//itu:p">
1314
+ <xsl:call-template name="note"/>
1315
+ </xsl:for-each>
1316
+ <fo:block font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="6pt" keep-with-previous="always">
1317
+ <xsl:variable name="itemnumber">
1318
+ <xsl:call-template name="getItemNumber">
1319
+ <xsl:with-param name="brackets" select="'false'"/>
1320
+ </xsl:call-template>
1321
+ </xsl:variable>
1322
+ <xsl:if test="$itemnumber != ''">
1323
+ <xsl:text>Figure </xsl:text>
1324
+ <xsl:value-of select="$itemnumber"/>
1325
+ </xsl:if>
1326
+ <xsl:if test="itu:name">
1327
+ <xsl:text> — </xsl:text>
1328
+ <xsl:value-of select="itu:name"/>
1329
+ </xsl:if>
1330
+ </fo:block>
1331
+ </fo:block-container>
1332
+ </xsl:template>
1333
+
1334
+ <xsl:template match="itu:figure/itu:name"/>
1335
+ <xsl:template match="itu:figure/itu:fn" priority="2"/>
1336
+ <xsl:template match="itu:figure/itu:note"/>
1337
+
1338
+ <!-- itu:figure/itu:image -->
1339
+ <xsl:template match="itu:image">
1340
+ <fo:block text-align="center">
1341
+ <!-- <fo:external-graphic src="{@src}" content-width="75%" content-height="scale-to-fit" scaling="uniform"/> -->
1342
+ <fo:external-graphic src="{@src}" fox:alt-text="Image {@alt}" width="75%" content-height="100%" content-width="scale-to-fit" scaling="uniform"/>
1343
+ </fo:block>
1344
+ </xsl:template>
1345
+
1346
+ <xsl:template match="itu:figure[@class = 'pseudocode']">
1347
+ <fo:block>
1348
+ <xsl:apply-templates/>
1349
+ </fo:block>
1350
+ </xsl:template>
1351
+
1352
+ <xsl:template match="itu:figure[@class = 'pseudocode']//itu:p">
1353
+ <fo:block font-size="10pt" margin-top="6pt" margin-bottom="6pt">
1354
+ <xsl:apply-templates/>
1355
+ </fo:block>
1356
+ </xsl:template>
1357
+
1358
+
1359
+
1360
+ <!-- Examples:
1361
+ [b-ASM] b-ASM, http://www.eecs.umich.edu/gasm/ (accessed 20 March 2018).
1362
+ [b-Börger & Stärk] b-Börger & Stärk, Börger, E., and Stärk, R. S. (2003), Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag.
1363
+ -->
1364
+ <xsl:template match="itu:annex//itu:bibitem">
1365
+ <fo:block margin-top="6pt" margin-left="10mm" text-indent="-10mm">
1366
+ <fo:inline id="{@id}" padding-right="5mm">[<xsl:value-of select="itu:docidentifier"/>]</fo:inline>
1367
+ <xsl:text> </xsl:text>
1368
+ <xsl:apply-templates select="itu:docidentifier" mode="content"/>
1369
+ <xsl:if test="node()[local-name(.) != current()/itu:docidentifier]">, </xsl:if>
1370
+ <xsl:apply-templates/>
1371
+ </fo:block>
1372
+ </xsl:template>
1373
+
1374
+ <xsl:template match="itu:docidentifier" mode="content">
1375
+ <xsl:apply-templates/>
1376
+ </xsl:template>
1377
+ <xsl:template match="itu:docidentifier"/>
1378
+
1379
+
1380
+
1381
+ <xsl:template match="itu:annex2//itu:note/itu:p">
1382
+ <fo:block font-size="11pt" margin-top="4pt">
1383
+ <xsl:text>NOTE </xsl:text>
1384
+ <!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
1385
+ <xsl:number count="itu:note"/><xsl:text> </xsl:text>
1386
+ <!-- </xsl:if> -->
1387
+ <xsl:text>– </xsl:text>
1388
+ <xsl:apply-templates/>
1389
+ </fo:block>
1390
+ </xsl:template>
1391
+
1392
+ <xsl:template match="itu:ul | itu:ol | itu:sections/itu:ul | itu:sections/itu:ol">
1393
+ <xsl:if test="preceding-sibling::*[1][local-name() = 'title']">
1394
+ <fo:block padding-top="-8pt" font-size="1pt"> </fo:block>
1395
+ </xsl:if>
1396
+ <fo:list-block>
1397
+ <xsl:apply-templates/>
1398
+ </fo:list-block>
1399
+ <xsl:apply-templates select="./itu:note" mode="process"/>
1400
+ </xsl:template>
1401
+
1402
+ <xsl:template match="itu:ul//itu:note | itu:ol//itu:note"/>
1403
+ <xsl:template match="itu:ul//itu:note/itu:p | itu:ol//itu:note/itu:p" mode="process">
1404
+ <xsl:variable name="id" select="ancestor::*[local-name() = 'clause'][1]/@id"/>
1405
+ <fo:block font-size="11pt" margin-top="4pt">
1406
+ <xsl:text>NOTE </xsl:text>
1407
+ <!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
1408
+ <xsl:if test="count(//itu:note[ancestor::*[@id = $id] and not (ancestor::itu:table)]) &gt; 1">
1409
+ <xsl:number count="itu:note[ancestor::*[@id = $id] and not (ancestor::itu:table)]" level="any"/>
1410
+ </xsl:if>
1411
+ <!-- <xsl:number count="itu:note"/> --><xsl:text> </xsl:text>
1412
+ <!-- </xsl:if> -->
1413
+ <xsl:text>– </xsl:text>
1414
+ <xsl:apply-templates/>
1415
+ </fo:block>
1416
+ </xsl:template>
1417
+
1418
+ <xsl:template match="itu:li">
1419
+ <fo:list-item id="{@id}">
1420
+ <fo:list-item-label end-indent="label-end()">
1421
+ <fo:block>
1422
+ <xsl:call-template name="getListItemFormat"/>
1423
+ </fo:block>
1424
+ </fo:list-item-label>
1425
+ <fo:list-item-body start-indent="body-start()">
1426
+ <fo:block-container>
1427
+ <xsl:if test="../preceding-sibling::*[1][local-name() = 'title']">
1428
+ <xsl:attribute name="margin-left">18mm</xsl:attribute>
1429
+ </xsl:if>
1430
+ <xsl:if test="local-name(..) = 'ul'">
1431
+ <xsl:attribute name="margin-left">15mm</xsl:attribute>
1432
+ </xsl:if>
1433
+ <fo:block-container margin-left="0mm">
1434
+ <xsl:apply-templates/>
1435
+ <xsl:apply-templates select=".//itu:note" mode="process"/>
1436
+ </fo:block-container>
1437
+ </fo:block-container>
1438
+ </fo:list-item-body>
1439
+ </fo:list-item>
1440
+ </xsl:template>
1441
+
1442
+ <xsl:template match="itu:li//itu:p">
1443
+ <fo:block margin-bottom="0pt"> <!-- margin-bottom="6pt" -->
1444
+ <!-- <xsl:if test="local-name(ancestor::itu:li[1]/..) = 'ul'">
1445
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1446
+ </xsl:if> -->
1447
+ <xsl:apply-templates/>
1448
+ </fo:block>
1449
+ </xsl:template>
1450
+
1451
+ <xsl:template match="itu:link">
1452
+ <fo:inline color="blue">
1453
+ <xsl:if test="local-name(..) = 'formattedref' or ancestor::itu:preface">
1454
+ <xsl:attribute name="font-family">Arial</xsl:attribute>
1455
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
1456
+ <xsl:if test="local-name(..) = 'formattedref'">
1457
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1458
+ </xsl:if>
1459
+ </xsl:if>
1460
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
1461
+ <xsl:choose>
1462
+ <xsl:when test="normalize-space(.) = ''">
1463
+ <xsl:value-of select="@target"/>
1464
+ </xsl:when>
1465
+ <xsl:otherwise>
1466
+ <xsl:apply-templates/>
1467
+ </xsl:otherwise>
1468
+ </xsl:choose>
1469
+ </fo:basic-link>
1470
+ </fo:inline>
1471
+ </xsl:template>
1472
+
1473
+
1474
+ <xsl:template match="itu:termnote">
1475
+ <fo:block id="{@id}" margin-top="4pt">
1476
+ <xsl:text>NOTE </xsl:text>
1477
+ <xsl:if test="following-sibling::itu:termnote or preceding-sibling::itu:termnote">
1478
+ <xsl:number/><xsl:text> </xsl:text>
1479
+ </xsl:if>
1480
+ <xsl:text>– </xsl:text>
1481
+ <xsl:apply-templates/>
1482
+ </fo:block>
1483
+ </xsl:template>
1484
+ <xsl:template match="itu:termnote/itu:p">
1485
+ <xsl:apply-templates/>
1486
+ </xsl:template>
1487
+
1488
+
1489
+ <xsl:template match="itu:annex">
1490
+ <fo:block break-after="page"/>
1491
+ <xsl:apply-templates/>
1492
+ </xsl:template>
1493
+
1494
+
1495
+ <xsl:template match="itu:annex/itu:clause">
1496
+ <xsl:apply-templates/>
1497
+ </xsl:template>
1498
+
1499
+ <!-- Clause without title -->
1500
+ <xsl:template match="itu:clause[not(itu:title)]">
1501
+ <xsl:param name="sectionNum"/>
1502
+ <xsl:variable name="section">
1503
+ <xsl:for-each select="*[1]">
1504
+ <xsl:call-template name="getSection">
1505
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1506
+ </xsl:call-template>
1507
+ </xsl:for-each>
1508
+ </xsl:variable>
1509
+ <fo:block space-before="12pt" space-after="18pt" font-weight="bold">
1510
+ <fo:inline id="{@id}"><xsl:value-of select="$section"/></fo:inline>
1511
+ </fo:block>
1512
+ <xsl:apply-templates>
1513
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1514
+ </xsl:apply-templates>
1515
+ </xsl:template>
1516
+
1517
+ <xsl:template match="itu:formula" name="formula">
1518
+ <xsl:param name="sectionNum"/>
1519
+ <fo:block id="{@id}" margin-top="6pt"> <!-- text-align="center" -->
1520
+ <xsl:apply-templates/>
1521
+ <fo:inline keep-together.within-line="always">
1522
+ </fo:inline>
1523
+ </fo:block>
1524
+ </xsl:template>
1525
+
1526
+ <xsl:template match="itu:formula/itu:stem">
1527
+ <fo:table table-layout="fixed" width="100%">
1528
+ <fo:table-column column-width="95%"/>
1529
+ <fo:table-column column-width="5%"/>
1530
+ <fo:table-body>
1531
+ <fo:table-row>
1532
+ <fo:table-cell display-align="center">
1533
+ <fo:block text-align="center" margin-left="0mm">
1534
+ <xsl:apply-templates/>
1535
+ </fo:block>
1536
+ </fo:table-cell>
1537
+ <fo:table-cell display-align="center">
1538
+ <fo:block text-align="right" margin-left="0mm">
1539
+ <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/ancestor::itu:formula[1]/@id]/@number"/>
1540
+ <!-- <xsl:call-template name="getItemNumber">
1541
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1542
+ </xsl:call-template> -->
1543
+ </fo:block>
1544
+ </fo:table-cell>
1545
+ </fo:table-row>
1546
+ </fo:table-body>
1547
+ </fo:table>
1548
+ </xsl:template>
1549
+
1550
+ <xsl:template match="itu:formula" mode="process">
1551
+ <xsl:param name="sectionNum"/>
1552
+ <xsl:call-template name="formula">
1553
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1554
+ </xsl:call-template>
1555
+ </xsl:template>
1556
+
1557
+ <xsl:template match="mathml:math" priority="2">
1558
+ <fo:inline font-family="STIX2Math" font-size="11pt">
1559
+ <fo:instream-foreign-object fox:alt-text="Math">
1560
+ <xsl:copy-of select="."/>
1561
+ </fo:instream-foreign-object>
1562
+ </fo:inline>
1563
+ </xsl:template>
1564
+
1565
+ <xsl:template match="itu:xref">
1566
+ <xsl:param name="sectionNum"/>
1567
+
1568
+ <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
1569
+
1570
+ <xsl:variable name="text" select="xalan:nodeset($contents)//item[@id = current()/@target]/text()"/>
1571
+
1572
+ <fo:basic-link internal-destination="{@target}" color="blue" text-decoration="underline" fox:alt-text="{@target}">
1573
+ <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
1574
+ <xsl:choose>
1575
+ <xsl:when test="$type = 'clause'">Clause </xsl:when><!-- and not (ancestor::annex) -->
1576
+ <xsl:when test="$type = 'example'">Example </xsl:when>
1577
+ <xsl:when test="$type = 'figure'"/>
1578
+ <xsl:when test="$type = 'formula'"/>
1579
+ <xsl:when test="$type = 'table'"/>
1580
+ <xsl:when test="$type = 'term'">Clause </xsl:when>
1581
+ <xsl:when test="$type = 'note'"><xsl:text>Note </xsl:text><xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/text()"/></xsl:when>
1582
+
1583
+ <xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
1584
+ </xsl:choose>
1585
+
1586
+ <xsl:choose>
1587
+ <xsl:when test="$type = 'example'">
1588
+ <xsl:variable name="currentSection">
1589
+ <xsl:call-template name="getSection"/>
1590
+ </xsl:variable>
1591
+ <xsl:if test="not(contains($section, $currentSection))">
1592
+ <xsl:text>in </xsl:text>
1593
+ <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
1594
+ <xsl:text> </xsl:text>
1595
+ <xsl:value-of select="$section"/>
1596
+ </xsl:if>
1597
+ </xsl:when>
1598
+
1599
+ <xsl:when test="$type = 'figure'">
1600
+ <xsl:value-of select="$text"/>
1601
+ </xsl:when>
1602
+
1603
+ <xsl:when test="$type = 'formula'">
1604
+ <xsl:value-of select="$text"/>
1605
+ <xsl:variable name="currentSection">
1606
+ <xsl:call-template name="getSection"/>
1607
+ </xsl:variable>
1608
+ <xsl:if test="not(contains($section, $currentSection))">
1609
+ <xsl:text> in </xsl:text>
1610
+ <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
1611
+ <xsl:text> </xsl:text>
1612
+ <xsl:value-of select="$section"/>
1613
+ </xsl:if>
1614
+ </xsl:when>
1615
+
1616
+ <xsl:when test="$type = 'table'">
1617
+ <xsl:value-of select="$text"/>
1618
+ </xsl:when>
1619
+
1620
+ <xsl:when test="$type = 'note'">
1621
+ <xsl:variable name="currentSection">
1622
+ <xsl:call-template name="getSection"/>
1623
+ </xsl:variable>
1624
+ <xsl:if test="not(contains($section, $currentSection))">
1625
+ <xsl:text> in Clause </xsl:text>
1626
+ <xsl:value-of select="$section"/>
1627
+ </xsl:if>
1628
+ </xsl:when>
1629
+ <!-- <xsl:when test="$type = 'formula'">
1630
+
1631
+ <xsl:value-of select="$section"/>
1632
+
1633
+ <xsl:variable name="currentSection">
1634
+ <xsl:call-template name="getSection"/>
1635
+ </xsl:variable>
1636
+ <xsl:variable name="refSection">
1637
+ <xsl:for-each select="//*[@id = @target]/ancestor::itu:clause">
1638
+ <xsl:call-template name="getSection"/>
1639
+ </xsl:for-each>
1640
+ </xsl:variable>
1641
+ currentSection=<xsl:value-of select="$currentSection"/>
1642
+ refSection=<xsl:value-of select="$refSection"/>
1643
+ <xsl:if test="$currentSection != $refSection">
1644
+ <xsl:text>in </xsl:text>
1645
+ <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
1646
+ <xsl:text> </xsl:text>
1647
+ <xsl:value-of select="$refSection"/>
1648
+ </xsl:if>
1649
+ </xsl:when> -->
1650
+ <xsl:otherwise>
1651
+ <xsl:value-of select="$section"/>
1652
+ </xsl:otherwise>
1653
+ </xsl:choose>
1654
+
1655
+ </fo:basic-link>
1656
+ </xsl:template>
1657
+
1658
+
1659
+ <xsl:template match="itu:example">
1660
+ <fo:block id="{@id}" font-size="10pt" margin-top="12pt">
1661
+ <xsl:apply-templates/>
1662
+ </fo:block>
1663
+ </xsl:template>
1664
+
1665
+ <xsl:template match="itu:example/itu:name">
1666
+ <fo:block font-weight="bold">
1667
+ <xsl:text>EXAMPLE</xsl:text>
1668
+ <xsl:if test="count(ancestor::itu:clause[1]/itu:example) &gt; 1">
1669
+ <xsl:text> </xsl:text><xsl:number count="itu:example"/>
1670
+ </xsl:if>
1671
+ <xsl:text> — </xsl:text>
1672
+ <xsl:apply-templates/>
1673
+ </fo:block>
1674
+ </xsl:template>
1675
+
1676
+ <xsl:template match="itu:example/itu:p">
1677
+ <fo:block font-size="10pt" margin-top="12pt" margin-bottom="12pt">
1678
+ <xsl:apply-templates/>
1679
+ </fo:block>
1680
+ </xsl:template>
1681
+
1682
+
1683
+ <xsl:template match="itu:eref">
1684
+ <fo:inline>
1685
+ <xsl:if test="@type = 'footnote'">
1686
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1687
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1688
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1689
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1690
+ </xsl:if>
1691
+ <fo:basic-link internal-destination="{@bibitemid}" color="blue" text-decoration="underline" fox:alt-text="{@citeas}">
1692
+ <xsl:choose>
1693
+ <xsl:when test="contains(@citeas, '[')">
1694
+ <xsl:value-of select="@citeas" disable-output-escaping="yes"/>
1695
+ </xsl:when>
1696
+ <xsl:otherwise>
1697
+ <xsl:text>[</xsl:text><xsl:value-of select="@citeas" disable-output-escaping="yes"/><xsl:text>]</xsl:text>
1698
+ </xsl:otherwise>
1699
+ </xsl:choose>
1700
+ <xsl:if test="itu:locality">
1701
+ <xsl:text>, </xsl:text>
1702
+ <xsl:choose>
1703
+ <xsl:when test="itu:locality/@type = 'section'">Section </xsl:when>
1704
+ <xsl:otherwise/>
1705
+ </xsl:choose>
1706
+ <xsl:apply-templates select="itu:locality"/>
1707
+ </xsl:if>
1708
+ </fo:basic-link>
1709
+ </fo:inline>
1710
+ </xsl:template>
1711
+
1712
+ <xsl:template match="itu:references[position() &gt; 1]">
1713
+ <fo:block break-after="page"/>
1714
+ <xsl:apply-templates/>
1715
+ </xsl:template>
1716
+
1717
+ <xsl:template match="itu:sourcecode">
1718
+ <fo:block font-family="Courier" font-size="10pt" margin-top="6pt" margin-bottom="6pt">
1719
+ <xsl:choose>
1720
+ <xsl:when test="@lang = 'en'"/>
1721
+ <xsl:otherwise>
1722
+ <xsl:attribute name="white-space">pre</xsl:attribute>
1723
+ </xsl:otherwise>
1724
+ </xsl:choose>
1725
+ <xsl:apply-templates/>
1726
+ </fo:block>
1727
+ </xsl:template>
1728
+
1729
+ <xsl:template name="insertHeaderFooter">
1730
+ <fo:static-content flow-name="footer-even" font-family="Times New Roman" font-size="11pt">
1731
+ <fo:block-container height="19mm" display-align="after">
1732
+ <fo:table table-layout="fixed" width="100%" display-align="after">
1733
+ <fo:table-column column-width="10%"/>
1734
+ <fo:table-column column-width="90%"/>
1735
+ <fo:table-body>
1736
+ <fo:table-row>
1737
+ <fo:table-cell text-align="left" padding-bottom="8mm">
1738
+ <fo:block><fo:page-number/></fo:block>
1739
+ </fo:table-cell>
1740
+ <fo:table-cell font-weight="bold" text-align="left" padding-bottom="8mm">
1741
+ <fo:block>
1742
+ <xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
1743
+ </fo:block>
1744
+ </fo:table-cell>
1745
+ </fo:table-row>
1746
+ </fo:table-body>
1747
+ </fo:table>
1748
+ </fo:block-container>
1749
+ </fo:static-content>
1750
+ <fo:static-content flow-name="footer-odd" font-family="Times New Roman" font-size="11pt">
1751
+ <fo:block-container height="19mm" display-align="after">
1752
+ <fo:table table-layout="fixed" width="100%" display-align="after">
1753
+ <fo:table-column column-width="90%"/>
1754
+ <fo:table-column column-width="10%"/>
1755
+ <fo:table-body>
1756
+ <fo:table-row>
1757
+ <fo:table-cell font-weight="bold" text-align="right" padding-bottom="8mm">
1758
+ <fo:block>
1759
+ <xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
1760
+ </fo:block>
1761
+ </fo:table-cell>
1762
+ <fo:table-cell text-align="right" padding-bottom="8mm" padding-right="2mm">
1763
+ <fo:block><fo:page-number/></fo:block>
1764
+ </fo:table-cell>
1765
+ </fo:table-row>
1766
+ </fo:table-body>
1767
+ </fo:table>
1768
+ </fo:block-container>
1769
+ </fo:static-content>
1770
+ </xsl:template>
1771
+
1772
+
1773
+ <xsl:variable name="Image-Fond-Rec">
1774
+ <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAHoAAANLCAMAAAC5SXlDAAADAFBMVEX2kYX1zcLNeITqUw/+7Nnh
1775
+ cnP3yr3/jD72iYD+xZnWY2vwhH7z0MbSW2bCSVzmgX3so5n3vrG5RFy5SGD5wr7+9evUbXH5h0Tz
1776
+ mYz+z6uuLErblZj/ZQD+n1vDUmP3xLiyMU3+qGv4wbTsaze1OlT+eRryraD+lkzDWmvpubPyoZL+
1777
+ vIu9PVT2jILcgoLNVGL1pHfoi4PcfHv2j4TynI7/sn/cChv0lYnyv7Xim5rps67ztqjyqJrmZmv+
1778
+ 4svqlIr/2L/hlJL2iH/2uazyrJ3UdXrynpDypJXVjZPzsKHLZHDrnZPmfHrUhIz//vztwrn+bAna
1779
+ cXPz1MrHS1znoZ7uqqLeior02c/YFyf53drKYW3CRVn//PzjkY72vK6pIkTjiYT+giz0l4r1uKrr
1780
+ fnrkravyppj0183LUF/4cx/LWWXhjouzNVHNaXSzLkupH0LxsabuekzrkIfKXWnzuZ/fo6PCQlfk
1781
+ mJX+2bWuJkb0taapIEP3x7vMc3/ylne4NlDObXj+n1jYhIj00MSkGD/HZXTcZmvkTFLxiIDVaG7+
1782
+ bwzcam7rmY7qpaD2kobmeHbUcHbWen/yopPrenf+7uPzsqLWiY7+snbgbnD++PPnqaXzlYnzmIzz
1783
+ 08fqhX/+1LTGanrzs6XuycD+3cP+17zyqpvjhYDCVWjonpn+dBXwimX+/Pr+9u/1h3/ATmH+aATz
1784
+ 1szyuK/0po3adnjBXm/1lIndf379/fytKUjsgmv0zsLeh4b1longLTe3PVb+0av0s6Tz1cr53NDp
1785
+ XR+pI0X++/f2k4fzm4ziO0T0mIv//f3mc3P0rJv3zcv408TWf4XfJS/feXjGV2b0ppL2rZuuLk32
1786
+ zMDGaHfuglrwi4O6QFjwk5fgp6jwhFrtiYzsr6jcnJ71lIjzl4v1xMPmWF6uJ0fzn4WmIEPgdnbw
1787
+ gXv///7vjoT+/v7+///+//7zz8T+/v/z0MTXX2f00MP9/v30z8P9/f3qcnfhoKDxemHfSRj//v6j
1788
+ GT//ZgD///+kGT9CyJ4iAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAVV9J
1789
+ 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</xsl:text>
2173
+ </xsl:variable>
2174
+
2175
+ <xsl:variable name="Image-Logo">
2176
+ <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAKEAAABDCAMAAADDA5UNAAADAFBMVEX////0oLP50NnqUHPwgJnk
2177
+ IE3nMFnhADP4wM398PPucI3d4u7CyuGHlcS/yN/T2OnoP2b1r7/e5+2Vo8uLnMVpe7WsudXW3ere
2178
+ 5+7c5uvb5uvZ5OrL1+Oks9FKY6ZWa6zi5fHhDz/9/v6jr9I6U589V6C6xtzi6u/h6e7c5+zY4+nV
2179
+ 4ejS3+efsc9yjbhec7ClsNPx8/hRZ6ksRpjk6/Dm7fK/zt6mt9JxhLl7k71JYqbA0N/J2eKarMxi
2180
+ erH74ObDWINrgLYzTpt4iL16jb20vdpTbKqBlsC8zduftM1abq7sYICMW5FCW6LY4+rp7/Pq8PTs
2181
+ 8fXo7vO6zN2MoMXS3+aZss1IYaTC1d5keLMdOJDZCDpdY6Pu8vbs8va1xNladK1uhLjK2ePI2OFR
2182
+ aqmyydclQZTYgpvSIU/v8/bx9Pevv9Xa5ezW4+pMZqbL2uRnf7RWb6ze6O7UFETjWXry9vj09/gO
2183
+ K4nD1d+1ythEX6O90N26z9vW4ujSucfqk6nt8vX2+fr4+vvF0eHT4OfO3ea2zNnDy+Lmq7z7/PzQ
2184
+ 3uaFmcJedq+/0tywxdevyNXl3eXvx9P9/v39/f6Yp8xKYKfG1+GOp8arxtTyytT8/f1gdrHM2+XE
2185
+ 1uCpxdOauMy6R3Oux9Wjv9F6mL3bydTdPGThZYXidZLWaou4PGnB1N5bf6+nwdOeu85QbqlmirXa
2186
+ 5eqZe6m5ztqLrcbmt8bU4Oiduc2XtspNbKe4y9qUq8m70dynw9GAn8CWtcrb2N+lwdE/YKGOsMdM
2187
+ aabhLFZih7O+0uC3zdyxyNj///+SsshkfbJUd6yevNDU4ukqR5ehvc9wlrrQTHDJytZVeKx+psHZ
2188
+ J1K1vc3Eqrymjang5PCWtszv8fdpjrZNcKh+kMBGaKWGqsR3nr3GVHi3dZOats5HZaZskLdCYqOV
2189
+ tMmXe5zJKlZ/pcGQscc4WZ5iYZquZYgxUZqBqMKam7VsTojDNGAqSZeDm7qKka+hQ3OQhqapXYKX
2190
+ P3mmFVGSg7LK0uWH32cgAAAAAXRSTlMAQObYZgAAAAFvck5UAc+id5oAAApTSURBVGjezZoNXBPn
2191
+ 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
2237
+ v0rL9rg7ifF/FLKviJ4tGb0AAAAASUVORK5CYII=</xsl:text>
2238
+ </xsl:variable>
2239
+
2240
+ <!-- convert YYYY-MM-DD to (MM/YYYY) -->
2241
+ <xsl:template name="formatDate">
2242
+ <xsl:param name="date"/>
2243
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
2244
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
2245
+ <xsl:if test="$month != '' and $year != ''">
2246
+ <xsl:text>(</xsl:text><xsl:value-of select="$month"/>/<xsl:value-of select="$year"/><xsl:text>)</xsl:text>
2247
+ </xsl:if>
2248
+ </xsl:template>
2249
+
2250
+ <xsl:template name="getLevel">
2251
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
2252
+ <xsl:variable name="level">
2253
+ <xsl:choose>
2254
+ <xsl:when test="ancestor::itu:sections">
2255
+ <xsl:value-of select="$level_total - 2"/>
2256
+ </xsl:when>
2257
+ <xsl:when test="ancestor::itu:bibliography">
2258
+ <xsl:value-of select="$level_total - 2"/>
2259
+ </xsl:when>
2260
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
2261
+ <xsl:otherwise>
2262
+ <xsl:value-of select="$level_total - 1"/>
2263
+ </xsl:otherwise>
2264
+ </xsl:choose>
2265
+ </xsl:variable>
2266
+ <xsl:value-of select="$level"/>
2267
+ </xsl:template>
2268
+
2269
+ <xsl:template name="getSection">
2270
+ <xsl:param name="sectionNum"/>
2271
+ <xsl:variable name="level">
2272
+ <xsl:call-template name="getLevel"/>
2273
+ </xsl:variable>
2274
+ <xsl:variable name="section">
2275
+ <xsl:choose>
2276
+ <xsl:when test="ancestor::itu:bibliography">
2277
+ <xsl:value-of select="$sectionNum"/>
2278
+ </xsl:when>
2279
+ <xsl:when test="ancestor::itu:sections">
2280
+ <!-- 1, 2, 3, 4, ... from main section (not annex, bibliography, ...) -->
2281
+ <xsl:choose>
2282
+ <xsl:when test="$level = 1">
2283
+ <xsl:value-of select="$sectionNum"/>
2284
+ </xsl:when>
2285
+ <xsl:when test="$level &gt;= 2">
2286
+ <xsl:variable name="num">
2287
+ <xsl:number format=".1" level="multiple" count="itu:clause/itu:clause | itu:clause/itu:terms | itu:terms/itu:term | itu:clause/itu:term | itu:clause/itu:definitions"/>
2288
+ </xsl:variable>
2289
+ <xsl:value-of select="concat($sectionNum, $num)"/>
2290
+ </xsl:when>
2291
+ <xsl:otherwise>
2292
+ <!-- z<xsl:value-of select="$sectionNum"/>z -->
2293
+ </xsl:otherwise>
2294
+ </xsl:choose>
2295
+ </xsl:when>
2296
+ <xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
2297
+ <xsl:choose>
2298
+ <xsl:when test="$level = 1">
2299
+ <xsl:text>Appendix </xsl:text>
2300
+ <xsl:number format="I" level="any" count="itu:annex[@obligation = 'informative']"/>
2301
+ </xsl:when>
2302
+ <xsl:otherwise>
2303
+ <xsl:number format="I.1" level="multiple" count="itu:annex[@obligation = 'informative'] | itu:clause"/>
2304
+ </xsl:otherwise>
2305
+ </xsl:choose>
2306
+ </xsl:when>
2307
+ <xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
2308
+ <xsl:choose>
2309
+ <xsl:when test="$level = 1">
2310
+ <xsl:text>Annex </xsl:text>
2311
+ <xsl:choose>
2312
+ <xsl:when test="count(//itu:annex) = 1">
2313
+ <xsl:choose>
2314
+ <xsl:when test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
2315
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
2316
+ </xsl:when>
2317
+ <xsl:otherwise>
2318
+ <xsl:number format="A" level="any" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
2319
+ </xsl:otherwise>
2320
+ </xsl:choose>
2321
+ </xsl:when>
2322
+ <xsl:otherwise>
2323
+ <xsl:number format="A" level="any" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
2324
+ </xsl:otherwise>
2325
+ </xsl:choose>
2326
+ </xsl:when>
2327
+ <xsl:otherwise>
2328
+ <xsl:choose>
2329
+ <xsl:when test="count(//itu:annex) = 1">
2330
+ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/><xsl:number format=".1" level="multiple" count="itu:clause"/> <!-- itu:annex | -->
2331
+ </xsl:when>
2332
+ <xsl:otherwise>
2333
+ <xsl:number format="A.1" level="multiple" count="itu:annex | itu:clause"/>
2334
+ </xsl:otherwise>
2335
+ </xsl:choose>
2336
+ </xsl:otherwise>
2337
+ </xsl:choose>
2338
+ </xsl:when>
2339
+ <xsl:otherwise>
2340
+ </xsl:otherwise>
2341
+ </xsl:choose>
2342
+ </xsl:variable>
2343
+ <xsl:value-of select="$section"/>
2344
+ </xsl:template>
2345
+
2346
+ <xsl:template name="addLetterSpacing">
2347
+ <xsl:param name="text"/>
2348
+ <xsl:if test="string-length($text) &gt; 0">
2349
+ <xsl:variable name="char" select="substring($text, 1, 1)"/>
2350
+ <xsl:value-of select="$char"/><fo:inline font-size="15pt"><xsl:value-of select="' '"/></fo:inline>
2351
+ <xsl:call-template name="addLetterSpacing">
2352
+ <xsl:with-param name="text" select="substring($text, 2)"/>
2353
+ </xsl:call-template>
2354
+ </xsl:if>
2355
+ </xsl:template>
2356
+
2357
+ <xsl:template name="getId">
2358
+ <xsl:choose>
2359
+ <xsl:when test="../@id">
2360
+ <xsl:value-of select="../@id"/>
2361
+ </xsl:when>
2362
+ <xsl:otherwise>
2363
+ <xsl:value-of select="concat(local-name(..), '_', text())"/>
2364
+ </xsl:otherwise>
2365
+ </xsl:choose>
2366
+ </xsl:template>
2367
+
2368
+ <xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="linebreak" select="'&#8232;'"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="text()">
2369
+ <xsl:value-of select="."/>
2370
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='br']">
2371
+ <xsl:value-of select="$linebreak"/>
2372
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='td']//text() | *[local-name()='th']//text()" priority="1">
2373
+ <xsl:call-template name="add-zero-spaces"/>
2374
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']">
2375
+
2376
+ <xsl:variable name="simple-table">
2377
+ <!-- <xsl:copy> -->
2378
+ <xsl:call-template name="getSimpleTable"/>
2379
+ <!-- </xsl:copy> -->
2380
+ </xsl:variable>
2381
+
2382
+ <!-- DEBUG -->
2383
+ <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
2384
+ <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
2385
+
2386
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2387
+
2388
+ <fo:block space-before="18pt"> </fo:block>
2389
+
2390
+
2391
+
2392
+ <xsl:choose>
2393
+ <xsl:when test="@unnumbered = 'true'"/>
2394
+ <xsl:otherwise>
2395
+
2396
+
2397
+
2398
+ <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
2399
+
2400
+
2401
+
2402
+
2403
+
2404
+ <xsl:text>Table </xsl:text>
2405
+ <xsl:choose>
2406
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2407
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2408
+ </xsl:when>
2409
+ <xsl:when test="ancestor::*[local-name()='annex']">
2410
+
2411
+
2412
+ <xsl:choose>
2413
+ <xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
2414
+ <xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
2415
+ <!-- Table in Appendix -->
2416
+ <xsl:number format="I-" count="itu:annex[@obligation = 'informative']"/>
2417
+ <xsl:number format="1" level="any" count="itu:table[(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
2418
+ </xsl:when>
2419
+ <!-- Table in Annex -->
2420
+ <xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
2421
+ <xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
2422
+ <xsl:number format="A-" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
2423
+ <xsl:number format="1" level="any" count="itu:table[(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
2424
+ </xsl:when>
2425
+ </xsl:choose>
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+ </xsl:when>
2432
+ <xsl:otherwise>
2433
+
2434
+
2435
+ <xsl:number format="A." count="*[local-name()='annex']"/>
2436
+ <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']"/>
2437
+
2438
+ </xsl:otherwise>
2439
+ </xsl:choose>
2440
+ <xsl:if test="*[local-name()='name']">
2441
+
2442
+
2443
+
2444
+ <xsl:text> — </xsl:text>
2445
+
2446
+ <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
2447
+ </xsl:if>
2448
+ </fo:block>
2449
+
2450
+
2451
+ <xsl:call-template name="fn_name_display"/>
2452
+
2453
+ </xsl:otherwise>
2454
+ </xsl:choose>
2455
+
2456
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2457
+
2458
+ <!-- <xsl:variable name="cols-count">
2459
+ <xsl:choose>
2460
+ <xsl:when test="*[local-name()='thead']">
2461
+ <xsl:call-template name="calculate-columns-numbers">
2462
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2463
+ </xsl:call-template>
2464
+ </xsl:when>
2465
+ <xsl:otherwise>
2466
+ <xsl:call-template name="calculate-columns-numbers">
2467
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2468
+ </xsl:call-template>
2469
+ </xsl:otherwise>
2470
+ </xsl:choose>
2471
+ </xsl:variable> -->
2472
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2473
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2474
+
2475
+
2476
+
2477
+ <xsl:variable name="colwidths">
2478
+ <xsl:call-template name="calculate-column-widths">
2479
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2480
+ <xsl:with-param name="table" select="$simple-table"/>
2481
+ </xsl:call-template>
2482
+ </xsl:variable>
2483
+
2484
+ <xsl:variable name="colwidths2">
2485
+ <xsl:call-template name="calculate-column-widths">
2486
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2487
+ </xsl:call-template>
2488
+ </xsl:variable>
2489
+
2490
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2491
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
2492
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2493
+
2494
+ <xsl:variable name="margin-left">
2495
+ <xsl:choose>
2496
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2497
+ <xsl:otherwise>0</xsl:otherwise>
2498
+ </xsl:choose>
2499
+ </xsl:variable>
2500
+
2501
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2502
+
2503
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
2504
+
2505
+
2506
+
2507
+
2508
+
2509
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2510
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2511
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
2512
+
2513
+
2514
+ <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm">
2515
+
2516
+
2517
+
2518
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2519
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2520
+
2521
+
2522
+
2523
+
2524
+
2525
+
2526
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2527
+
2528
+
2529
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2530
+ <xsl:choose>
2531
+ <xsl:when test=". = 1">
2532
+ <fo:table-column column-width="proportional-column-width(2)"/>
2533
+ </xsl:when>
2534
+ <xsl:otherwise>
2535
+ <fo:table-column column-width="proportional-column-width({.})"/>
2536
+ </xsl:otherwise>
2537
+ </xsl:choose>
2538
+ </xsl:for-each>
2539
+ <xsl:apply-templates/>
2540
+ </fo:table>
2541
+ </fo:block-container>
2542
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='name']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='name']" mode="process">
2543
+ <xsl:apply-templates/>
2544
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="calculate-columns-numbers">
2545
+ <xsl:param name="table-row"/>
2546
+ <xsl:variable name="columns-count" select="count($table-row/*)"/>
2547
+ <xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
2548
+ <xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
2549
+ <xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
2550
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="calculate-column-widths">
2551
+ <xsl:param name="table"/>
2552
+ <xsl:param name="cols-count"/>
2553
+ <xsl:param name="curr-col" select="1"/>
2554
+ <xsl:param name="width" select="0"/>
2555
+
2556
+ <xsl:if test="$curr-col &lt;= $cols-count">
2557
+ <xsl:variable name="widths">
2558
+ <xsl:choose>
2559
+ <xsl:when test="not($table)">
2560
+ <xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
2561
+ <xsl:variable name="words">
2562
+ <xsl:call-template name="tokenize">
2563
+ <xsl:with-param name="text" select="translate(*[local-name()='th'][$curr-col],'- —:', ' ')"/>
2564
+ </xsl:call-template>
2565
+ </xsl:variable>
2566
+ <xsl:variable name="max_length">
2567
+ <xsl:call-template name="max_length">
2568
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2569
+ </xsl:call-template>
2570
+ </xsl:variable>
2571
+ <width>
2572
+ <xsl:value-of select="$max_length"/>
2573
+ </width>
2574
+ </xsl:for-each>
2575
+ <xsl:for-each select="*[local-name()='tbody']//*[local-name()='tr']">
2576
+ <xsl:variable name="words">
2577
+ <xsl:call-template name="tokenize">
2578
+ <xsl:with-param name="text" select="translate(*[local-name()='td'][$curr-col],'- —:', ' ')"/>
2579
+ </xsl:call-template>
2580
+ </xsl:variable>
2581
+ <xsl:variable name="max_length">
2582
+ <xsl:call-template name="max_length">
2583
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2584
+ </xsl:call-template>
2585
+ </xsl:variable>
2586
+ <width>
2587
+ <xsl:value-of select="$max_length"/>
2588
+ </width>
2589
+
2590
+ </xsl:for-each>
2591
+ </xsl:when>
2592
+ <xsl:otherwise>
2593
+ <xsl:for-each select="xalan:nodeset($table)//tr">
2594
+ <xsl:variable name="words">
2595
+ <xsl:call-template name="tokenize">
2596
+ <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/>
2597
+ </xsl:call-template>
2598
+ </xsl:variable>
2599
+ <xsl:variable name="max_length">
2600
+ <xsl:call-template name="max_length">
2601
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2602
+ </xsl:call-template>
2603
+ </xsl:variable>
2604
+ <width>
2605
+ <xsl:variable name="divider">
2606
+ <xsl:choose>
2607
+ <xsl:when test="td[$curr-col]/@divide">
2608
+ <xsl:value-of select="td[$curr-col]/@divide"/>
2609
+ </xsl:when>
2610
+ <xsl:otherwise>1</xsl:otherwise>
2611
+ </xsl:choose>
2612
+ </xsl:variable>
2613
+ <xsl:value-of select="$max_length div $divider"/>
2614
+ </width>
2615
+
2616
+ </xsl:for-each>
2617
+
2618
+ </xsl:otherwise>
2619
+ </xsl:choose>
2620
+ </xsl:variable>
2621
+
2622
+
2623
+ <column>
2624
+ <xsl:for-each select="xalan:nodeset($widths)//width">
2625
+ <xsl:sort select="." data-type="number" order="descending"/>
2626
+ <xsl:if test="position()=1">
2627
+ <xsl:value-of select="."/>
2628
+ </xsl:if>
2629
+ </xsl:for-each>
2630
+ </column>
2631
+ <xsl:call-template name="calculate-column-widths">
2632
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2633
+ <xsl:with-param name="curr-col" select="$curr-col +1"/>
2634
+ <xsl:with-param name="table" select="$table"/>
2635
+ </xsl:call-template>
2636
+ </xsl:if>
2637
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table2']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='thead']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='thead']" mode="process">
2638
+ <!-- <fo:table-header font-weight="bold">
2639
+ <xsl:apply-templates />
2640
+ </fo:table-header> -->
2641
+ <xsl:apply-templates/>
2642
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tfoot']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tfoot']" mode="process">
2643
+ <xsl:apply-templates/>
2644
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tbody']">
2645
+ <xsl:variable name="cols-count">
2646
+ <xsl:choose>
2647
+ <xsl:when test="../*[local-name()='thead']">
2648
+ <!-- <xsl:value-of select="count(../*[local-name()='thead']/*[local-name()='tr']/*[local-name()='th'])"/> -->
2649
+ <xsl:call-template name="calculate-columns-numbers">
2650
+ <xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
2651
+ </xsl:call-template>
2652
+ </xsl:when>
2653
+ <xsl:otherwise>
2654
+ <!-- <xsl:value-of select="count(./*[local-name()='tr'][1]/*[local-name()='td'])"/> -->
2655
+ <xsl:call-template name="calculate-columns-numbers">
2656
+ <xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
2657
+ </xsl:call-template>
2658
+ </xsl:otherwise>
2659
+ </xsl:choose>
2660
+ </xsl:variable>
2661
+
2662
+ <fo:table-body>
2663
+ <xsl:apply-templates select="../*[local-name()='thead']" mode="process"/>
2664
+ <xsl:apply-templates/>
2665
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2666
+ <!-- if there are note(s) or fn(s) then create footer row -->
2667
+ <xsl:if test="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']">
2668
+ <fo:table-row>
2669
+ <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2670
+
2671
+
2672
+
2673
+ <xsl:if test="ancestor::*[local-name()='preface']">
2674
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2675
+ </xsl:if>
2676
+
2677
+ <!-- fn will be processed inside 'note' processing -->
2678
+
2679
+
2680
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2681
+
2682
+ <!-- horizontal row separator -->
2683
+
2684
+
2685
+ <!-- fn processing -->
2686
+ <xsl:call-template name="fn_display"/>
2687
+
2688
+ </fo:table-cell>
2689
+ </fo:table-row>
2690
+
2691
+ </xsl:if>
2692
+ </fo:table-body>
2693
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tr']">
2694
+ <xsl:variable name="parent-name" select="local-name(..)"/>
2695
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2696
+ <fo:table-row min-height="4mm">
2697
+ <xsl:if test="$parent-name = 'thead'">
2698
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2699
+
2700
+
2701
+
2702
+
2703
+
2704
+ </xsl:if>
2705
+ <xsl:if test="$parent-name = 'tfoot'">
2706
+
2707
+
2708
+ </xsl:if>
2709
+
2710
+ <xsl:apply-templates/>
2711
+ </fo:table-row>
2712
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='th']">
2713
+ <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2714
+
2715
+
2716
+
2717
+ <xsl:if test="ancestor::*[local-name()='preface']">
2718
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2719
+ </xsl:if>
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+ <xsl:if test="@colspan">
2726
+ <xsl:attribute name="number-columns-spanned">
2727
+ <xsl:value-of select="@colspan"/>
2728
+ </xsl:attribute>
2729
+ </xsl:if>
2730
+ <xsl:if test="@rowspan">
2731
+ <xsl:attribute name="number-rows-spanned">
2732
+ <xsl:value-of select="@rowspan"/>
2733
+ </xsl:attribute>
2734
+ </xsl:if>
2735
+ <fo:block>
2736
+ <xsl:apply-templates/>
2737
+ </fo:block>
2738
+ </fo:table-cell>
2739
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='td']">
2740
+ <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2741
+
2742
+
2743
+ <xsl:if test="ancestor::*[local-name()='preface']">
2744
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2745
+ </xsl:if>
2746
+ <xsl:attribute name="display-align">before</xsl:attribute>
2747
+
2748
+
2749
+
2750
+
2751
+
2752
+
2753
+ <xsl:if test="@colspan">
2754
+ <xsl:attribute name="number-columns-spanned">
2755
+ <xsl:value-of select="@colspan"/>
2756
+ </xsl:attribute>
2757
+ </xsl:if>
2758
+ <xsl:if test="@rowspan">
2759
+ <xsl:attribute name="number-rows-spanned">
2760
+ <xsl:value-of select="@rowspan"/>
2761
+ </xsl:attribute>
2762
+ </xsl:if>
2763
+ <fo:block>
2764
+ <xsl:apply-templates/>
2765
+ </fo:block>
2766
+ <!-- <xsl:choose>
2767
+ <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
2768
+ <xsl:apply-templates />
2769
+ </xsl:when>
2770
+ <xsl:otherwise>
2771
+ <fo:block>
2772
+ <xsl:apply-templates />
2773
+ </fo:block>
2774
+ </xsl:otherwise>
2775
+ </xsl:choose> -->
2776
+
2777
+
2778
+ </fo:table-cell>
2779
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='note']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='note']" mode="process">
2780
+
2781
+
2782
+ <fo:block font-size="10pt" margin-bottom="12pt">
2783
+
2784
+
2785
+ <fo:inline padding-right="2mm">
2786
+ <xsl:text>NOTE </xsl:text>
2787
+
2788
+ <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
2789
+ <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
2790
+ <xsl:number count="*[local-name()='note'][ancestor::*[@id = $id]]" level="any"/>
2791
+ </xsl:if>
2792
+
2793
+
2794
+ </fo:inline>
2795
+ <xsl:apply-templates mode="process"/>
2796
+ </fo:block>
2797
+
2798
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
2799
+ <xsl:apply-templates/>
2800
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="fn_display">
2801
+ <xsl:variable name="references">
2802
+ <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
2803
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2804
+
2805
+ <xsl:if test="ancestor::*[local-name()='preface']">
2806
+ <xsl:attribute name="preface">true</xsl:attribute>
2807
+ </xsl:if>
2808
+
2809
+
2810
+ <xsl:apply-templates/>
2811
+ </fn>
2812
+ </xsl:for-each>
2813
+ </xsl:variable>
2814
+ <xsl:for-each select="xalan:nodeset($references)//fn">
2815
+ <xsl:variable name="reference" select="@reference"/>
2816
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2817
+ <fo:block margin-bottom="12pt">
2818
+
2819
+
2820
+ <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
2821
+
2822
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2823
+
2824
+
2825
+
2826
+
2827
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
2828
+
2829
+
2830
+ <xsl:value-of select="@reference"/>
2831
+
2832
+ <!-- <xsl:if test="@preface = 'true'"> -->
2833
+ <xsl:text>)</xsl:text>
2834
+ <!-- </xsl:if> -->
2835
+
2836
+ </fo:inline>
2837
+ <fo:inline>
2838
+
2839
+ <xsl:apply-templates/>
2840
+ </fo:inline>
2841
+ </fo:block>
2842
+ </xsl:if>
2843
+ </xsl:for-each>
2844
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="fn_name_display">
2845
+ <!-- <xsl:variable name="references">
2846
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2847
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2848
+ <xsl:apply-templates />
2849
+ </fn>
2850
+ </xsl:for-each>
2851
+ </xsl:variable>
2852
+ $references=<xsl:copy-of select="$references"/> -->
2853
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2854
+ <xsl:variable name="reference" select="@reference"/>
2855
+ <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
2856
+ <fo:block margin-bottom="12pt">
2857
+ <xsl:apply-templates/>
2858
+ </fo:block>
2859
+ </xsl:for-each>
2860
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="fn_display_figure">
2861
+ <xsl:variable name="key_iso">
2862
+ <!-- and (not(@class) or @class !='pseudocode') -->
2863
+ </xsl:variable>
2864
+ <xsl:variable name="references">
2865
+ <xsl:for-each select=".//*[local-name()='fn']">
2866
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2867
+ <xsl:apply-templates/>
2868
+ </fn>
2869
+ </xsl:for-each>
2870
+ </xsl:variable>
2871
+ <xsl:if test="xalan:nodeset($references)//fn">
2872
+ <fo:block>
2873
+ <fo:table width="95%" table-layout="fixed">
2874
+ <xsl:if test="normalize-space($key_iso) = 'true'">
2875
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2876
+
2877
+ </xsl:if>
2878
+ <fo:table-column column-width="15%"/>
2879
+ <fo:table-column column-width="85%"/>
2880
+ <fo:table-body>
2881
+ <xsl:for-each select="xalan:nodeset($references)//fn">
2882
+ <xsl:variable name="reference" select="@reference"/>
2883
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2884
+ <fo:table-row>
2885
+ <fo:table-cell>
2886
+ <fo:block>
2887
+ <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
2888
+
2889
+ <xsl:value-of select="@reference"/>
2890
+ </fo:inline>
2891
+ </fo:block>
2892
+ </fo:table-cell>
2893
+ <fo:table-cell>
2894
+ <fo:block text-align="justify" margin-bottom="12pt">
2895
+
2896
+ <xsl:if test="normalize-space($key_iso) = 'true'">
2897
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
2898
+ </xsl:if>
2899
+
2900
+ <xsl:apply-templates/>
2901
+ </fo:block>
2902
+ </fo:table-cell>
2903
+ </fo:table-row>
2904
+ </xsl:if>
2905
+ </xsl:for-each>
2906
+ </fo:table-body>
2907
+ </fo:table>
2908
+ </fo:block>
2909
+ </xsl:if>
2910
+
2911
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='fn']">
2912
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2913
+ <fo:inline font-size="80%" keep-with-previous.within-line="always">
2914
+
2915
+
2916
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2917
+ <xsl:attribute name="color">blue</xsl:attribute>
2918
+
2919
+
2920
+ <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
2921
+
2922
+ <xsl:value-of select="@reference"/>
2923
+ </fo:basic-link>
2924
+ </fo:inline>
2925
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='fn']/*[local-name()='p']">
2926
+ <fo:inline>
2927
+ <xsl:apply-templates/>
2928
+ </fo:inline>
2929
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dl']">
2930
+ <xsl:variable name="parent" select="local-name(..)"/>
2931
+
2932
+ <xsl:variable name="key_iso">
2933
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
2934
+ </xsl:variable>
2935
+
2936
+ <xsl:choose>
2937
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2938
+
2939
+
2940
+ <fo:block margin-bottom="12pt" text-align="left">
2941
+
2942
+ <xsl:text>where </xsl:text>
2943
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
2944
+ <xsl:text/>
2945
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2946
+ </fo:block>
2947
+
2948
+ </xsl:when>
2949
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2950
+ <fo:block margin-bottom="12pt" text-align="left">
2951
+
2952
+
2953
+
2954
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2955
+
2956
+ <xsl:text>where</xsl:text>
2957
+ </fo:block>
2958
+ </xsl:when>
2959
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2960
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt">
2961
+
2962
+
2963
+ <xsl:text>Key</xsl:text>
2964
+ </fo:block>
2965
+ </xsl:when>
2966
+ </xsl:choose>
2967
+
2968
+ <!-- a few components -->
2969
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
2970
+ <fo:block>
2971
+
2972
+
2973
+ <xsl:if test="local-name(..) = 'li'">
2974
+ <xsl:attribute name="margin-left">-4mm</xsl:attribute>
2975
+ </xsl:if>
2976
+
2977
+
2978
+
2979
+ <fo:block>
2980
+
2981
+ <!-- create virtual html table for dl/[dt and dd] -->
2982
+ <xsl:variable name="html-table">
2983
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2984
+ <xsl:element name="{$ns}:table">
2985
+ <tbody>
2986
+ <xsl:apply-templates mode="dl"/>
2987
+ </tbody>
2988
+ </xsl:element>
2989
+ </xsl:variable>
2990
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
2991
+ <xsl:variable name="colwidths">
2992
+ <xsl:call-template name="calculate-column-widths">
2993
+ <xsl:with-param name="cols-count" select="2"/>
2994
+ <xsl:with-param name="table" select="$html-table"/>
2995
+ </xsl:call-template>
2996
+ </xsl:variable>
2997
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2998
+
2999
+ <fo:table width="95%" table-layout="fixed">
3000
+ <xsl:choose>
3001
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3002
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3003
+ </xsl:when>
3004
+ <xsl:when test="normalize-space($key_iso) = 'true'">
3005
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3006
+
3007
+ </xsl:when>
3008
+ </xsl:choose>
3009
+ <xsl:choose>
3010
+ <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3011
+ <fo:table-column column-width="50%"/>
3012
+ <fo:table-column column-width="50%"/>
3013
+ </xsl:when>
3014
+ <xsl:otherwise>
3015
+ <xsl:choose>
3016
+ <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3017
+ <fo:table-column column-width="60%"/>
3018
+ <fo:table-column column-width="40%"/>
3019
+ </xsl:when> -->
3020
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
3021
+ <fo:table-column column-width="50%"/>
3022
+ <fo:table-column column-width="50%"/>
3023
+ </xsl:when>
3024
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
3025
+ <fo:table-column column-width="40%"/>
3026
+ <fo:table-column column-width="60%"/>
3027
+ </xsl:when>
3028
+ <xsl:otherwise>
3029
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
3030
+ <xsl:choose>
3031
+ <xsl:when test=". = 1">
3032
+ <fo:table-column column-width="proportional-column-width(2)"/>
3033
+ </xsl:when>
3034
+ <xsl:otherwise>
3035
+ <fo:table-column column-width="proportional-column-width({.})"/>
3036
+ </xsl:otherwise>
3037
+ </xsl:choose>
3038
+ </xsl:for-each>
3039
+ </xsl:otherwise>
3040
+ </xsl:choose>
3041
+ <!-- <fo:table-column column-width="15%"/>
3042
+ <fo:table-column column-width="85%"/> -->
3043
+ </xsl:otherwise>
3044
+ </xsl:choose>
3045
+ <fo:table-body>
3046
+ <xsl:apply-templates>
3047
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
3048
+ </xsl:apply-templates>
3049
+ </fo:table-body>
3050
+ </fo:table>
3051
+ </fo:block>
3052
+ </fo:block>
3053
+ </xsl:if>
3054
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dl']/*[local-name()='note']">
3055
+ <xsl:param name="key_iso"/>
3056
+
3057
+ <!-- <tr>
3058
+ <td>NOTE</td>
3059
+ <td>
3060
+ <xsl:apply-templates />
3061
+ </td>
3062
+ </tr>
3063
+ -->
3064
+ <fo:table-row>
3065
+ <fo:table-cell>
3066
+ <fo:block margin-top="6pt">
3067
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3068
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3069
+ </xsl:if>
3070
+ NOTE
3071
+ </fo:block>
3072
+ </fo:table-cell>
3073
+ <fo:table-cell>
3074
+ <fo:block>
3075
+ <xsl:apply-templates/>
3076
+ </fo:block>
3077
+ </fo:table-cell>
3078
+ </fo:table-row>
3079
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dt']" mode="dl">
3080
+ <tr>
3081
+ <td>
3082
+ <xsl:apply-templates/>
3083
+ </td>
3084
+ <td>
3085
+
3086
+
3087
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3088
+
3089
+ </td>
3090
+ </tr>
3091
+
3092
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dt']">
3093
+ <xsl:param name="key_iso"/>
3094
+
3095
+ <fo:table-row>
3096
+ <fo:table-cell>
3097
+ <fo:block margin-top="6pt">
3098
+
3099
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3100
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3101
+
3102
+ </xsl:if>
3103
+
3104
+
3105
+ <xsl:apply-templates/>
3106
+ </fo:block>
3107
+ </fo:table-cell>
3108
+ <fo:table-cell>
3109
+ <fo:block>
3110
+
3111
+ <xsl:attribute name="text-align">justify</xsl:attribute>
3112
+
3113
+
3114
+
3115
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3116
+
3117
+ </fo:block>
3118
+ </fo:table-cell>
3119
+ </fo:table-row>
3120
+
3121
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']" mode="dl"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']" mode="dl_process">
3122
+ <xsl:apply-templates/>
3123
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']" mode="process">
3124
+ <xsl:apply-templates/>
3125
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3126
+ <fo:inline><xsl:apply-templates/></fo:inline>
3127
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='em']">
3128
+ <fo:inline font-style="italic">
3129
+ <xsl:apply-templates/>
3130
+ </fo:inline>
3131
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='strong']">
3132
+ <fo:inline font-weight="bold">
3133
+ <xsl:apply-templates/>
3134
+ </fo:inline>
3135
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='sup']">
3136
+ <fo:inline font-size="80%" vertical-align="super">
3137
+ <xsl:apply-templates/>
3138
+ </fo:inline>
3139
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='sub']">
3140
+ <fo:inline font-size="80%" vertical-align="sub">
3141
+ <xsl:apply-templates/>
3142
+ </fo:inline>
3143
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tt']">
3144
+ <fo:inline font-family="Courier" font-size="10pt">
3145
+ <xsl:apply-templates/>
3146
+ </fo:inline>
3147
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='del']">
3148
+ <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3149
+ <xsl:apply-templates/>
3150
+ </fo:inline>
3151
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="text()[ancestor::*[local-name()='smallcap']]">
3152
+ <xsl:variable name="text" select="normalize-space(.)"/>
3153
+ <fo:inline font-size="75%">
3154
+ <xsl:if test="string-length($text) &gt; 0">
3155
+ <xsl:call-template name="recursiveSmallCaps">
3156
+ <xsl:with-param name="text" select="$text"/>
3157
+ </xsl:call-template>
3158
+ </xsl:if>
3159
+ </fo:inline>
3160
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="recursiveSmallCaps">
3161
+ <xsl:param name="text"/>
3162
+ <xsl:variable name="char" select="substring($text,1,1)"/>
3163
+ <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
3164
+ <xsl:choose>
3165
+ <xsl:when test="$char=$upperCase">
3166
+ <fo:inline font-size="{100 div 0.75}%">
3167
+ <xsl:value-of select="$upperCase"/>
3168
+ </fo:inline>
3169
+ </xsl:when>
3170
+ <xsl:otherwise>
3171
+ <xsl:value-of select="$upperCase"/>
3172
+ </xsl:otherwise>
3173
+ </xsl:choose>
3174
+ <xsl:if test="string-length($text) &gt; 1">
3175
+ <xsl:call-template name="recursiveSmallCaps">
3176
+ <xsl:with-param name="text" select="substring($text,2)"/>
3177
+ </xsl:call-template>
3178
+ </xsl:if>
3179
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="tokenize">
3180
+ <xsl:param name="text"/>
3181
+ <xsl:param name="separator" select="' '"/>
3182
+ <xsl:choose>
3183
+ <xsl:when test="not(contains($text, $separator))">
3184
+ <word>
3185
+ <xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
3186
+ <xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
3187
+ <xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
3188
+ <xsl:variable name="len_str">
3189
+ <xsl:choose>
3190
+ <xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
3191
+ <xsl:value-of select="$len_str_tmp * 1.5"/>
3192
+ </xsl:when>
3193
+ <xsl:otherwise>
3194
+ <xsl:value-of select="$len_str_tmp"/>
3195
+ </xsl:otherwise>
3196
+ </xsl:choose>
3197
+ </xsl:variable>
3198
+
3199
+ <!-- <xsl:if test="$len_str_no_en_chars div $len_str &gt; 0.8">
3200
+ <xsl:message>
3201
+ div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
3202
+ len_str=<xsl:value-of select="$len_str"/>
3203
+ len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
3204
+ </xsl:message>
3205
+ </xsl:if> -->
3206
+ <!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
3207
+ <len_str><xsl:value-of select="$len_str"/></len_str> -->
3208
+ <xsl:choose>
3209
+ <xsl:when test="$len_str_no_en_chars div $len_str &gt; 0.8"> <!-- means non-english string -->
3210
+ <xsl:value-of select="$len_str - $len_str_no_en_chars"/>
3211
+ </xsl:when>
3212
+ <xsl:otherwise>
3213
+ <xsl:value-of select="$len_str"/>
3214
+ </xsl:otherwise>
3215
+ </xsl:choose>
3216
+ </word>
3217
+ </xsl:when>
3218
+ <xsl:otherwise>
3219
+ <word>
3220
+ <xsl:value-of select="string-length(normalize-space(substring-before($text, $separator)))"/>
3221
+ </word>
3222
+ <xsl:call-template name="tokenize">
3223
+ <xsl:with-param name="text" select="substring-after($text, $separator)"/>
3224
+ </xsl:call-template>
3225
+ </xsl:otherwise>
3226
+ </xsl:choose>
3227
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="max_length">
3228
+ <xsl:param name="words"/>
3229
+ <xsl:for-each select="$words//word">
3230
+ <xsl:sort select="." data-type="number" order="descending"/>
3231
+ <xsl:if test="position()=1">
3232
+ <xsl:value-of select="."/>
3233
+ </xsl:if>
3234
+ </xsl:for-each>
3235
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="add-zero-spaces">
3236
+ <xsl:param name="text" select="."/>
3237
+ <xsl:variable name="zero-space-after-chars">-</xsl:variable>
3238
+ <xsl:variable name="zero-space-after-dot">.</xsl:variable>
3239
+ <xsl:variable name="zero-space-after-colon">:</xsl:variable>
3240
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3241
+ <xsl:variable name="zero-space">​</xsl:variable>
3242
+ <xsl:choose>
3243
+ <xsl:when test="contains($text, $zero-space-after-chars)">
3244
+ <xsl:value-of select="substring-before($text, $zero-space-after-chars)"/>
3245
+ <xsl:value-of select="$zero-space-after-chars"/>
3246
+ <xsl:value-of select="$zero-space"/>
3247
+ <xsl:call-template name="add-zero-spaces">
3248
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-chars)"/>
3249
+ </xsl:call-template>
3250
+ </xsl:when>
3251
+ <xsl:when test="contains($text, $zero-space-after-dot)">
3252
+ <xsl:value-of select="substring-before($text, $zero-space-after-dot)"/>
3253
+ <xsl:value-of select="$zero-space-after-dot"/>
3254
+ <xsl:value-of select="$zero-space"/>
3255
+ <xsl:call-template name="add-zero-spaces">
3256
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-dot)"/>
3257
+ </xsl:call-template>
3258
+ </xsl:when>
3259
+ <xsl:when test="contains($text, $zero-space-after-colon)">
3260
+ <xsl:value-of select="substring-before($text, $zero-space-after-colon)"/>
3261
+ <xsl:value-of select="$zero-space-after-colon"/>
3262
+ <xsl:value-of select="$zero-space"/>
3263
+ <xsl:call-template name="add-zero-spaces">
3264
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-colon)"/>
3265
+ </xsl:call-template>
3266
+ </xsl:when>
3267
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3268
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3269
+ <xsl:value-of select="$zero-space-after-equal"/>
3270
+ <xsl:value-of select="$zero-space"/>
3271
+ <xsl:call-template name="add-zero-spaces">
3272
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3273
+ </xsl:call-template>
3274
+ </xsl:when>
3275
+ <xsl:otherwise>
3276
+ <xsl:value-of select="$text"/>
3277
+ </xsl:otherwise>
3278
+ </xsl:choose>
3279
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="add-zero-spaces-equal">
3280
+ <xsl:param name="text" select="."/>
3281
+ <xsl:variable name="zero-space-after-equals">==========</xsl:variable>
3282
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3283
+ <xsl:variable name="zero-space">​</xsl:variable>
3284
+ <xsl:choose>
3285
+ <xsl:when test="contains($text, $zero-space-after-equals)">
3286
+ <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
3287
+ <xsl:value-of select="$zero-space-after-equals"/>
3288
+ <xsl:value-of select="$zero-space"/>
3289
+ <xsl:call-template name="add-zero-spaces-equal">
3290
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
3291
+ </xsl:call-template>
3292
+ </xsl:when>
3293
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3294
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3295
+ <xsl:value-of select="$zero-space-after-equal"/>
3296
+ <xsl:value-of select="$zero-space"/>
3297
+ <xsl:call-template name="add-zero-spaces-equal">
3298
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3299
+ </xsl:call-template>
3300
+ </xsl:when>
3301
+ <xsl:otherwise>
3302
+ <xsl:value-of select="$text"/>
3303
+ </xsl:otherwise>
3304
+ </xsl:choose>
3305
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="getSimpleTable">
3306
+ <xsl:variable name="simple-table">
3307
+
3308
+ <!-- Step 1. colspan processing -->
3309
+ <xsl:variable name="simple-table-colspan">
3310
+ <tbody>
3311
+ <xsl:apply-templates mode="simple-table-colspan"/>
3312
+ </tbody>
3313
+ </xsl:variable>
3314
+
3315
+ <!-- Step 2. rowspan processing -->
3316
+ <xsl:variable name="simple-table-rowspan">
3317
+ <xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
3318
+ </xsl:variable>
3319
+
3320
+ <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3321
+
3322
+ <!-- <xsl:choose>
3323
+ <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3324
+
3325
+ </xsl:when>
3326
+ <xsl:otherwise>
3327
+ <xsl:copy-of select="current()"/>
3328
+ </xsl:otherwise>
3329
+ </xsl:choose> -->
3330
+ </xsl:variable>
3331
+ <xsl:copy-of select="$simple-table"/>
3332
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
3333
+ <xsl:apply-templates mode="simple-table-colspan"/>
3334
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
3335
+ <xsl:choose>
3336
+ <xsl:when test="@colspan">
3337
+ <xsl:variable name="td">
3338
+ <xsl:element name="td">
3339
+ <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
3340
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3341
+ <xsl:apply-templates mode="simple-table-colspan"/>
3342
+ </xsl:element>
3343
+ </xsl:variable>
3344
+ <xsl:call-template name="repeatNode">
3345
+ <xsl:with-param name="count" select="@colspan"/>
3346
+ <xsl:with-param name="node" select="$td"/>
3347
+ </xsl:call-template>
3348
+ </xsl:when>
3349
+ <xsl:otherwise>
3350
+ <xsl:element name="td">
3351
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3352
+ <xsl:apply-templates mode="simple-table-colspan"/>
3353
+ </xsl:element>
3354
+ </xsl:otherwise>
3355
+ </xsl:choose>
3356
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="@colspan" mode="simple-table-colspan"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tr']" mode="simple-table-colspan">
3357
+ <xsl:element name="tr">
3358
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3359
+ <xsl:apply-templates mode="simple-table-colspan"/>
3360
+ </xsl:element>
3361
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="@*|node()" mode="simple-table-colspan">
3362
+ <xsl:copy>
3363
+ <xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
3364
+ </xsl:copy>
3365
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="repeatNode">
3366
+ <xsl:param name="count"/>
3367
+ <xsl:param name="node"/>
3368
+
3369
+ <xsl:if test="$count &gt; 0">
3370
+ <xsl:call-template name="repeatNode">
3371
+ <xsl:with-param name="count" select="$count - 1"/>
3372
+ <xsl:with-param name="node" select="$node"/>
3373
+ </xsl:call-template>
3374
+ <xsl:copy-of select="$node"/>
3375
+ </xsl:if>
3376
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="@*|node()" mode="simple-table-rowspan">
3377
+ <xsl:copy>
3378
+ <xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
3379
+ </xsl:copy>
3380
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="tbody" mode="simple-table-rowspan">
3381
+ <xsl:copy>
3382
+ <xsl:copy-of select="tr[1]"/>
3383
+ <xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
3384
+ <xsl:with-param name="previousRow" select="tr[1]"/>
3385
+ </xsl:apply-templates>
3386
+ </xsl:copy>
3387
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="tr" mode="simple-table-rowspan">
3388
+ <xsl:param name="previousRow"/>
3389
+ <xsl:variable name="currentRow" select="."/>
3390
+
3391
+ <xsl:variable name="normalizedTDs">
3392
+ <xsl:for-each select="xalan:nodeset($previousRow)//td">
3393
+ <xsl:choose>
3394
+ <xsl:when test="@rowspan &gt; 1">
3395
+ <xsl:copy>
3396
+ <xsl:attribute name="rowspan">
3397
+ <xsl:value-of select="@rowspan - 1"/>
3398
+ </xsl:attribute>
3399
+ <xsl:copy-of select="@*[not(name() = 'rowspan')]"/>
3400
+ <xsl:copy-of select="node()"/>
3401
+ </xsl:copy>
3402
+ </xsl:when>
3403
+ <xsl:otherwise>
3404
+ <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
3405
+ </xsl:otherwise>
3406
+ </xsl:choose>
3407
+ </xsl:for-each>
3408
+ </xsl:variable>
3409
+
3410
+ <xsl:variable name="newRow">
3411
+ <xsl:copy>
3412
+ <xsl:copy-of select="$currentRow/@*"/>
3413
+ <xsl:copy-of select="xalan:nodeset($normalizedTDs)"/>
3414
+ </xsl:copy>
3415
+ </xsl:variable>
3416
+ <xsl:copy-of select="$newRow"/>
3417
+
3418
+ <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
3419
+ <xsl:with-param name="previousRow" select="$newRow"/>
3420
+ </xsl:apply-templates>
3421
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="getLang">
3422
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3423
+ <xsl:choose>
3424
+ <xsl:when test="$language = 'English'">en</xsl:when>
3425
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3426
+ </xsl:choose>
3427
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="capitalizeWords">
3428
+ <xsl:param name="str"/>
3429
+ <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
3430
+ <xsl:choose>
3431
+ <xsl:when test="contains($str2, ' ')">
3432
+ <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3433
+ <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3434
+ <xsl:value-of select="substring($substr, 2)"/>
3435
+ <xsl:text> </xsl:text>
3436
+ <xsl:call-template name="capitalizeWords">
3437
+ <xsl:with-param name="str" select="substring-after($str2, ' ')"/>
3438
+ </xsl:call-template>
3439
+ </xsl:when>
3440
+ <xsl:otherwise>
3441
+ <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3442
+ <xsl:value-of select="substring($str2, 2)"/>
3443
+ </xsl:otherwise>
3444
+ </xsl:choose>
3445
+ </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:iec="https://www.metanorma.org/ns/iec" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="mathml:math">
3446
+ <fo:inline font-family="STIX2Math">
3447
+ <fo:instream-foreign-object fox:alt-text="Math">
3448
+ <xsl:copy-of select="."/>
3449
+ </fo:instream-foreign-object>
3450
+ </fo:inline>
3451
+ </xsl:template></xsl:stylesheet>