metanorma-itu 1.0.18 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +0 -1
  3. data/.github/workflows/ubuntu.yml +10 -7
  4. data/.github/workflows/windows.yml +0 -1
  5. data/Rakefile +2 -0
  6. data/lib/asciidoctor/itu/cleanup.rb +128 -95
  7. data/lib/asciidoctor/itu/converter.rb +36 -61
  8. data/lib/asciidoctor/itu/isodoc.rng +12 -6
  9. data/lib/asciidoctor/itu/validate.rb +22 -11
  10. data/lib/isodoc/itu.rb +1 -0
  11. data/lib/isodoc/itu/base_convert.rb +32 -78
  12. data/lib/isodoc/itu/html/_coverpage.css +349 -0
  13. data/lib/isodoc/itu/html/_coverpage.scss +2 -0
  14. data/lib/isodoc/itu/html/htmlstyle.css +1159 -0
  15. data/lib/isodoc/itu/html/itu.css +1138 -0
  16. data/lib/isodoc/itu/html/itu.scss +0 -1
  17. data/lib/isodoc/itu/html/wordstyle.css +1808 -0
  18. data/lib/isodoc/itu/html/wordstyle.scss +0 -1
  19. data/lib/isodoc/itu/html_convert.rb +8 -4
  20. data/lib/isodoc/itu/i18n-en.yaml +25 -0
  21. data/lib/isodoc/itu/i18n.rb +14 -0
  22. data/lib/isodoc/itu/init.rb +29 -0
  23. data/lib/isodoc/itu/itu.recommendation-annex.xsl +1759 -1864
  24. data/lib/isodoc/itu/itu.recommendation.xsl +1759 -1864
  25. data/lib/isodoc/itu/itu.resolution.xsl +1759 -1864
  26. data/lib/isodoc/itu/metadata.rb +8 -5
  27. data/lib/isodoc/itu/pdf_convert.rb +0 -14
  28. data/lib/isodoc/itu/presentation_xml_convert.rb +55 -0
  29. data/lib/isodoc/itu/ref.rb +12 -14
  30. data/lib/isodoc/itu/terms.rb +10 -32
  31. data/lib/isodoc/itu/word_convert.rb +25 -14
  32. data/lib/isodoc/itu/xref.rb +73 -36
  33. data/lib/metanorma/itu/processor.rb +10 -8
  34. data/lib/metanorma/itu/version.rb +1 -1
  35. data/metanorma-itu.gemspec +3 -2
  36. metadata +31 -12
  37. data/lib/asciidoctor/itu/i18n-en.yaml +0 -16
@@ -1677,4 +1677,3 @@ ol
1677
1677
  ul
1678
1678
  {margin-bottom:0cm;
1679
1679
  margin-left:18pt;}
1680
-
@@ -1,5 +1,5 @@
1
1
  require "isodoc"
2
- require_relative "metadata"
2
+ require_relative "init"
3
3
  require "fileutils"
4
4
 
5
5
  module IsoDoc
@@ -17,8 +17,10 @@ module IsoDoc
17
17
 
18
18
  def default_fonts(options)
19
19
  {
20
- bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Times New Roman",serif'),
21
- headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Times New Roman",serif'),
20
+ bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' :
21
+ '"Times New Roman",serif'),
22
+ headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' :
23
+ '"Times New Roman",serif'),
22
24
  monospacefont: '"Courier New",monospace'
23
25
  }
24
26
  end
@@ -39,7 +41,8 @@ module IsoDoc
39
41
  end
40
42
 
41
43
  def make_body(xml, docxml)
42
- body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" }
44
+ body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72",
45
+ "xml:lang": "EN-US", class: "container" }
43
46
  xml.body **body_attr do |body|
44
47
  make_body1(body, docxml)
45
48
  make_body2(body, docxml)
@@ -64,6 +67,7 @@ module IsoDoc
64
67
  end
65
68
 
66
69
  include BaseConvert
70
+ include Init
67
71
  end
68
72
  end
69
73
  end
@@ -1,6 +1,13 @@
1
1
  termsdef: Definitions
2
+ termsdefsymbolsabbrev: Definitions
3
+ termsdefsymbols: Definitions
4
+ termsdefabbrev: Definitions
2
5
  termnote: NOTE %
3
6
  normref: References
7
+ symbolsabbrev: Abbreviations and acronyms
8
+ abbrev: Abbreviations and acronyms
9
+ symbols: Abbreviations and acronyms
10
+ conventions: Conventions
4
11
  elsewhere_terms: >-
5
12
  This Recommendation uses the following terms defined elsewhere:
6
13
  here_terms: >-
@@ -14,3 +21,21 @@ annex_subclause: clause
14
21
  in: in
15
22
  where: "where:"
16
23
  blankclause: This clause is intentionally left blank.
24
+ norm_with_refs_pref:
25
+ The following ITU-T Recommendations and other references contain provisions which, through reference in this text, constitute provisions of this Recommendation. At the time of publication, the editions indicated were valid. All Recommendations and other references are subject to revision; users of this Recommendation are therefore encouraged to investigate the possibility of applying the most recent edition of the Recommendations and other references listed below. A list of the currently valid ITU-T Recommendations is regularly published. The reference to a document within this Recommendation does not give it, as a stand-alone document, the status of a Recommendation.
26
+ internal_termsdef: Terms defined in this recommendation
27
+ external_termsdef: Terms defined elsewhere
28
+ term_def_boilerplate:
29
+ "This Recommendation defines the following terms:"
30
+ internal_terms_boilerplate:
31
+ "This Recommendation defines the following terms:"
32
+ external_terms_boilerplate:
33
+ "This Recommendation uses the following terms defined elsewhere:"
34
+ no_terms_boilerplate:
35
+ None.
36
+ symbols_boilerplate:
37
+ "This Recommendation uses the following abbreviations and acronyms:"
38
+ norm_empty_pref:
39
+ None.
40
+ clause_empty:
41
+ None.
@@ -0,0 +1,14 @@
1
+ module IsoDoc
2
+ module ITU
3
+ class I18n < IsoDoc::I18n
4
+ def load_yaml1(lang, script)
5
+ y = if lang == "en"
6
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
7
+ else
8
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
9
+ end
10
+ super.merge(y)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,29 @@
1
+ require "isodoc"
2
+ require_relative "metadata"
3
+ require_relative "xref"
4
+ require_relative "i18n"
5
+
6
+ module IsoDoc
7
+ module ITU
8
+ module Init
9
+ def metadata_init(lang, script, i18n)
10
+ @meta = Metadata.new(lang, script, i18n)
11
+ end
12
+
13
+ def xref_init(lang, script, klass, i18n, options)
14
+ html = HtmlConvert.new(language: lang, script: script)
15
+ options = options.merge(hierarchical_assets: @hierarchical_assets)
16
+ @xrefs = Xref.new(lang, script, html, i18n, options)
17
+ end
18
+
19
+ def i18n_init(lang, script, i18nyaml = nil)
20
+ @i18n = I18n.new(lang, script, i18nyaml || @i18nyaml)
21
+ end
22
+
23
+ def fileloc(loc)
24
+ File.join(File.dirname(__FILE__), loc)
25
+ end
26
+ end
27
+ end
28
+ end
29
+
@@ -2,6 +2,9 @@
2
2
 
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
+ <xsl:param name="svg_images"/>
6
+ <xsl:variable name="images" select="document($svg_images)"/>
7
+
5
8
 
6
9
 
7
10
  <xsl:key name="kfn" match="itu:p/itu:fn" use="@reference"/>
@@ -26,8 +29,9 @@
26
29
  </xsl:call-template>
27
30
  </xsl:variable>
28
31
  <xsl:variable name="doctype">
29
- <xsl:value-of select="translate(substring(/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype,1,1),$lower,$upper)"/>
30
- <xsl:value-of select="substring(/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype,2)"/>
32
+ <xsl:call-template name="capitalize">
33
+ <xsl:with-param name="str" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype"/>
34
+ </xsl:call-template>
31
35
  </xsl:variable>
32
36
 
33
37
 
@@ -38,17 +42,16 @@
38
42
  <xsl:variable name="contents">
39
43
  <contents>
40
44
  <!-- <xsl:apply-templates select="/itu:itu-standard/itu:preface/node()" mode="contents"/> -->
41
- <xsl:apply-templates select="/itu:itu-standard/itu:sections/itu:clause[1]" mode="contents"> <!-- @id = 'scope' -->
42
- <xsl:with-param name="sectionNum" select="'1'"/>
43
- </xsl:apply-templates>
44
- <xsl:variable name="numskew" select="count(/itu:itu-standard/itu:bibliography/itu:references[1])"/>
45
- <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[1]" mode="contents"> <!-- @id = 'references' -->
46
- <xsl:with-param name="sectionNum" select="1 + number($numskew)"/>
47
- </xsl:apply-templates>
48
- <xsl:apply-templates select="/itu:itu-standard/itu:sections/*[position() != 1]" mode="contents"> <!-- @id != 'scope' -->
49
- <xsl:with-param name="sectionNumSkew" select="number($numskew)"/>
50
- </xsl:apply-templates>
45
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/itu:clause[1]" mode="contents"/> <!-- @id = 'scope' -->
46
+
47
+ <!-- Normative references -->
48
+ <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[1]" mode="contents"/> <!-- @id = 'references' -->
49
+
50
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/*[position() != 1]" mode="contents"/> <!-- @id != 'scope' -->
51
+
51
52
  <xsl:apply-templates select="/itu:itu-standard/itu:annex" mode="contents"/>
53
+
54
+ <!-- Bibliography -->
52
55
  <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[position() != 1]" mode="contents"/> <!-- @id = 'bibliography' -->
53
56
 
54
57
  <xsl:apply-templates select="//itu:table" mode="contents"/>
@@ -61,7 +64,7 @@
61
64
  </xsl:variable>
62
65
 
63
66
  <xsl:template match="/">
64
- <xsl:message>INFO: Document namespace: '<xsl:value-of select="namespace-uri(/*)"/>'</xsl:message>
67
+ <xsl:call-template name="namespaceCheck"/>
65
68
  <fo:root font-family="Times New Roman, STIX2Math" font-size="12pt" xml:lang="{$lang}">
66
69
  <fo:layout-master-set>
67
70
  <!-- cover page -->
@@ -119,35 +122,7 @@
119
122
  </fo:page-sequence-master>
120
123
  </fo:layout-master-set>
121
124
 
122
- <fo:declarations>
123
- <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
124
- <pdf:dictionary type="normal" key="ViewerPreferences">
125
- <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
126
- </pdf:dictionary>
127
- </pdf:catalog>
128
- <x:xmpmeta xmlns:x="adobe:ns:meta/">
129
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
130
- <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
131
- <!-- Dublin Core properties go here -->
132
- <dc:title><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type='main']"/> </dc:title>
133
- <dc:creator><xsl:value-of select="/itu:iso-standard/itu:bibdata/itu:contributor[itu:role/@type='author']/itu:organization/itu:name"/></dc:creator>
134
- <dc:description>
135
- <xsl:variable name="abstract">
136
- <xsl:copy-of select="/itu:itu-standard/itu:bibdata/itu:abstract//text()"/>
137
- </xsl:variable>
138
- <xsl:value-of select="normalize-space($abstract)"/>
139
- </dc:description>
140
- <pdf:Keywords>
141
- <xsl:call-template name="insertKeywords"/>
142
- </pdf:Keywords>
143
- </rdf:Description>
144
- <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
145
- <!-- XMP properties go here -->
146
- <xmp:CreatorTool/>
147
- </rdf:Description>
148
- </rdf:RDF>
149
- </x:xmpmeta>
150
- </fo:declarations>
125
+ <xsl:call-template name="addPDFUAmeta"/>
151
126
 
152
127
  <!-- cover page -->
153
128
  <fo:page-sequence master-reference="cover-page">
@@ -217,7 +192,12 @@
217
192
  <fo:table-cell text-align="right">
218
193
  <xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
219
194
  <fo:block font-size="18pt" font-weight="bold">
220
- <xsl:text>Annex </xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
195
+ <xsl:variable name="title-annex">
196
+ <xsl:call-template name="getTitle">
197
+ <xsl:with-param name="name" select="'title-annex'"/>
198
+ </xsl:call-template>
199
+ </xsl:variable>
200
+ <xsl:value-of select="$title-annex"/><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
221
201
  </fo:block>
222
202
  </xsl:if>
223
203
  <fo:block font-size="14pt">
@@ -304,7 +284,12 @@
304
284
  <xsl:text>  </xsl:text>
305
285
  <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:docnumber"/>
306
286
  <xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
307
- <xsl:text> — Annex </xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
287
+ <xsl:variable name="title-annex">
288
+ <xsl:call-template name="getTitle">
289
+ <xsl:with-param name="name" select="'title-annex'"/>
290
+ </xsl:call-template>
291
+ </xsl:variable>
292
+ <xsl:text> — </xsl:text><xsl:value-of select="$title-annex"/><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
308
293
  </xsl:if>
309
294
  </fo:block>
310
295
  </fo:table-cell>
@@ -339,6 +324,11 @@
339
324
  <xsl:value-of select="$linebreak"/>
340
325
  </fo:block>
341
326
  <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
327
+ <xsl:variable name="title-keywords">
328
+ <xsl:call-template name="getTitle">
329
+ <xsl:with-param name="name" select="'title-keywords'"/>
330
+ </xsl:call-template>
331
+ </xsl:variable>
342
332
  <xsl:value-of select="$title-keywords"/>
343
333
  </fo:block>
344
334
  <fo:block>
@@ -365,68 +355,70 @@
365
355
  <xsl:if test="xalan:nodeset($contents)//item">
366
356
  <fo:block break-after="page"/>
367
357
  <fo:block-container>
358
+ <xsl:variable name="title-toc">
359
+ <xsl:call-template name="getTitle">
360
+ <xsl:with-param name="name" select="'title-toc'"/>
361
+ </xsl:call-template>
362
+ </xsl:variable>
363
+ <xsl:variable name="title-page">
364
+ <xsl:call-template name="getTitle">
365
+ <xsl:with-param name="name" select="'title-page'"/>
366
+ </xsl:call-template>
367
+ </xsl:variable>
368
368
  <fo:block margin-top="6pt" text-align="center" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:block>
369
369
  <fo:block margin-top="6pt" text-align="right" font-weight="bold"><xsl:value-of select="$title-page"/></fo:block>
370
370
 
371
- <xsl:for-each select="xalan:nodeset($contents)//item">
372
- <xsl:if test="@display = 'true'">
373
- <fo:block>
374
- <xsl:if test="@level = 1">
375
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
376
- </xsl:if>
377
- <xsl:if test="@level = 2">
378
- <xsl:attribute name="margin-top">4pt</xsl:attribute>
379
- <!-- <xsl:attribute name="margin-left">12mm</xsl:attribute> -->
380
- </xsl:if>
381
- <fo:list-block provisional-label-separation="3mm">
382
- <xsl:attribute name="provisional-distance-between-starts">
383
- <xsl:choose>
384
- <xsl:when test="@section != '' and not(@display-section = 'false')">
385
- <xsl:if test="@level = 1">
386
- <xsl:choose>
387
- <xsl:when test="string-length(@section) &gt; 10">27mm</xsl:when>
388
- <xsl:when test="string-length(@section) &gt; 5">22mm</xsl:when>
389
- <!-- <xsl:when test="@type = 'annex'">20mm</xsl:when> -->
390
- <xsl:otherwise>12mm</xsl:otherwise>
391
- </xsl:choose>
392
- </xsl:if>
393
- <xsl:if test="@level = 2">26mm</xsl:if>
394
- </xsl:when> <!-- -->
395
- <xsl:otherwise>0mm</xsl:otherwise>
396
- </xsl:choose>
397
- </xsl:attribute>
398
- <fo:list-item>
399
- <fo:list-item-label end-indent="label-end()">
400
- <xsl:if test="@level =2">
401
- <xsl:attribute name="start-indent">12mm</xsl:attribute>
371
+ <xsl:for-each select="xalan:nodeset($contents)//item">
372
+ <fo:block>
373
+ <xsl:if test="@level = 1">
374
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
375
+ </xsl:if>
376
+ <xsl:if test="@level = 2">
377
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
378
+ <!-- <xsl:attribute name="margin-left">12mm</xsl:attribute> -->
379
+ </xsl:if>
380
+ <fo:list-block provisional-label-separation="3mm">
381
+ <xsl:attribute name="provisional-distance-between-starts">
382
+ <xsl:choose>
383
+ <xsl:when test="@section != ''">
384
+ <xsl:if test="@level = 1">
385
+ <xsl:choose>
386
+ <xsl:when test="string-length(@section) &gt; 10">27mm</xsl:when>
387
+ <xsl:when test="string-length(@section) &gt; 5">22mm</xsl:when>
388
+ <!-- <xsl:when test="@type = 'annex'">20mm</xsl:when> -->
389
+ <xsl:otherwise>12mm</xsl:otherwise>
390
+ </xsl:choose>
391
+ </xsl:if>
392
+ <xsl:if test="@level = 2">26mm</xsl:if>
393
+ </xsl:when> <!-- -->
394
+ <xsl:otherwise>0mm</xsl:otherwise>
395
+ </xsl:choose>
396
+ </xsl:attribute>
397
+ <fo:list-item>
398
+ <fo:list-item-label end-indent="label-end()">
399
+ <xsl:if test="@level =2">
400
+ <xsl:attribute name="start-indent">12mm</xsl:attribute>
401
+ </xsl:if>
402
+ <fo:block>
403
+ <xsl:if test="@section">
404
+ <xsl:value-of select="@section"/>
402
405
  </xsl:if>
403
- <fo:block>
404
- <xsl:if test="@section and not(@display-section = 'false')"> <!-- -->
405
- <!-- <xsl:if test="@type = 'annex'">
406
- <xsl:attribute name="font-weight">bold</xsl:attribute>
407
- </xsl:if> -->
408
- <xsl:value-of select="@section"/>
409
- </xsl:if>
406
+ </fo:block>
407
+ </fo:list-item-label>
408
+ <fo:list-item-body start-indent="body-start()">
409
+ <fo:block text-align-last="justify">
410
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="text()">
411
+ <xsl:apply-templates/>
412
+ <fo:inline keep-together.within-line="always">
413
+ <fo:leader leader-pattern="dots"/>
414
+ <fo:page-number-citation ref-id="{@id}"/>
415
+ </fo:inline>
416
+ </fo:basic-link>
410
417
  </fo:block>
411
- </fo:list-item-label>
412
- <fo:list-item-body start-indent="body-start()">
413
- <fo:block text-align-last="justify"> <!-- margin-left="12mm" text-indent="-12mm" -->
414
- <!-- <xsl:if test="@type = 'annex'">
415
- <xsl:attribute name="font-weight">bold</xsl:attribute>
416
- </xsl:if> -->
417
- <fo:basic-link internal-destination="{@id}" fox:alt-text="text()">
418
- <xsl:value-of select="text()"/>
419
- <fo:inline keep-together.within-line="always">
420
- <fo:leader leader-pattern="dots"/>
421
- <fo:page-number-citation ref-id="{@id}"/>
422
- </fo:inline>
423
- </fo:basic-link>
424
- </fo:block>
425
- </fo:list-item-body>
426
- </fo:list-item>
427
- </fo:list-block>
428
- </fo:block>
429
- </xsl:if>
418
+ </fo:list-item-body>
419
+ </fo:list-item>
420
+ </fo:list-block>
421
+ </fo:block>
430
422
  </xsl:for-each>
431
423
  </fo:block-container>
432
424
  </xsl:if>
@@ -461,19 +453,13 @@
461
453
  <!-- Clause(s) -->
462
454
  <fo:block>
463
455
  <!-- Scope -->
464
- <xsl:apply-templates select="/itu:itu-standard/itu:sections/itu:clause[1]"> <!-- @id = 'scope' -->
465
- <xsl:with-param name="sectionNum" select="'1'"/>
466
- </xsl:apply-templates>
467
- <!-- References -->
468
- <xsl:variable name="numskew" select="count(/itu:itu-standard/itu:bibliography/itu:references[1])"/>
469
- <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[1]"> <!-- @id = 'references' -->
470
- <xsl:with-param name="sectionNum" select="1 + number($numskew)"/>
471
- </xsl:apply-templates>
472
-
473
- <xsl:apply-templates select="/itu:itu-standard/itu:sections/*[position() != 1]"> <!-- @id != 'scope' -->
474
- <xsl:with-param name="sectionNumSkew" select="number($numskew)"/>
475
- </xsl:apply-templates>
476
-
456
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/itu:clause[1]"/> <!-- @id = 'scope' -->
457
+
458
+ <!-- Normative references -->
459
+ <xsl:apply-templates select="/itu:itu-standard/itu:bibliography/itu:references[1]"/> <!-- @id = 'references' -->
460
+
461
+ <xsl:apply-templates select="/itu:itu-standard/itu:sections/*[position() != 1]"/> <!-- @id != 'scope' -->
462
+
477
463
  <xsl:apply-templates select="/itu:itu-standard/itu:annex"/>
478
464
 
479
465
  <!-- Bibliography -->
@@ -487,392 +473,76 @@
487
473
  </fo:root>
488
474
  </xsl:template>
489
475
 
490
- <!-- for pass the paremeter 'sectionNum' over templates, like 'tunnel' parameter in XSLT 2.0 -->
491
- <xsl:template match="node()">
492
- <xsl:param name="sectionNum"/>
493
- <xsl:param name="sectionNumSkew"/>
494
- <xsl:apply-templates>
495
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
496
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
497
- </xsl:apply-templates>
476
+ <xsl:template match="node()">
477
+ <xsl:apply-templates/>
498
478
  </xsl:template>
499
479
 
500
480
  <!-- ============================= -->
501
481
  <!-- CONTENTS -->
502
482
  <!-- ============================= -->
503
483
  <xsl:template match="node()" mode="contents">
504
- <xsl:param name="sectionNum"/>
505
- <xsl:param name="sectionNumSkew"/>
506
- <xsl:apply-templates mode="contents">
507
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
508
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
509
- </xsl:apply-templates>
510
- </xsl:template>
511
-
512
- <!-- <xsl:template match="itu:itu-standard/itu:preface/*" mode="contents">
513
- <xsl:apply-templates mode="contents"/>
514
- </xsl:template> -->
515
-
516
- <!-- calculate main section number (1,2,3) and pass it deep into templates -->
517
- <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
518
- <xsl:template match="itu:itu-standard/itu:sections/*" mode="contents">
519
- <xsl:param name="sectionNum"/>
520
- <xsl:param name="sectionNumSkew" select="-1"/>
521
- <xsl:variable name="sectionNum_">
522
- <xsl:choose>
523
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
524
- <xsl:when test="$sectionNumSkew != -1">
525
- <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!-- itu:sections/itu:clause | itu:sections/itu:terms | ??? -->
526
- <xsl:value-of select="$number + $sectionNumSkew"/>
527
- </xsl:when>
528
- </xsl:choose>
529
- </xsl:variable>
530
- <!-- <xsl:message>
531
- DEBUG sectionNum=<xsl:value-of select="$sectionNum_"/>
532
- </xsl:message> -->
533
- <xsl:apply-templates mode="contents">
534
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
535
- </xsl:apply-templates>
484
+ <xsl:apply-templates mode="contents"/>
536
485
  </xsl:template>
537
486
 
538
- <!-- Any node with title element - clause, definition, annex,... -->
539
- <xsl:template match="itu:title | itu:preferred" mode="contents">
540
- <xsl:param name="sectionNum"/>
541
- <!-- sectionNum=<xsl:value-of select="$sectionNum"/> -->
542
- <xsl:variable name="id">
543
- <xsl:call-template name="getId"/>
544
- </xsl:variable>
545
-
487
+ <!-- element with title -->
488
+ <xsl:template match="*[itu:title]" mode="contents">
546
489
  <xsl:variable name="level">
547
- <xsl:call-template name="getLevel"/>
490
+ <xsl:call-template name="getLevel">
491
+ <xsl:with-param name="depth" select="itu:title/@depth"/>
492
+ </xsl:call-template>
548
493
  </xsl:variable>
549
494
 
550
- <!-- <xsl:message>
551
- level=<xsl:value-of select="$level"/>=<xsl:value-of select="."/>
552
- </xsl:message> -->
553
-
554
495
  <xsl:variable name="section">
555
- <xsl:call-template name="getSection">
556
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
557
- </xsl:call-template>
496
+ <xsl:call-template name="getSection"/>
497
+ </xsl:variable>
498
+
499
+ <xsl:variable name="type">
500
+ <xsl:value-of select="local-name()"/>
558
501
  </xsl:variable>
559
502
 
560
503
  <xsl:variable name="display">
561
504
  <xsl:choose>
562
- <!-- <xsl:when test="ancestor::itu:annex">true</xsl:when> -->
563
- <xsl:when test="$level &lt;= 2">true</xsl:when>
564
- <xsl:otherwise>false</xsl:otherwise>
505
+ <xsl:when test="ancestor-or-self::itu:bibitem">false</xsl:when>
506
+ <xsl:when test="ancestor-or-self::itu:term">false</xsl:when>
507
+ <xsl:when test="$level &gt;= 3">false</xsl:when>
508
+ <xsl:when test="$section = '' and $type = 'clause' and $level &gt;= 2">false</xsl:when>
509
+ <xsl:otherwise>true</xsl:otherwise>
565
510
  </xsl:choose>
566
511
  </xsl:variable>
567
512
 
568
- <xsl:variable name="type">
569
- <xsl:value-of select="local-name(..)"/>
570
- </xsl:variable>
571
-
572
- <item id="{$id}" level="{$level}" section="{$section}" display="{$display}" type="{$type}">
573
- <xsl:value-of select="."/>
574
- </item>
575
-
576
- <xsl:apply-templates mode="contents">
577
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
578
- </xsl:apply-templates>
579
- </xsl:template>
580
-
581
- <xsl:template match="itu:clause[not(itu:title)]" mode="contents">
582
- <xsl:param name="sectionNum"/>
583
- <xsl:variable name="level">
584
- <xsl:call-template name="getLevel"/>
585
- </xsl:variable>
586
- <xsl:variable name="section">
587
- <xsl:for-each select="*[1]">
588
- <xsl:call-template name="getSection">
589
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
590
- </xsl:call-template>
591
- </xsl:for-each>
592
- </xsl:variable>
593
- <item id="{@id}" level="{$level}" section="{$section}" display="false" type="clause">
594
- <xsl:value-of select="."/>
595
- </item>
596
- <xsl:apply-templates mode="contents">
597
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
598
- </xsl:apply-templates>
599
- </xsl:template>
600
-
601
- <xsl:template match="itu:bibitem" mode="contents"/>
602
-
603
- <xsl:template match="itu:references" mode="contents">
604
- <xsl:param name="sectionNum"/>
605
- <xsl:apply-templates mode="contents">
606
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
607
- </xsl:apply-templates>
608
- </xsl:template>
609
-
610
-
611
- <xsl:template match="itu:figure" mode="contents">
612
- <xsl:param name="sectionNum"/>
613
- <item level="" id="{@id}" display="false" type="figure">
614
- <xsl:variable name="title" select="$title-figure"/>
615
- <xsl:attribute name="section">
616
- <xsl:call-template name="getSection">
617
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
618
- </xsl:call-template>
619
- <!-- <xsl:text>Figure </xsl:text>
620
- <xsl:call-template name="getItemNumber">
621
- <xsl:with-param name="brackets" select="'false'"/>
622
- </xsl:call-template> -->
623
- </xsl:attribute>
624
- <xsl:attribute name="topsection">
625
- <xsl:call-template name="getTopSection">
626
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
627
- </xsl:call-template>
628
- </xsl:attribute>
629
- <xsl:value-of select="$title"/>
630
- <xsl:call-template name="getItemNumber">
631
- <xsl:with-param name="brackets" select="'false'"/>
632
- </xsl:call-template>
633
- </item>
634
- <xsl:apply-templates mode="contents">
635
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
636
- </xsl:apply-templates>
637
- </xsl:template>
638
-
639
- <xsl:template match="itu:table" mode="contents">
640
- <xsl:param name="sectionNum"/>
641
- <item level="" id="{@id}" display="false" type="table">
642
- <xsl:variable name="title" select="$title-table"/>
643
- <xsl:attribute name="section">
644
- <xsl:call-template name="getSection">
645
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
646
- </xsl:call-template>
647
- <!-- <xsl:text>Table </xsl:text>
648
- <xsl:call-template name="getItemNumber"/> -->
649
- </xsl:attribute>
650
- <xsl:attribute name="topsection">
651
- <xsl:call-template name="getTopSection">
652
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
653
- </xsl:call-template>
654
- </xsl:attribute>
655
- <xsl:value-of select="$title"/>
656
- <xsl:call-template name="getItemNumber">
657
- <xsl:with-param name="brackets" select="'false'"/>
658
- </xsl:call-template>
659
- </item>
660
- <xsl:apply-templates mode="contents">
661
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
662
- </xsl:apply-templates>
663
- </xsl:template>
664
-
665
-
666
- <xsl:template match="itu:formula" mode="contents">
667
- <xsl:param name="sectionNum"/>
668
- <item level="" id="{@id}" display="false" type="formula">
513
+ <xsl:if test="$display = 'true'">
514
+
669
515
  <xsl:variable name="title">
670
- <xsl:choose>
671
- <xsl:when test="@inequality = 'true'"><xsl:value-of select="$title-inequality"/></xsl:when>
672
- <xsl:otherwise><xsl:value-of select="$title-equation"/></xsl:otherwise>
673
- </xsl:choose>
674
- </xsl:variable>
675
- <xsl:variable name="section">
676
- <xsl:call-template name="getSection">
677
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
678
- </xsl:call-template>
679
- </xsl:variable>
680
- <xsl:attribute name="section">
681
- <xsl:value-of select="$section"/>
682
- </xsl:attribute>
683
- <xsl:variable name="parent-element" select="local-name(..)"/>
684
- <xsl:attribute name="parent">
685
- <xsl:choose>
686
- <xsl:when test="$parent-element = 'clause'"><xsl:value-of select="normalize-space($title-clause)"/></xsl:when>
687
- <xsl:otherwise/>
688
- </xsl:choose>
689
- </xsl:attribute>
690
- <xsl:variable name="itemNumber">
691
- <xsl:call-template name="getItemNumber">
692
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
693
- </xsl:call-template>
516
+ <xsl:call-template name="getName"/>
694
517
  </xsl:variable>
695
- <xsl:attribute name="number">
696
- <xsl:value-of select="$itemNumber"/>
697
- </xsl:attribute>
698
- <xsl:attribute name="topsection">
699
- <xsl:call-template name="getTopSection">
700
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
701
- </xsl:call-template>
702
- </xsl:attribute>
703
- <xsl:value-of select="$title"/>
704
- <xsl:value-of select="$itemNumber"/>
705
- </item>
706
- <xsl:apply-templates mode="contents">
707
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
708
- </xsl:apply-templates>
518
+
519
+ <item level="{$level}" section="{$section}" type="{$type}">
520
+ <xsl:call-template name="setId"/>
521
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
522
+ </item>
523
+ <xsl:apply-templates mode="contents"/>
524
+ </xsl:if>
525
+
709
526
  </xsl:template>
710
527
 
711
- <xsl:template name="getItemNumber">
712
- <xsl:param name="brackets" select="'true'"/>
713
- <xsl:param name="sectionNum"/>
714
- <xsl:variable name="name" select="local-name()"/>
715
- <xsl:choose>
716
- <xsl:when test="@unnumbered = 'true'"/>
717
- <xsl:when test="count(//itu:annex) = 1 and ancestor::*[local-name()='annex'] and /itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
718
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
719
- <xsl:number format="-1" level="any" count="itu:annex//*[local-name()=$name]"/>
720
- </xsl:when>
721
- <xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
722
- <xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
723
- <!-- Annex -->
724
- <xsl:if test="$brackets = 'true'">
725
- <xsl:text>(</xsl:text>
726
- </xsl:if>
727
- <xsl:number format="I-" count="itu:annex[@obligation = 'informative']"/>
728
- <xsl:number format="1" level="any" count="*[local-name()=$name][(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
729
- <xsl:if test="$brackets = 'true'">
730
- <xsl:text>)</xsl:text>
731
- </xsl:if>
732
- </xsl:when>
733
- <!-- Appendix -->
734
- <xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
735
- <xsl:variable name="annex-id" select="ancestor::itu:annex/@id"/>
736
- <xsl:if test="$brackets = 'true'">
737
- <xsl:text>(</xsl:text>
738
- </xsl:if>
739
- <xsl:number format="A-" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
740
- <xsl:number format="1" level="any" count="*[local-name()=$name][(not(@unnumbered) or @unnumbered != 'true') and ancestor::itu:annex[@id = $annex-id]]"/>
741
- <xsl:if test="$brackets = 'true'">
742
- <xsl:text>)</xsl:text>
743
- </xsl:if>
744
- </xsl:when>
745
- <xsl:when test="ancestor::*[local-name()=$name]"> <!-- figure in figure for example -->
746
- <xsl:if test="$brackets = 'true'">
747
- <xsl:text>(</xsl:text>
748
- </xsl:if>
749
- <xsl:for-each select="parent::*[1]">
750
- <xsl:number format="1" level="any" count="*[local-name()=$name][not(parent::*[local-name()=$name])]"/> <!-- itu:figure[not(parent::itu:figure)] -->
751
- </xsl:for-each>
752
- <xsl:number format="-a" count="*[local-name()=$name]"/>
753
- <xsl:if test="$brackets = 'true'">
754
- <xsl:text>)</xsl:text>
755
- </xsl:if>
756
- </xsl:when>
757
- <xsl:when test="ancestor::itu:sections and $name = 'formula'">
758
- <xsl:if test="$brackets = 'true'">
759
- <xsl:text>(</xsl:text>
760
- </xsl:if>
761
- <xsl:value-of select="$sectionNum"/>
762
- <xsl:text>-</xsl:text>
763
- <xsl:variable name="parent_id" select="ancestor::itu:clause[last()]/@id"/>
764
- <!-- count equation in current section (1st level) -->
765
- <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]"/>
766
- <xsl:if test="$brackets = 'true'">
767
- <xsl:text>)</xsl:text>
768
- </xsl:if>
769
- </xsl:when>
770
- <xsl:otherwise>
771
- <xsl:if test="$brackets = 'true'">
772
- <xsl:text>(</xsl:text>
773
- </xsl:if>
774
- <!-- <xsl:number format="1" level="any" count="itu:figure[not(parent::itu:figure)]"/> -->
775
- <xsl:number format="1" level="any" count="*[local-name()=$name][not(@unnumbered) or @unnumbered != 'true'][not(parent::*[local-name()=$name])]"/>
776
- <xsl:if test="$brackets = 'true'">
777
- <xsl:text>)</xsl:text>
778
- </xsl:if>
779
- </xsl:otherwise>
780
- </xsl:choose>
781
- </xsl:template>
782
-
783
-
784
- <xsl:template match="itu:example" mode="contents">
785
- <xsl:param name="sectionNum"/>
786
- <xsl:variable name="level">
787
- <xsl:call-template name="getLevel"/>
788
- </xsl:variable>
789
- <xsl:variable name="section">
790
- <xsl:call-template name="getSection">
791
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
792
- </xsl:call-template>
793
- </xsl:variable>
794
-
795
- <xsl:variable name="parent-element" select="local-name(..)"/>
796
- <item level="" id="{@id}" display="false" type="example" section="{$section}">
797
- <xsl:attribute name="parent">
798
- <xsl:choose>
799
- <xsl:when test="$parent-element = 'clause'"><xsl:value-of select="normalize-space($title-clause)"/></xsl:when>
800
- <xsl:otherwise/>
801
- </xsl:choose>
802
- </xsl:attribute>
803
- <xsl:attribute name="topsection">
804
- <xsl:call-template name="getTopSection">
805
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
806
- </xsl:call-template>
807
- </xsl:attribute>
808
- </item>
809
- <xsl:apply-templates mode="contents">
810
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
811
- </xsl:apply-templates>
528
+ <xsl:template match="itu:strong" mode="contents_item" priority="2">
529
+ <xsl:apply-templates mode="contents_item"/>
812
530
  </xsl:template>
813
531
 
814
- <!-- terms - term - termnote -->
815
- <xsl:template match="itu:termnote" mode="contents">
816
- <xsl:param name="sectionNum"/>
817
- <xsl:variable name="level">
818
- <xsl:call-template name="getLevel"/>
819
- </xsl:variable>
820
- <xsl:variable name="section">
821
- <xsl:call-template name="getSection">
822
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
823
- </xsl:call-template>
824
- </xsl:variable>
825
- <item level="" id="{@id}" display="false" type="note" section="{$section}">
826
- <xsl:attribute name="topsection">
827
- <xsl:call-template name="getTopSection">
828
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
829
- </xsl:call-template>
830
- </xsl:attribute>
831
- <xsl:number/>
832
- </item>
833
- <xsl:apply-templates mode="contents">
834
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
835
- </xsl:apply-templates>
532
+ <xsl:template match="itu:br" mode="contents_item" priority="2">
533
+ <fo:inline> </fo:inline>
836
534
  </xsl:template>
837
535
 
536
+
838
537
 
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:attribute name="topsection">
853
- <xsl:call-template name="getTopSection">
854
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
855
- </xsl:call-template>
856
- </xsl:attribute>
857
- <xsl:number/>
858
- </item>
859
- <xsl:apply-templates mode="contents">
860
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
861
- </xsl:apply-templates>
862
- </xsl:template>
538
+ <xsl:template match="itu:bibitem" mode="contents"/>
863
539
 
864
- <xsl:template match="itu:li" mode="contents">
865
- <xsl:param name="sectionNum"/>
866
- <item level="" id="{@id}" display="false" type="li">
867
- <xsl:attribute name="section">
868
- <xsl:call-template name="getListItemFormat"/>
869
- </xsl:attribute>
870
- </item>
871
- <xsl:apply-templates mode="contents">
872
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
873
- </xsl:apply-templates>
540
+ <xsl:template match="itu:references" mode="contents">
541
+ <xsl:apply-templates mode="contents"/>
874
542
  </xsl:template>
875
543
 
544
+
545
+
876
546
  <xsl:template name="getListItemFormat">
877
547
  <xsl:variable name="level">
878
548
  <xsl:variable name="numtmp">
@@ -910,18 +580,7 @@
910
580
  </xsl:otherwise>
911
581
  </xsl:choose>
912
582
  </xsl:template>
913
-
914
- <xsl:template match="itu:xref" mode="contents">
915
- <xsl:param name="sectionNum"/>
916
- <item level="" id="{generate-id()}" display="false" type="xref">
917
-
918
- <xsl:attribute name="topsection">
919
- <xsl:call-template name="getTopSection">
920
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
921
- </xsl:call-template>
922
- </xsl:attribute>
923
- </item>
924
- </xsl:template>
583
+
925
584
 
926
585
  <!-- ============================= -->
927
586
  <!-- ============================= -->
@@ -932,18 +591,23 @@
932
591
  <!-- ============================= -->
933
592
 
934
593
  <!-- Summary -->
935
- <xsl:template match="itu:itu-standard/itu:preface/itu:abstract[@id = '_summary']">
594
+ <xsl:template match="itu:itu-standard/itu:preface/itu:abstract[@id = '_summary']" priority="3">
936
595
  <fo:block font-size="12pt">
937
596
  <xsl:value-of select="$linebreak"/>
938
597
  <xsl:value-of select="$linebreak"/>
939
598
  </fo:block>
940
- <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
941
- <xsl:text>Summary</xsl:text>
599
+ <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
600
+ <xsl:variable name="title-summary">
601
+ <xsl:call-template name="getTitle">
602
+ <xsl:with-param name="name" select="'title-summary'"/>
603
+ </xsl:call-template>
604
+ </xsl:variable>
605
+ <xsl:value-of select="$title-summary"/>
942
606
  </fo:block>
943
607
  <xsl:apply-templates/>
944
608
  </xsl:template>
945
609
 
946
- <xsl:template match="itu:preface/itu:clause">
610
+ <xsl:template match="itu:preface/itu:clause" priority="3">
947
611
  <fo:block font-size="12pt">
948
612
  <xsl:value-of select="$linebreak"/>
949
613
  <xsl:value-of select="$linebreak"/>
@@ -951,7 +615,7 @@
951
615
  <xsl:apply-templates/>
952
616
  </xsl:template>
953
617
 
954
- <xsl:template match="itu:preface//itu:title">
618
+ <xsl:template match="itu:preface//itu:title" priority="3">
955
619
  <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
956
620
  <xsl:apply-templates/>
957
621
  </fo:block>
@@ -964,7 +628,6 @@
964
628
  <!-- PARAGRAPHS -->
965
629
  <!-- ============================= -->
966
630
  <xsl:template match="itu:p | itu:sections/itu:p">
967
- <xsl:param name="sectionNum"/>
968
631
  <fo:block margin-top="6pt">
969
632
  <xsl:attribute name="text-align">
970
633
  <xsl:choose>
@@ -978,35 +641,25 @@
978
641
  <xsl:otherwise>justify</xsl:otherwise>
979
642
  </xsl:choose>
980
643
  </xsl:attribute>
981
- <xsl:apply-templates>
982
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
983
- </xsl:apply-templates>
644
+ <xsl:apply-templates/>
984
645
  </fo:block>
985
646
  </xsl:template>
986
647
 
987
- <xsl:template match="itu:note">
648
+ <!-- <xsl:template match="itu:note">
988
649
  <fo:block id="{@id}">
989
- <xsl:apply-templates/>
650
+ <xsl:apply-templates />
990
651
  </fo:block>
991
652
  </xsl:template>
992
653
 
993
- <xsl:template match="itu:note/itu:p" name="note">
994
- <xsl:variable name="id" select="ancestor::*[local-name() = 'clause'][1]/@id"/>
654
+ <xsl:template match="itu:note/itu:p" name="note">
995
655
  <fo:block font-size="11pt" space-before="4pt" text-align="justify">
996
656
  <xsl:if test="ancestor::itu:figure">
997
657
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
998
- </xsl:if>
999
- <xsl:value-of select="$title-note"/>
1000
- <!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
1001
- <xsl:if test="count(//itu:note[ancestor::*[local-name() = 'clause'][1][@id = $id] and not (ancestor::itu:table)]) &gt; 1">
1002
- <xsl:number count="itu:note[ancestor::*[local-name() = 'clause'][1][@id = $id] and not (ancestor::itu:table)]" level="any"/>
1003
658
  </xsl:if>
1004
- <!-- <xsl:number count="itu:note"/> --><xsl:text> </xsl:text>
1005
- <!-- </xsl:if> -->
1006
- <xsl:text>– </xsl:text>
1007
- <xsl:apply-templates/>
659
+ <xsl:apply-templates select="../itu:name" mode="presentation"/>
660
+ <xsl:apply-templates />
1008
661
  </fo:block>
1009
- </xsl:template>
662
+ </xsl:template> -->
1010
663
 
1011
664
 
1012
665
  <!-- ============================= -->
@@ -1072,32 +725,6 @@
1072
725
  <!-- ============================= -->
1073
726
 
1074
727
 
1075
- <xsl:template match="text()">
1076
- <xsl:value-of select="."/>
1077
- </xsl:template>
1078
-
1079
-
1080
- <!-- calculate main section number (1,2,3) and pass it deep into templates -->
1081
- <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
1082
- <xsl:template match="itu:itu-standard/itu:sections/*">
1083
- <xsl:param name="sectionNum"/>
1084
- <xsl:param name="sectionNumSkew" select="-1"/>
1085
- <fo:block>
1086
- <xsl:variable name="sectionNum_">
1087
- <xsl:choose>
1088
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1089
- <xsl:when test="$sectionNumSkew != -1">
1090
- <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!-- itu:sections/itu:clause | itu:sections/itu:terms -->
1091
- <xsl:value-of select="$number + $sectionNumSkew"/>
1092
- </xsl:when>
1093
- </xsl:choose>
1094
- </xsl:variable>
1095
- <xsl:apply-templates>
1096
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1097
- </xsl:apply-templates>
1098
- </fo:block>
1099
- </xsl:template>
1100
-
1101
728
 
1102
729
  <xsl:template match="itu:clause[@id='draft-warning']/itu:title" mode="caution">
1103
730
  <fo:block font-size="16pt" font-family="Times New Roman" font-style="italic" font-weight="bold" text-align="center">
@@ -1111,18 +738,34 @@
1111
738
  </fo:block>
1112
739
  </xsl:template>
1113
740
 
741
+ <!-- ====== -->
742
+ <!-- title -->
743
+ <!-- ====== -->
744
+ <xsl:template match="itu:annex/itu:title">
745
+ <fo:block font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
746
+ <fo:block><xsl:apply-templates/></fo:block>
747
+ <fo:block font-size="12pt" font-weight="normal" margin-top="6pt">
748
+ <xsl:choose>
749
+ <xsl:when test="parent::*[@obligation = 'informative']">
750
+ <xsl:text>(This appendix does not form an integral part of this Recommendation.)</xsl:text>
751
+ </xsl:when>
752
+ <xsl:otherwise>
753
+ <xsl:text>(This annex forms an integral part of this Recommendation.)</xsl:text>
754
+ </xsl:otherwise>
755
+ </xsl:choose>
756
+ </fo:block>
757
+ </fo:block>
758
+ </xsl:template>
759
+
760
+ <!-- Bibliography -->
761
+ <xsl:template match="itu:references[position() &gt; 1]/itu:title">
762
+ <fo:block font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
763
+ <xsl:apply-templates/>
764
+ </fo:block>
765
+ </xsl:template>
766
+
1114
767
  <xsl:template match="itu:title">
1115
- <xsl:param name="sectionNum"/>
1116
-
1117
- <xsl:variable name="id">
1118
- <xsl:call-template name="getId"/>
1119
- </xsl:variable>
1120
768
 
1121
- <xsl:variable name="parent-name" select="local-name(..)"/>
1122
- <xsl:variable name="references_num_current">
1123
- <xsl:number level="any" count="itu:references"/>
1124
- </xsl:variable>
1125
-
1126
769
  <xsl:variable name="level">
1127
770
  <xsl:call-template name="getLevel"/>
1128
771
  </xsl:variable>
@@ -1150,55 +793,10 @@
1150
793
  </xsl:choose>
1151
794
  </xsl:variable>
1152
795
 
1153
- <xsl:variable name="section">
1154
- <xsl:call-template name="getSection">
1155
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1156
- </xsl:call-template>
1157
- </xsl:variable>
1158
-
1159
- <xsl:choose>
1160
- <xsl:when test="$parent-name = 'annex'">
1161
- <fo:block id="{$id}" font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
1162
- <fo:block margin-bottom="18pt">
1163
- <fo:inline id="{@id}"><xsl:value-of select="$section"/></fo:inline>
1164
- </fo:block>
1165
- <fo:block><xsl:apply-templates/></fo:block>
1166
- <fo:block font-size="12pt" font-weight="normal" margin-top="6pt">
1167
- <xsl:choose>
1168
- <xsl:when test="parent::*[@obligation = 'informative']">
1169
- <xsl:text>(This appendix does not form an integral part of this Recommendation.)</xsl:text>
1170
- </xsl:when>
1171
- <xsl:otherwise>
1172
- <xsl:text>(This annex forms an integral part of this Recommendation.)</xsl:text>
1173
- </xsl:otherwise>
1174
- </xsl:choose>
1175
- </fo:block>
1176
- </fo:block>
1177
- </xsl:when>
1178
- <xsl:when test="$parent-name = 'references' and $references_num_current != 1">
1179
- <fo:block id="{$id}" font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
1180
- <xsl:apply-templates/>
1181
- </fo:block>
1182
- </xsl:when>
1183
- <xsl:otherwise>
1184
- <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always">
1185
- <xsl:value-of select="$section"/>
1186
- <fo:inline>
1187
- <xsl:attribute name="padding-right">
1188
- <xsl:choose>
1189
- <xsl:when test="$level = 5">6mm</xsl:when>
1190
- <xsl:when test="$level = 4">9mm</xsl:when>
1191
- <xsl:when test="$level = 3">5mm</xsl:when>
1192
- <xsl:when test="$level = 2">8mm</xsl:when>
1193
- <xsl:otherwise>11mm</xsl:otherwise>
1194
- </xsl:choose>
1195
- </xsl:attribute>
1196
- <xsl:text> </xsl:text>
1197
- </fo:inline>
1198
- <xsl:apply-templates/>
1199
- </fo:block>
1200
- </xsl:otherwise>
1201
- </xsl:choose>
796
+ <fo:block font-size="{$font-size}" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always">
797
+ <xsl:apply-templates/>
798
+ </fo:block>
799
+
1202
800
  </xsl:template>
1203
801
 
1204
802
 
@@ -1208,6 +806,9 @@
1208
806
  </fo:block>
1209
807
  </xsl:template>
1210
808
 
809
+ <!-- ====== -->
810
+ <!-- ====== -->
811
+
1211
812
  <xsl:template match="itu:legal-statement//itu:p | itu:license-statement//itu:p">
1212
813
  <fo:block margin-top="6pt">
1213
814
  <xsl:apply-templates/>
@@ -1232,12 +833,10 @@
1232
833
  </xsl:template>
1233
834
 
1234
835
 
1235
- <xsl:template match="itu:preferred">
1236
- <xsl:param name="sectionNum"/>
836
+ <xsl:template match="itu:preferred">
1237
837
  <!-- DEBUG need -->
1238
838
  <fo:block space-before="6pt" text-align="justify">
1239
- <fo:inline id="{../@id}" padding-right="5mm" font-weight="bold">
1240
- <!-- <xsl:value-of select="$sectionNum"/><xsl:number format=".1" level="multiple" count="itu:clause/itu:clause | itu:clause/itu:terms | itu:terms/itu:term"/> -->
839
+ <fo:inline padding-right="5mm" font-weight="bold">
1241
840
  <xsl:variable name="level">
1242
841
  <xsl:call-template name="getLevel"/>
1243
842
  </xsl:variable>
@@ -1249,12 +848,7 @@
1249
848
  <xsl:otherwise>5mm</xsl:otherwise>
1250
849
  </xsl:choose>
1251
850
  </xsl:attribute>
1252
- <xsl:variable name="section">
1253
- <xsl:call-template name="getSection">
1254
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1255
- </xsl:call-template>
1256
- </xsl:variable>
1257
- <xsl:value-of select="$section"/>
851
+ <xsl:apply-templates select="ancestor::itu:term/itu:name" mode="presentation"/>
1258
852
  </fo:inline>
1259
853
  <fo:inline font-weight="bold">
1260
854
  <xsl:apply-templates/>
@@ -1263,7 +857,7 @@
1263
857
  <xsl:variable name="citeas" select="../itu:termsource/itu:origin/@citeas"/>
1264
858
  <xsl:choose>
1265
859
  <xsl:when test="contains($citeas, '[')">
1266
- <xsl:text> </xsl:text><xsl:value-of select="$citeas" disable-output-escaping="yes"/>
860
+ <xsl:text> </xsl:text><xsl:value-of select="$citeas"/> <!-- disable-output-escaping="yes" -->
1267
861
  </xsl:when>
1268
862
  <xsl:otherwise>
1269
863
  <xsl:text> [</xsl:text><xsl:value-of select="$citeas"/><xsl:text>]</xsl:text>
@@ -1271,18 +865,17 @@
1271
865
  </xsl:choose>
1272
866
  </xsl:if>
1273
867
  <xsl:text>: </xsl:text>
1274
- <xsl:apply-templates select="following-sibling::itu:definition/node()" mode="process"/> <!-- -->
868
+ <xsl:apply-templates select="following-sibling::itu:definition/node()" mode="process"/>
1275
869
  </fo:block>
1276
870
  <!-- <xsl:if test="following-sibling::itu:table">
1277
871
  <fo:block space-after="18pt">&#xA0;</fo:block>
1278
872
  </xsl:if> -->
1279
873
  </xsl:template>
1280
874
 
1281
- <xsl:template match="itu:definition/itu:p"/>
1282
- <xsl:template match="itu:definition/itu:formula"/>
875
+ <xsl:template match="itu:definition/itu:p" priority="2"/>
876
+ <xsl:template match="itu:definition/itu:formula" priority="2"/>
1283
877
 
1284
- <xsl:template match="itu:definition/itu:p" mode="process"> <!-- -->
1285
- <xsl:param name="sectionNum"/>
878
+ <xsl:template match="itu:definition/itu:p" mode="process" priority="2">
1286
879
  <xsl:choose>
1287
880
  <xsl:when test="position() = 1">
1288
881
  <fo:inline>
@@ -1291,9 +884,7 @@
1291
884
  </xsl:when>
1292
885
  <xsl:otherwise>
1293
886
  <fo:block margin-top="6pt" text-align="justify">
1294
- <xsl:apply-templates>
1295
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1296
- </xsl:apply-templates>
887
+ <xsl:apply-templates/>
1297
888
  </fo:block>
1298
889
  </xsl:otherwise>
1299
890
  </xsl:choose>
@@ -1366,66 +957,6 @@
1366
957
  </xsl:element>
1367
958
  </xsl:template>
1368
959
 
1369
-
1370
-
1371
- <xsl:template match="itu:figure">
1372
- <fo:block-container id="{@id}">
1373
- <fo:block>
1374
- <xsl:apply-templates/>
1375
- </fo:block>
1376
- <xsl:call-template name="fn_display_figure"/>
1377
- <xsl:for-each select="itu:note//itu:p">
1378
- <xsl:call-template name="note"/>
1379
- </xsl:for-each>
1380
- <fo:block font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="6pt" keep-with-previous="always">
1381
- <xsl:variable name="itemnumber">
1382
- <xsl:call-template name="getItemNumber">
1383
- <xsl:with-param name="brackets" select="'false'"/>
1384
- </xsl:call-template>
1385
- </xsl:variable>
1386
- <xsl:choose>
1387
- <xsl:when test="local-name(*) = 'figure' and normalize-space(itu:name) = ''"/><!-- don't show 'Figure' for outer figure without name -->
1388
- <xsl:when test="$itemnumber != ''">
1389
- <xsl:value-of select="$title-figure"/>
1390
- <xsl:value-of select="$itemnumber"/>
1391
- </xsl:when>
1392
- </xsl:choose>
1393
- <xsl:if test="itu:name">
1394
- <xsl:text> — </xsl:text>
1395
- <xsl:apply-templates select="itu:name" mode="process"/>
1396
- </xsl:if>
1397
- </fo:block>
1398
- </fo:block-container>
1399
- </xsl:template>
1400
-
1401
- <xsl:template match="itu:figure/itu:name" mode="process">
1402
- <xsl:apply-templates/>
1403
- </xsl:template>
1404
-
1405
- <xsl:template match="itu:figure/itu:name"/>
1406
- <xsl:template match="itu:figure/itu:fn" priority="2"/>
1407
- <xsl:template match="itu:figure/itu:note"/>
1408
-
1409
- <!-- itu:figure/itu:image -->
1410
- <xsl:template match="itu:image">
1411
- <fo:block text-align="center">
1412
- <!-- <fo:external-graphic src="{@src}" content-width="75%" content-height="scale-to-fit" scaling="uniform"/> -->
1413
- <fo:external-graphic src="{@src}" fox:alt-text="Image {@alt}" width="75%" content-height="100%" content-width="scale-to-fit" scaling="uniform"/>
1414
- </fo:block>
1415
- </xsl:template>
1416
-
1417
- <xsl:template match="itu:figure[@class = 'pseudocode']">
1418
- <fo:block>
1419
- <xsl:apply-templates/>
1420
- </fo:block>
1421
- </xsl:template>
1422
-
1423
- <xsl:template match="itu:figure[@class = 'pseudocode']//itu:p">
1424
- <fo:block font-size="10pt" margin-top="6pt" margin-bottom="6pt">
1425
- <xsl:apply-templates/>
1426
- </fo:block>
1427
- </xsl:template>
1428
-
1429
960
 
1430
961
 
1431
962
  <!-- Examples:
@@ -1458,23 +989,16 @@
1458
989
  <xsl:apply-templates select="./itu:note" mode="process"/>
1459
990
  </xsl:template>
1460
991
 
1461
- <xsl:template match="itu:ul//itu:note | itu:ol//itu:note"/>
992
+ <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" priority="2"/>
1462
993
  <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" mode="process">
1463
994
  <fo:block id="{@id}">
995
+ <xsl:apply-templates select="../itu:name" mode="presentation"/>
1464
996
  <xsl:apply-templates mode="process"/>
1465
997
  </fo:block>
1466
998
  </xsl:template>
1467
- <xsl:template match="itu:ul//itu:note/itu:p | itu:ol//itu:note/itu:p" mode="process">
1468
- <xsl:variable name="id" select="ancestor::*[local-name() = 'clause'][1]/@id"/>
999
+ <xsl:template match="itu:ul//itu:note/itu:name | itu:ol//itu:note/itu:name" mode="process"/>
1000
+ <xsl:template match="itu:ul//itu:note/itu:p | itu:ol//itu:note/itu:p" mode="process">
1469
1001
  <fo:block font-size="11pt" margin-top="4pt">
1470
- <xsl:value-of select="$title-note"/>
1471
- <!-- <xsl:if test="../following-sibling::itu:note or ../preceding-sibling::itu:note"> -->
1472
- <xsl:if test="count(//itu:note[ancestor::*[@id = $id] and not (ancestor::itu:table)]) &gt; 1">
1473
- <xsl:number count="itu:note[ancestor::*[@id = $id] and not (ancestor::itu:table)]" level="any"/>
1474
- </xsl:if>
1475
- <!-- <xsl:number count="itu:note"/> --><xsl:text> </xsl:text>
1476
- <!-- </xsl:if> -->
1477
- <xsl:text>– </xsl:text>
1478
1002
  <xsl:apply-templates/>
1479
1003
  </fo:block>
1480
1004
  </xsl:template>
@@ -1501,8 +1025,10 @@
1501
1025
  </xsl:if> -->
1502
1026
  </xsl:if>
1503
1027
  <fo:block-container margin-left="0mm">
1504
- <xsl:apply-templates/>
1505
- <xsl:apply-templates select=".//itu:note" mode="process"/>
1028
+ <fo:block>
1029
+ <xsl:apply-templates/>
1030
+ <xsl:apply-templates select=".//itu:note" mode="process"/>
1031
+ </fo:block>
1506
1032
  </fo:block-container>
1507
1033
  </fo:block-container>
1508
1034
  </fo:list-item-body>
@@ -1530,34 +1056,14 @@
1530
1056
  </xsl:template>
1531
1057
 
1532
1058
 
1533
- <xsl:template match="itu:termnote">
1534
- <fo:block id="{@id}" margin-top="4pt">
1535
- <xsl:value-of select="$title-note"/>
1536
- <xsl:if test="following-sibling::itu:termnote or preceding-sibling::itu:termnote">
1537
- <xsl:number/><xsl:text> </xsl:text>
1538
- </xsl:if>
1539
- <xsl:text>– </xsl:text>
1540
- <xsl:apply-templates/>
1541
- </fo:block>
1542
- </xsl:template>
1543
- <xsl:template match="itu:termnote/itu:p">
1544
- <xsl:apply-templates/>
1545
- </xsl:template>
1546
-
1547
-
1548
- <xsl:template match="itu:annex">
1549
- <fo:block break-after="page"/>
1550
- <xsl:apply-templates/>
1551
- </xsl:template>
1552
-
1553
-
1059
+ <!--
1554
1060
  <xsl:template match="itu:annex/itu:clause">
1555
- <xsl:apply-templates/>
1556
- </xsl:template>
1061
+ <xsl:apply-templates />
1062
+ </xsl:template> -->
1557
1063
 
1558
1064
  <!-- Clause without title -->
1559
- <xsl:template match="itu:clause[not(itu:title)]">
1560
- <xsl:param name="sectionNum"/>
1065
+ <!-- <xsl:template match="itu:clause[not(itu:title)]">
1066
+
1561
1067
  <xsl:variable name="section">
1562
1068
  <xsl:for-each select="*[1]">
1563
1069
  <xsl:call-template name="getSection">
@@ -1568,19 +1074,9 @@
1568
1074
  <fo:block space-before="12pt" space-after="18pt" font-weight="bold">
1569
1075
  <fo:inline id="{@id}"><xsl:value-of select="$section"/></fo:inline>
1570
1076
  </fo:block>
1571
- <xsl:apply-templates>
1572
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1573
- </xsl:apply-templates>
1574
- </xsl:template>
1575
-
1576
- <xsl:template match="itu:formula" name="formula">
1577
- <xsl:param name="sectionNum"/>
1578
- <fo:block id="{@id}" margin-top="6pt" margin-bottom="6pt"> <!-- text-align="center" -->
1579
- <xsl:apply-templates/>
1580
- <fo:inline keep-together.within-line="always">
1581
- </fo:inline>
1582
- </fo:block>
1583
- </xsl:template>
1077
+ <xsl:apply-templates />
1078
+ </xsl:template> -->
1079
+
1584
1080
 
1585
1081
  <xsl:template match="itu:formula/itu:stem">
1586
1082
  <fo:table table-layout="fixed" width="100%">
@@ -1594,11 +1090,8 @@
1594
1090
  </fo:block>
1595
1091
  </fo:table-cell>
1596
1092
  <fo:table-cell display-align="center">
1597
- <fo:block text-align="right" margin-left="0mm">
1598
- <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/ancestor::itu:formula[1]/@id]/@number"/>
1599
- <!-- <xsl:call-template name="getItemNumber">
1600
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1601
- </xsl:call-template> -->
1093
+ <fo:block text-align="right" margin-left="0mm">
1094
+ <xsl:apply-templates select="../itu:name" mode="presentation"/>
1602
1095
  </fo:block>
1603
1096
  </fo:table-cell>
1604
1097
  </fo:table-row>
@@ -1606,11 +1099,9 @@
1606
1099
  </fo:table>
1607
1100
  </xsl:template>
1608
1101
 
1102
+
1609
1103
  <xsl:template match="itu:formula" mode="process">
1610
- <xsl:param name="sectionNum"/>
1611
- <xsl:call-template name="formula">
1612
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1613
- </xsl:call-template>
1104
+ <xsl:call-template name="formula"/>
1614
1105
  </xsl:template>
1615
1106
 
1616
1107
  <xsl:template match="mathml:math" priority="2">
@@ -1621,198 +1112,21 @@
1621
1112
  </fo:inline>
1622
1113
  </xsl:template>
1623
1114
 
1624
- <xsl:template match="itu:xref">
1625
- <xsl:param name="sectionNum"/>
1626
-
1627
- <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
1628
- <xsl:variable name="topsection" select="xalan:nodeset($contents)//item[@id = current()/@target]/@topsection"/>
1629
- <xsl:variable name="xref_id" select="generate-id()"/>
1630
- <xsl:variable name="xreftopsection" select="xalan:nodeset($contents)//item[@id = $xref_id]/@topsection"/>
1631
-
1632
- <xsl:variable name="text" select="xalan:nodeset($contents)//item[@id = current()/@target]/text()"/>
1633
-
1634
- <fo:basic-link internal-destination="{@target}" color="blue" text-decoration="underline" fox:alt-text="{@target}">
1635
- <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
1636
- <xsl:variable name="level" select="xalan:nodeset($contents)//item[@id =current()/@target]/@level"/>
1637
- <xsl:choose>
1638
- <xsl:when test="($type = 'clause' or $type = 'term') and $level = 1"><xsl:value-of select="$title-clause"/></xsl:when><!-- and not (ancestor::annex) -->
1639
- <xsl:when test="($type = 'clause' or $type = 'term') and $level &gt; 1"><xsl:value-of select="translate($title-clause, $upper, $lower)"/></xsl:when>
1640
- <xsl:when test="$type = 'example'">Example </xsl:when>
1641
- <xsl:when test="$type = 'figure'"/>
1642
- <xsl:when test="$type = 'formula'"/>
1643
- <xsl:when test="$type = 'table'"/>
1644
- <xsl:when test="$type = 'note'"><xsl:text>Note </xsl:text><xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/text()"/></xsl:when>
1645
-
1646
- <xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
1647
- </xsl:choose>
1648
-
1649
- <xsl:choose>
1650
- <xsl:when test="$type = 'example'">
1651
- <xsl:variable name="currentSection">
1652
- <xsl:call-template name="getSection"/>
1653
- </xsl:variable>
1654
- <xsl:if test="not(contains($section, $currentSection))">
1655
- <xsl:text>in </xsl:text>
1656
- <xsl:if test="$level = 1">
1657
- <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
1658
- <xsl:text> </xsl:text>
1659
- </xsl:if>
1660
- <xsl:value-of select="$section"/>
1661
- </xsl:if>
1662
- </xsl:when>
1663
-
1664
- <xsl:when test="$type = 'figure'">
1665
- <xsl:value-of select="$text"/>
1666
- </xsl:when>
1667
-
1668
- <xsl:when test="$type = 'formula'">
1669
- <xsl:value-of select="$text"/>
1670
- <!-- <xsl:variable name="currentSection">
1671
- <xsl:call-template name="getSection"/>
1672
- </xsl:variable>
1673
-
1674
- <xsl:if test="not(contains($section, $currentSection))"> -->
1675
- <xsl:if test="$topsection != $xreftopsection">
1676
- <xsl:text> in </xsl:text>
1677
- <xsl:if test="$level = 1">
1678
- <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
1679
- <xsl:text> </xsl:text>
1680
- </xsl:if>
1681
- <xsl:value-of select="$section"/>
1682
- </xsl:if>
1683
- </xsl:when>
1684
-
1685
- <xsl:when test="$type = 'table'">
1686
- <xsl:value-of select="$text"/>
1687
- </xsl:when>
1688
-
1689
- <xsl:when test="$type = 'note'">
1690
- <xsl:variable name="currentSection">
1691
- <xsl:call-template name="getSection"/>
1692
- </xsl:variable>
1693
- <xsl:if test="not(contains($section, $currentSection))">
1694
- <xsl:text> in </xsl:text>
1695
- <xsl:choose>
1696
- <xsl:when test="$level = 1"><xsl:value-of select="$title-clause"/></xsl:when>
1697
- <xsl:when test="$level &gt; 1"><xsl:value-of select="translate($title-clause, $upper, $lower)"/></xsl:when>
1698
- </xsl:choose>
1699
- <xsl:value-of select="$section"/>
1700
- </xsl:if>
1701
- </xsl:when>
1702
- <!-- <xsl:when test="$type = 'formula'">
1703
-
1704
- <xsl:value-of select="$section"/>
1705
-
1706
- <xsl:variable name="currentSection">
1707
- <xsl:call-template name="getSection"/>
1708
- </xsl:variable>
1709
- <xsl:variable name="refSection">
1710
- <xsl:for-each select="//*[@id = @target]/ancestor::itu:clause">
1711
- <xsl:call-template name="getSection"/>
1712
- </xsl:for-each>
1713
- </xsl:variable>
1714
- currentSection=<xsl:value-of select="$currentSection"/>
1715
- refSection=<xsl:value-of select="$refSection"/>
1716
- <xsl:if test="$currentSection != $refSection">
1717
- <xsl:text>in </xsl:text>
1718
- <xsl:value-of select="xalan:nodeset($contents)//item[@id = current()/@target]/@parent"/>
1719
- <xsl:text> </xsl:text>
1720
- <xsl:value-of select="$refSection"/>
1721
- </xsl:if>
1722
- </xsl:when> -->
1723
- <xsl:otherwise>
1724
- <xsl:value-of select="$section"/>
1725
- </xsl:otherwise>
1726
- </xsl:choose>
1727
-
1728
- </fo:basic-link>
1729
- </xsl:template>
1730
-
1731
-
1732
- <xsl:template match="itu:example">
1733
- <fo:block id="{@id}" font-size="10pt" margin-top="12pt">
1734
- <xsl:apply-templates/>
1735
- </fo:block>
1736
- </xsl:template>
1737
-
1738
- <xsl:template match="itu:example/itu:name">
1739
- <fo:block font-weight="bold">
1740
- <xsl:value-of select="normalize-space($title-example)"/>
1741
- <xsl:if test="count(ancestor::itu:clause[1]/itu:example) &gt; 1">
1742
- <xsl:text> </xsl:text><xsl:number count="itu:example"/>
1743
- </xsl:if>
1744
- <xsl:text> — </xsl:text>
1745
- <xsl:apply-templates/>
1746
- </fo:block>
1747
- </xsl:template>
1748
1115
 
1749
- <xsl:template match="itu:example/itu:p">
1750
- <fo:block font-size="10pt" margin-top="12pt" margin-bottom="12pt">
1116
+ <xsl:template match="itu:references[1]">
1117
+ <fo:block id="{@id}">
1751
1118
  <xsl:apply-templates/>
1752
1119
  </fo:block>
1753
1120
  </xsl:template>
1754
-
1755
-
1756
- <xsl:template match="itu:eref">
1757
- <fo:inline>
1758
- <xsl:if test="@type = 'footnote'">
1759
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1760
- <xsl:attribute name="font-size">80%</xsl:attribute>
1761
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1762
- <xsl:attribute name="vertical-align">super</xsl:attribute>
1763
- </xsl:if>
1764
- <fo:basic-link internal-destination="{@bibitemid}" color="blue" text-decoration="underline" fox:alt-text="{@citeas}">
1765
- <xsl:choose>
1766
- <xsl:when test="contains(@citeas, '[')">
1767
- <xsl:value-of select="@citeas" disable-output-escaping="yes"/>
1768
- </xsl:when>
1769
- <xsl:otherwise>
1770
- <xsl:text>[</xsl:text><xsl:value-of select="@citeas" disable-output-escaping="yes"/><xsl:text>]</xsl:text>
1771
- </xsl:otherwise>
1772
- </xsl:choose>
1773
-
1774
- <xsl:apply-templates select="itu:localityStack"/>
1775
-
1776
- </fo:basic-link>
1777
- </fo:inline>
1778
- </xsl:template>
1779
-
1780
- <xsl:template match="itu:locality">
1781
- <xsl:choose>
1782
- <xsl:when test="@type ='section'">Section</xsl:when>
1783
- <xsl:otherwise/>
1784
- </xsl:choose>
1785
- <xsl:value-of select="itu:referenceFrom"/>
1786
- </xsl:template>
1787
-
1121
+
1788
1122
  <xsl:template match="itu:references[position() &gt; 1]">
1789
1123
  <fo:block break-after="page"/>
1124
+ <fo:block id="{@id}">
1790
1125
  <xsl:apply-templates/>
1791
- </xsl:template>
1792
-
1793
- <xsl:template match="itu:quote">
1794
- <fo:block margin-top="6pt" margin-left="12mm" margin-right="12mm">
1795
- <xsl:apply-templates select=".//itu:p"/>
1796
1126
  </fo:block>
1797
- <xsl:if test="itu:author or itu:source">
1798
- <fo:block text-align="right">
1799
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
1800
- <xsl:text>— </xsl:text>
1801
- <xsl:value-of select="itu:author"/>
1802
- <xsl:if test="itu:author and itu:source">
1803
- <xsl:text>, </xsl:text>
1804
- </xsl:if>
1805
- <xsl:apply-templates select="itu:source"/>
1806
- </fo:block>
1807
- </xsl:if>
1808
1127
  </xsl:template>
1128
+
1809
1129
 
1810
- <xsl:template match="itu:source">
1811
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
1812
- <xsl:value-of select="@citeas" disable-output-escaping="yes"/>
1813
- <xsl:apply-templates select="itu:localityStack"/>
1814
- </fo:basic-link>
1815
- </xsl:template>
1816
1130
 
1817
1131
  <xsl:template name="insertHeaderFooter">
1818
1132
  <fo:static-content flow-name="footer-even" font-family="Times New Roman" font-size="11pt">
@@ -1859,470 +1173,11 @@
1859
1173
 
1860
1174
 
1861
1175
  <xsl:variable name="Image-Fond-Rec">
1862
- <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAHoAAANLCAMAAAC5SXlDAAADAFBMVEX2kYX1zcLNeITqUw/+7Nnh
1863
- cnP3yr3/jD72iYD+xZnWY2vwhH7z0MbSW2bCSVzmgX3so5n3vrG5RFy5SGD5wr7+9evUbXH5h0Tz
1864
- mYz+z6uuLErblZj/ZQD+n1vDUmP3xLiyMU3+qGv4wbTsaze1OlT+eRryraD+lkzDWmvpubPyoZL+
1865
- vIu9PVT2jILcgoLNVGL1pHfoi4PcfHv2j4TynI7/sn/cChv0lYnyv7Xim5rps67ztqjyqJrmZmv+
1866
- 4svqlIr/2L/hlJL2iH/2uazyrJ3UdXrynpDypJXVjZPzsKHLZHDrnZPmfHrUhIz//vztwrn+bAna
1867
- cXPz1MrHS1znoZ7uqqLeior02c/YFyf53drKYW3CRVn//PzjkY72vK6pIkTjiYT+giz0l4r1uKrr
1868
- fnrkravyppj0183LUF/4cx/LWWXhjouzNVHNaXSzLkupH0LxsabuekzrkIfKXWnzuZ/fo6PCQlfk
1869
- mJX+2bWuJkb0taapIEP3x7vMc3/ylne4NlDObXj+n1jYhIj00MSkGD/HZXTcZmvkTFLxiIDVaG7+
1870
- bwzcam7rmY7qpaD2kobmeHbUcHbWen/yopPrenf+7uPzsqLWiY7+snbgbnD++PPnqaXzlYnzmIzz
1871
- 08fqhX/+1LTGanrzs6XuycD+3cP+17zyqpvjhYDCVWjonpn+dBXwimX+/Pr+9u/1h3/ATmH+aATz
1872
- 1szyuK/0po3adnjBXm/1lIndf379/fytKUjsgmv0zsLeh4b1longLTe3PVb+0av0s6Tz1cr53NDp
1873
- XR+pI0X++/f2k4fzm4ziO0T0mIv//f3mc3P0rJv3zcv408TWf4XfJS/feXjGV2b0ppL2rZuuLk32
1874
- zMDGaHfuglrwi4O6QFjwk5fgp6jwhFrtiYzsr6jcnJ71lIjzl4v1xMPmWF6uJ0fzn4WmIEPgdnbw
1875
- gXv///7vjoT+/v7+///+//7zz8T+/v/z0MTXX2f00MP9/v30z8P9/f3qcnfhoKDxemHfSRj//v6j
1876
- GT//ZgD///+kGT9CyJ4iAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAVV9J
1877
- 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
- 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
- /6oa+eOErj+8drzzGvnJT37ysY997PdYF/m/4g+N3/wx/NMf47cses13dVkjh530j5/701997TU/
1880
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- L3zhvbyS1Th9663nzp3LanUwryuuuOKd73znTWfedOZLL730I15/m9br03qB1tEbNK5S2ZNHKoZL
1902
- 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
- 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
- GZ2uPByk9w8jW94EiJ5Ne7nuwy6sSRD9+6FEp9PsQtpSHbykgJFO352wulmbAqqbfyx227HH7vAg
1905
- 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
- c+HhzRh573/htQfW3LnPzJ1LYOW0adPuvjsdJXSa7HQm3Xba6Rb6yuuEF14AeHnCp/Pt0yd8I57T
1907
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- ABYEqMdvT+ro52/F8ceD3OirJQRQoDL7Zowq7AFU4RlaBFAuUlhBUAVCKM+kRZACowoJUzgBiALB
1923
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- vCpzkA4/VShIRKmU2EMelU4pLCQLPTQCoaf/TZmVOzpd9Mu1bmFAC8kvZOVS7RKfsHQKfbj3y46r
1933
- VrQaTYVxhE+5ywEpDaDZPR/uJcU2urKYTtCm+Sk95xfLcwjggoCnndMvuD++/A/F49dHe+IswF92
1934
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- JfT1/5NSK4TOFq5YrR0rPFKzXKxbnGGz1LlFe8epY+jya4ApXRagg6nmX6HSb9R+3/jhDy9C7fec
1946
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 96mnTkX1Nyq/D6fK7+bib9R+n2Kl3wyKy3YSo1k1m70sl7qFPtw7jjrASu034RkJS+H2rygR9Qns
1969
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 4zNe5sjdCd5cQIc6TVR+I+JZBL2y0m+u/X7pJSnU5EpNrfvWyu9UqYkGsKXr6Y1HxV7/6jcpu3e0
1980
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- ENepe56awnM/+imgGz7WaQU0WvxS199s989OwJ/BvtlmjY28ffJ8lYR7JTs47jyLfcI2W1SkUFOV
1990
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- E/3ccccdR6JZNsrY0MnOtIulk+j4IeMPcQL5W3mgHpXAwwkRp5JcmqNDRbm7H4ya3HMw8ZyKcudT
2015
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- eJAusPQlUCWe7B4awLa3Ee9+hovF6GVg7QyvsyBLtgqrX9G9ZLeI/tLqVcvV639XXG/rhbeInrG8
2032
- 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
- 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
- bgI9iKvAj1T/zY/RRRgQqOylMF6ronErv+MOA/DN6t2zLwWVy4SB9x59I0q/+/o7qr/PorfoVDcY
2035
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- RpflP+uZDw0rmfLXAOFf1+kdt4OUk02Y2zqg32AOJAOVZjLbY77MqCTRWxKjEgs8ZZAp0VKBmyWe
2049
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- pM1GnLorB+8lp13Q9El7PwltgbrA8qNRFMBPSK/5GyUo2BOeW0IA6lEZwB3PLbSZTej/Ogczm4Ar
2078
- 8ESZ6nB5QhReUDTBnphb2Hfptx9AJ6Xfe97G8Z5hKY7LefPDjx2nupW50knDqparjl8ppxkBlYJV
2079
- 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
- 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
- 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
- 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
- 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
- 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
- uitLWdE1bLZJpXCySHfll878ETWVphsmS8riMXCvf4Hs9wsvnLBOp1Iu/qURT08Ir6VU0bMViK6Q
2086
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- vgEsV3kr1YuOUT1JTwsZ1WNOq56m1YxqP6SvYbXJG65GyE6sZQlUTp5o8haDhzh5fjgNIIl0KGXF
2102
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- TTU+aVRVo2rl1uX3bZ+Y0u3wqMGzCv7LFDhSLVBYMWadeXYYs24r81cHpLBWGsCm+sinn36oV/6M
2126
- 43zhXDVtTN5m/QOVMwFUDrnZOcVW1gK0kEMs5rq6o1Pe2IzsD0z6mre8NF21skPgszTrlygX3aBX
2127
- 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
- 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
- ZcONgRMD27kMIRjN26mQ0q1JM5qjo1I56pLI/rxEBVVySTbXHrA2Bw4VVb6mqr6qqqWoqvQWQ8N2
2130
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- pzWiKPyWaWxcaNPokVaAjk7KlVIQ1RxbaqUnjBia91ERUf2B/CRnAXSCEZBKlwAI4XeHdMCb/qzr
2142
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- mgMmSLwt2uw8Bm5tdOBdlybB4Ybye1kYA8cD4OqmwPU7Bq6vndVD9YozPAR+vYBKUe2KRWoO8OIv
2171
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 84soX+k5s73cqyrzq5lRuSYNMC0slzvO2C2ULJcg8cF8oACbsBQXcik7hFJswDPuAyd//Ywd1Ruw
2194
- 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
- q5rkQb3v7IPDFcdaq89JVcPucK9ejW5h1THNY+Dee7SkuYayHrLDv9659DtZrkfa9KnbnwXRa97Q
2196
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- hMZrDuCmtM1eDs4wxVxddFqYV5muzDiltE1Hcaq5hd5mKlX6uGQ09z60EE21He0nWfpndOYktvKz
2223
- 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
- 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
- H7zkhKU/dW+4ptg6oIUJ0Jg+E+A/7TRrNYzD3GjxIMVjpykl/he6zb73u0XsophH/AKR4g2o7B1z
2226
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +mQTW65OgWYdXRnZPWCkwjdTZ9iVnROj0tGVJX3ObEo8FJSYtj9CoPhq7fe6VP0t5GXUfWvlN+jL
2234
- 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
- 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
- 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
- 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
- T1MVBpHtYi2AdPoaSjaUa0ayXD2q2BxneE4BVHqkEm0qE1SZvqnwlVH6rUBlL6gSb7hro+dCLhdz
2239
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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</xsl:text>
1176
+ <xsl:text>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</xsl:text>
2261
1177
  </xsl:variable>
2262
1178
 
2263
1179
  <xsl:variable name="Image-Logo">
2264
- <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAKEAAABDCAMAAADDA5UNAAADAFBMVEX////0oLP50NnqUHPwgJnk
2265
- IE3nMFnhADP4wM398PPucI3d4u7CyuGHlcS/yN/T2OnoP2b1r7/e5+2Vo8uLnMVpe7WsudXW3ere
2266
- 5+7c5uvb5uvZ5OrL1+Oks9FKY6ZWa6zi5fHhDz/9/v6jr9I6U589V6C6xtzi6u/h6e7c5+zY4+nV
2267
- 4ejS3+efsc9yjbhec7ClsNPx8/hRZ6ksRpjk6/Dm7fK/zt6mt9JxhLl7k71JYqbA0N/J2eKarMxi
2268
- erH74ObDWINrgLYzTpt4iL16jb20vdpTbKqBlsC8zduftM1abq7sYICMW5FCW6LY4+rp7/Pq8PTs
2269
- 8fXo7vO6zN2MoMXS3+aZss1IYaTC1d5keLMdOJDZCDpdY6Pu8vbs8va1xNladK1uhLjK2ePI2OFR
2270
- aqmyydclQZTYgpvSIU/v8/bx9Pevv9Xa5ezW4+pMZqbL2uRnf7RWb6ze6O7UFETjWXry9vj09/gO
2271
- K4nD1d+1ythEX6O90N26z9vW4ujSucfqk6nt8vX2+fr4+vvF0eHT4OfO3ea2zNnDy+Lmq7z7/PzQ
2272
- 3uaFmcJedq+/0tywxdevyNXl3eXvx9P9/v39/f6Yp8xKYKfG1+GOp8arxtTyytT8/f1gdrHM2+XE
2273
- 1uCpxdOauMy6R3Oux9Wjv9F6mL3bydTdPGThZYXidZLWaou4PGnB1N5bf6+nwdOeu85QbqlmirXa
2274
- 5eqZe6m5ztqLrcbmt8bU4Oiduc2XtspNbKe4y9qUq8m70dynw9GAn8CWtcrb2N+lwdE/YKGOsMdM
2275
- aabhLFZih7O+0uC3zdyxyNj///+SsshkfbJUd6yevNDU4ukqR5ehvc9wlrrQTHDJytZVeKx+psHZ
2276
- J1K1vc3Eqrymjang5PCWtszv8fdpjrZNcKh+kMBGaKWGqsR3nr3GVHi3dZOats5HZaZskLdCYqOV
2277
- tMmXe5zJKlZ/pcGQscc4WZ5iYZquZYgxUZqBqMKam7VsTojDNGAqSZeDm7qKka+hQ3OQhqapXYKX
2278
- P3mmFVGSg7LK0uWH32cgAAAAAXRSTlMAQObYZgAAAAFvck5UAc+id5oAAApTSURBVGjezZoNXBPn
2279
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- tTk8Lmd9ZuF6GY+AW3wLtm5D0e3JGXk78ouKivLz0jVes/0DPLx9PVNnErErdu7aXVwSxBuiLKTU
2287
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- THOqFxbIPGMhiOSkOFhzO4jr7YSQjsBlwCwkay22lSTUOCRUwVYclxE4fQcYbWVcPU5C4eXpHGHd
2300
- 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
- UNGPK1KwmgKOMGvHWBsqdRxh8ZWK3FqOUH1ENY4BNDESNSVwhNn5zCBjqm6wrNzMVNfmFUdUNNUm
2302
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- f+vvaUc/1+uG0YZJxbxuZVykqCNweYgICTVI+3Ta0tsJZZBQP6EuP9T8h4ijDWfPNp3vaGxsbT16
2316
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
2325
- v0rL9rg7ifF/FLKviJ4tGb0AAAAASUVORK5CYII=</xsl:text>
1180
+ <xsl:text>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</xsl:text>
2326
1181
  </xsl:variable>
2327
1182
 
2328
1183
  <!-- convert YYYY-MM-DD to (MM/YYYY) -->
@@ -2335,109 +1190,6 @@
2335
1190
  </xsl:if>
2336
1191
  </xsl:template>
2337
1192
 
2338
- <xsl:template name="getLevel">
2339
- <xsl:variable name="level_total" select="count(ancestor::*)"/>
2340
- <xsl:variable name="level">
2341
- <xsl:choose>
2342
- <xsl:when test="ancestor::itu:sections">
2343
- <xsl:value-of select="$level_total - 2"/>
2344
- </xsl:when>
2345
- <xsl:when test="ancestor::itu:bibliography">
2346
- <xsl:value-of select="$level_total - 2"/>
2347
- </xsl:when>
2348
- <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
2349
- <xsl:otherwise>
2350
- <xsl:value-of select="$level_total - 1"/>
2351
- </xsl:otherwise>
2352
- </xsl:choose>
2353
- </xsl:variable>
2354
- <xsl:value-of select="$level"/>
2355
- </xsl:template>
2356
-
2357
- <xsl:template name="getSection">
2358
- <xsl:param name="sectionNum"/>
2359
- <xsl:variable name="level">
2360
- <xsl:call-template name="getLevel"/>
2361
- </xsl:variable>
2362
- <xsl:variable name="section">
2363
- <xsl:choose>
2364
- <xsl:when test="ancestor::itu:bibliography">
2365
- <xsl:value-of select="$sectionNum"/>
2366
- </xsl:when>
2367
- <xsl:when test="ancestor::itu:sections">
2368
- <!-- 1, 2, 3, 4, ... from main section (not annex, bibliography, ...) -->
2369
- <xsl:choose>
2370
- <xsl:when test="$level = 1">
2371
- <xsl:value-of select="$sectionNum"/>
2372
- </xsl:when>
2373
- <xsl:when test="$level &gt;= 2">
2374
- <xsl:variable name="num">
2375
- <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"/>
2376
- </xsl:variable>
2377
- <!-- <xsl:variable name="sectionNum_">
2378
- <xsl:choose>
2379
- <xsl:when test="normalize-space($sectionNum) = ''"><xsl:number format="1" count="itu:sections/*"/></xsl:when>
2380
- <xsl:otherwise>
2381
- <xsl:value-of select="$sectionNum"/>
2382
- </xsl:otherwise>
2383
- </xsl:choose>
2384
- </xsl:variable> -->
2385
- <xsl:value-of select="concat($sectionNum, $num)"/>
2386
- </xsl:when>
2387
- <xsl:otherwise>
2388
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
2389
- </xsl:otherwise>
2390
- </xsl:choose>
2391
- </xsl:when>
2392
- <xsl:when test="ancestor::itu:annex[@obligation = 'informative']">
2393
- <xsl:choose>
2394
- <xsl:when test="$level = 1">
2395
- <xsl:value-of select="$title-appendix"/><xsl:text> </xsl:text>
2396
- <xsl:number format="I" level="any" count="itu:annex[@obligation = 'informative']"/>
2397
- </xsl:when>
2398
- <xsl:otherwise>
2399
- <xsl:number format="I.1" level="multiple" count="itu:annex[@obligation = 'informative'] | itu:clause"/>
2400
- </xsl:otherwise>
2401
- </xsl:choose>
2402
- </xsl:when>
2403
- <xsl:when test="ancestor::itu:annex[not(@obligation) or @obligation != 'informative']">
2404
- <xsl:choose>
2405
- <xsl:when test="$level = 1">
2406
- <xsl:value-of select="$title-annex"/>
2407
- <xsl:choose>
2408
- <xsl:when test="count(//itu:annex) = 1">
2409
- <xsl:choose>
2410
- <xsl:when test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
2411
- <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
2412
- </xsl:when>
2413
- <xsl:otherwise>
2414
- <xsl:number format="A" level="any" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
2415
- </xsl:otherwise>
2416
- </xsl:choose>
2417
- </xsl:when>
2418
- <xsl:otherwise>
2419
- <xsl:number format="A" level="any" count="itu:annex[not(@obligation) or @obligation != 'informative']"/>
2420
- </xsl:otherwise>
2421
- </xsl:choose>
2422
- </xsl:when>
2423
- <xsl:otherwise>
2424
- <xsl:choose>
2425
- <xsl:when test="count(//itu:annex) = 1">
2426
- <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 | -->
2427
- </xsl:when>
2428
- <xsl:otherwise>
2429
- <xsl:number format="A.1" level="multiple" count="itu:annex | itu:clause"/>
2430
- </xsl:otherwise>
2431
- </xsl:choose>
2432
- </xsl:otherwise>
2433
- </xsl:choose>
2434
- </xsl:when>
2435
- <xsl:otherwise>
2436
- </xsl:otherwise>
2437
- </xsl:choose>
2438
- </xsl:variable>
2439
- <xsl:value-of select="$section"/>
2440
- </xsl:template>
2441
1193
 
2442
1194
  <xsl:template name="addLetterSpacing">
2443
1195
  <xsl:param name="text"/>
@@ -2449,77 +1201,128 @@
2449
1201
  </xsl:call-template>
2450
1202
  </xsl:if>
2451
1203
  </xsl:template>
2452
-
2453
- <xsl:template name="getId">
2454
- <xsl:choose>
2455
- <xsl:when test="../@id">
2456
- <xsl:value-of select="../@id"/>
2457
- </xsl:when>
2458
- <xsl:otherwise>
2459
- <xsl:value-of select="concat(local-name(..), '_', text())"/>
2460
- </xsl:otherwise>
2461
- </xsl:choose>
2462
- </xsl:template>
2463
-
2464
- <xsl:template name="getTopSection">
2465
- <xsl:param name="sectionNum"/>
2466
- <xsl:variable name="section">
2467
- <xsl:call-template name="getSection">
2468
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
2469
- </xsl:call-template>
2470
- </xsl:variable>
2471
- <xsl:variable name="topsection_" select="normalize-space(translate($section, '().-',' '))"/>
2472
- <xsl:choose>
2473
- <xsl:when test="contains($topsection_, ' ')">
2474
- <xsl:value-of select="substring-before($topsection_, ' ')"/>
2475
- </xsl:when>
2476
- <xsl:otherwise>
2477
- <xsl:value-of select="$topsection_"/>
2478
- </xsl:otherwise>
2479
- </xsl:choose>
2480
- </xsl:template>
2481
1204
 
2482
- <xsl:variable name="title-table">
2483
-
2484
- <xsl:text>Table </xsl:text>
2485
-
2486
-
2487
- </xsl:variable><xsl:variable name="title-note">
1205
+ <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
1206
+
1207
+ <title-annex lang="en">Annex </title-annex>
1208
+ <title-annex lang="fr">Annexe </title-annex>
2488
1209
 
2489
- <xsl:text>NOTE </xsl:text>
1210
+ <title-annex lang="zh">Annex </title-annex>
2490
1211
 
2491
1212
 
2492
- </xsl:variable><xsl:variable name="title-figure">
1213
+
1214
+ <title-edition lang="en">
1215
+
1216
+ <xsl:text>Edition </xsl:text>
1217
+
1218
+
1219
+ </title-edition>
2493
1220
 
2494
- <xsl:text>Figure </xsl:text>
1221
+
1222
+ <title-toc lang="en">
1223
+
1224
+
1225
+ <xsl:text>Table of Contents</xsl:text>
1226
+
1227
+
1228
+ </title-toc>
1229
+ <title-toc lang="fr">Sommaire</title-toc>
2495
1230
 
1231
+ <title-toc lang="zh">Contents</title-toc>
2496
1232
 
2497
- </xsl:variable><xsl:variable name="title-example">
2498
1233
 
2499
- <xsl:text>EXAMPLE </xsl:text>
2500
1234
 
1235
+ <title-page lang="en">Page</title-page>
1236
+ <title-page lang="fr">Page</title-page>
2501
1237
 
2502
- </xsl:variable><xsl:variable name="title-inequality">Inequality </xsl:variable><xsl:variable name="title-equation">Equation </xsl:variable><xsl:variable name="title-annex">
1238
+ <title-key lang="en">Key</title-key>
1239
+ <title-key lang="fr">Légende</title-key>
1240
+
1241
+ <title-where lang="en">where</title-where>
1242
+ <title-where lang="fr">où</title-where>
1243
+
1244
+ <title-descriptors lang="en">Descriptors</title-descriptors>
2503
1245
 
2504
- <xsl:text>Annex </xsl:text>
1246
+ <title-part lang="en">
1247
+
1248
+
1249
+ </title-part>
1250
+ <title-part lang="fr">
1251
+
1252
+
1253
+ </title-part>
1254
+ <title-part lang="zh">第 # 部分:</title-part>
1255
+
1256
+ <title-modified lang="en">modified</title-modified>
1257
+ <title-modified lang="fr">modifiée</title-modified>
1258
+
1259
+ <title-modified lang="zh">modified</title-modified>
1260
+
1261
+
1262
+
1263
+ <title-source lang="en">SOURCE</title-source>
1264
+
1265
+ <title-keywords lang="en">Keywords</title-keywords>
1266
+
1267
+ <title-deprecated lang="en">DEPRECATED</title-deprecated>
1268
+ <title-deprecated lang="fr">DEPRECATED</title-deprecated>
1269
+
1270
+ <title-list-tables lang="en">List of Tables</title-list-tables>
1271
+
1272
+ <title-list-figures lang="en">List of Figures</title-list-figures>
1273
+
1274
+ <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1275
+
1276
+ <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
1277
+
1278
+ <title-abstract lang="en">Abstract</title-abstract>
2505
1279
 
1280
+ <title-summary lang="en">Summary</title-summary>
2506
1281
 
2507
- </xsl:variable><xsl:variable name="title-appendix">
2508
- <xsl:text>Appendix </xsl:text>
2509
- </xsl:variable><xsl:variable name="title-clause">
1282
+ <title-in lang="en">in </title-in>
2510
1283
 
2511
- <xsl:text>Clause </xsl:text>
1284
+ <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
1285
+ <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
2512
1286
 
1287
+ <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
1288
+ <title-completion-date lang="zh">本稿完成日期</title-completion-date>
2513
1289
 
2514
- </xsl:variable><xsl:variable name="title-edition">
2515
- <xsl:text>Edition </xsl:text>
2516
- </xsl:variable><xsl:variable name="title-toc">
1290
+ <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
1291
+ <title-issuance-date lang="zh"># 发布</title-issuance-date>
2517
1292
 
2518
- Table of Contents
2519
- </xsl:variable><xsl:variable name="title-page">Page</xsl:variable><xsl:variable name="title-key">Key</xsl:variable><xsl:variable name="title-where">where</xsl:variable><xsl:variable name="title-descriptors">Descriptors</xsl:variable><xsl:variable name="title-part-en">Part </xsl:variable><xsl:variable name="title-part-fr">Partie </xsl:variable><xsl:variable name="title-note-to-entry">Note # to entry: </xsl:variable><xsl:variable name="title-modified">modified</xsl:variable><xsl:variable name="title-source">SOURCE</xsl:variable><xsl:variable name="title-keywords">Keywords</xsl:variable><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="link-style">
1293
+ <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
1294
+ <title-implementation-date lang="zh"># 实施</title-implementation-date>
1295
+
1296
+ <title-obligation-normative lang="en">normative</title-obligation-normative>
1297
+ <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
1298
+
1299
+ <title-caution lang="en">CAUTION</title-caution>
1300
+ <title-caution lang="zh">注意</title-caution>
1301
+
1302
+ <title-warning lang="en">WARNING</title-warning>
1303
+ <title-warning lang="zh">警告</title-warning>
1304
+
1305
+ <title-amendment lang="en">AMENDMENT</title-amendment>
1306
+ </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
1307
+ <xsl:param name="name"/>
1308
+ <xsl:variable name="lang">
1309
+ <xsl:call-template name="getLang"/>
1310
+ </xsl:variable>
1311
+ <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
1312
+ <xsl:choose>
1313
+ <xsl:when test="normalize-space($title_) != ''">
1314
+ <xsl:value-of select="$title_"/>
1315
+ </xsl:when>
1316
+ <xsl:otherwise>
1317
+ <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
1318
+ </xsl:otherwise>
1319
+ </xsl:choose>
1320
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="link-style">
2520
1321
 
2521
1322
 
2522
1323
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1324
+ <xsl:attribute name="white-space">pre</xsl:attribute>
1325
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2523
1326
 
2524
1327
 
2525
1328
 
@@ -2533,144 +1336,376 @@
2533
1336
 
2534
1337
 
2535
1338
 
2536
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1339
+ </xsl:attribute-set><xsl:attribute-set name="permission-style">
2537
1340
 
1341
+ </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
2538
1342
 
1343
+ </xsl:attribute-set><xsl:attribute-set name="permission-label-style">
2539
1344
 
2540
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1345
+ </xsl:attribute-set><xsl:attribute-set name="requirement-style">
2541
1346
 
1347
+ </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
2542
1348
 
1349
+ </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
2543
1350
 
2544
- </xsl:attribute-set><xsl:template match="text()">
2545
- <xsl:value-of select="."/>
2546
- </xsl:template><xsl:template match="*[local-name()='br']">
2547
- <xsl:value-of select="$linebreak"/>
2548
- </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2549
- <!-- <xsl:call-template name="add-zero-spaces"/> -->
2550
- <xsl:call-template name="add-zero-spaces-java"/>
2551
- </xsl:template><xsl:template match="*[local-name()='table']">
2552
-
2553
- <xsl:variable name="simple-table">
2554
- <!-- <xsl:copy> -->
2555
- <xsl:call-template name="getSimpleTable"/>
2556
- <!-- </xsl:copy> -->
2557
- </xsl:variable>
2558
-
2559
- <!-- DEBUG -->
2560
- <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
2561
- <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
2562
-
2563
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
1351
+ </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
1352
+ </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
1353
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
1354
+
1355
+
1356
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
1357
+
1358
+
1359
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
1360
+
1361
+ </xsl:attribute-set><xsl:attribute-set name="termexample-style">
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+ </xsl:attribute-set><xsl:attribute-set name="example-style">
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1376
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+ </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1384
+
1385
+
1386
+ </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1387
+
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+
1404
+ </xsl:attribute-set><xsl:attribute-set name="example-p-style">
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1411
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1412
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+ </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
2564
1421
 
2565
- <fo:block space-before="18pt"> </fo:block>
2566
1422
 
2567
- <!-- <xsl:if test="$namespace = 'iso'">
2568
- <fo:block space-before="6pt">&#xA0;</fo:block>
2569
- </xsl:if> -->
2570
1423
 
2571
- <xsl:choose>
2572
- <xsl:when test="@unnumbered = 'true'"/>
2573
- <xsl:otherwise>
2574
-
2575
-
2576
-
2577
- <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
2578
-
2579
-
2580
-
2581
-
2582
-
2583
-
2584
-
2585
-
2586
-
2587
- <xsl:value-of select="$title-table"/>
2588
-
2589
- <xsl:call-template name="getTableNumber"/>
2590
-
2591
-
2592
- <xsl:if test="*[local-name()='name']">
2593
-
2594
-
2595
-
2596
- <xsl:text> — </xsl:text>
2597
-
2598
- <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
2599
- </xsl:if>
2600
- </fo:block>
2601
1424
 
1425
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1426
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1427
+
1428
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1429
+ <xsl:attribute name="text-align">center</xsl:attribute>
1430
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1431
+
1432
+
1433
+
1434
+
2602
1435
 
2603
- <xsl:call-template name="fn_name_display"/>
1436
+
1437
+
1438
+
2604
1439
 
2605
- </xsl:otherwise>
2606
- </xsl:choose>
2607
1440
 
2608
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
1441
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2609
1442
 
2610
- <!-- <xsl:variable name="cols-count">
2611
- <xsl:choose>
2612
- <xsl:when test="*[local-name()='thead']">
2613
- <xsl:call-template name="calculate-columns-numbers">
2614
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2615
- </xsl:call-template>
2616
- </xsl:when>
2617
- <xsl:otherwise>
2618
- <xsl:call-template name="calculate-columns-numbers">
2619
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2620
- </xsl:call-template>
2621
- </xsl:otherwise>
2622
- </xsl:choose>
2623
- </xsl:variable> -->
2624
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2625
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2626
1443
 
2627
1444
 
1445
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2628
1446
 
2629
- <xsl:variable name="colwidths">
2630
- <xsl:call-template name="calculate-column-widths">
2631
- <xsl:with-param name="cols-count" select="$cols-count"/>
2632
- <xsl:with-param name="table" select="$simple-table"/>
2633
- </xsl:call-template>
2634
- </xsl:variable>
2635
1447
 
2636
- <!-- <xsl:variable name="colwidths2">
2637
- <xsl:call-template name="calculate-column-widths">
2638
- <xsl:with-param name="cols-count" select="$cols-count"/>
2639
- </xsl:call-template>
2640
- </xsl:variable> -->
2641
1448
 
2642
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2643
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2644
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1449
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
2645
1450
 
2646
- <xsl:variable name="margin-left">
2647
- <xsl:choose>
2648
- <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2649
- <xsl:otherwise>0</xsl:otherwise>
2650
- </xsl:choose>
2651
- </xsl:variable>
2652
1451
 
2653
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2654
-
2655
- <xsl:attribute name="space-after">6pt</xsl:attribute>
2656
-
2657
-
2658
-
2659
-
2660
-
2661
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2662
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2663
- <xsl:attribute name="space-after">18pt</xsl:attribute>
2664
-
2665
-
2666
-
2667
-
2668
- <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
2669
-
1452
+ <xsl:attribute name="color">blue</xsl:attribute>
1453
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2670
1454
 
1455
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
1456
+
1457
+
1458
+ <xsl:attribute name="color">blue</xsl:attribute>
1459
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1460
+
1461
+
1462
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
1463
+
1464
+
1465
+
2671
1466
 
2672
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2673
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1467
+
1468
+
1469
+
1470
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1471
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
1472
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+ </xsl:attribute-set><xsl:attribute-set name="note-name-style">
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1511
+
1512
+
1513
+
1514
+
1515
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
1516
+
1517
+
1518
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1525
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
1526
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
1527
+
1528
+
1529
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1530
+
1531
+
1532
+ <xsl:attribute name="text-align">right</xsl:attribute>
1533
+
1534
+
1535
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
1542
+
1543
+
1544
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
1545
+
1546
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1555
+ <xsl:attribute name="text-align">center</xsl:attribute>
1556
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1557
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1558
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
1570
+
1571
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1572
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1573
+
1574
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
1575
+ <xsl:attribute name="text-align">center</xsl:attribute>
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1582
+
1583
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1584
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1585
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1586
+
1587
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1588
+
1589
+
1590
+
1591
+
1592
+ <xsl:attribute name="width">75%</xsl:attribute>
1593
+ <xsl:attribute name="content-height">100%</xsl:attribute>
1594
+ <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
1595
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1596
+
1597
+
1598
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
1599
+
1600
+
1601
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1602
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1603
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1604
+ <xsl:attribute name="text-align">center</xsl:attribute>
1605
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1606
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
1607
+
1608
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1609
+
1610
+
1611
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1612
+
1613
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
1614
+
1615
+
1616
+ </xsl:attribute-set><xsl:template match="text()">
1617
+ <xsl:value-of select="."/>
1618
+ </xsl:template><xsl:template match="*[local-name()='br']">
1619
+ <xsl:value-of select="$linebreak"/>
1620
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
1621
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
1622
+ <xsl:call-template name="add-zero-spaces-java"/>
1623
+ </xsl:template><xsl:template match="*[local-name()='table']">
1624
+
1625
+ <xsl:variable name="simple-table">
1626
+ <xsl:call-template name="getSimpleTable"/>
1627
+ </xsl:variable>
1628
+
1629
+
1630
+ <fo:block space-before="18pt"> </fo:block>
1631
+
1632
+
1633
+
1634
+
1635
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1636
+
1637
+
1638
+
1639
+ <xsl:call-template name="fn_name_display"/>
1640
+
1641
+
1642
+
1643
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
1644
+
1645
+ <!-- <xsl:variable name="cols-count">
1646
+ <xsl:choose>
1647
+ <xsl:when test="*[local-name()='thead']">
1648
+ <xsl:call-template name="calculate-columns-numbers">
1649
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1650
+ </xsl:call-template>
1651
+ </xsl:when>
1652
+ <xsl:otherwise>
1653
+ <xsl:call-template name="calculate-columns-numbers">
1654
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1655
+ </xsl:call-template>
1656
+ </xsl:otherwise>
1657
+ </xsl:choose>
1658
+ </xsl:variable> -->
1659
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1660
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1661
+
1662
+
1663
+
1664
+ <xsl:variable name="colwidths">
1665
+ <xsl:call-template name="calculate-column-widths">
1666
+ <xsl:with-param name="cols-count" select="$cols-count"/>
1667
+ <xsl:with-param name="table" select="$simple-table"/>
1668
+ </xsl:call-template>
1669
+ </xsl:variable>
1670
+
1671
+ <!-- <xsl:variable name="colwidths2">
1672
+ <xsl:call-template name="calculate-column-widths">
1673
+ <xsl:with-param name="cols-count" select="$cols-count"/>
1674
+ </xsl:call-template>
1675
+ </xsl:variable> -->
1676
+
1677
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1678
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
1679
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1680
+
1681
+ <xsl:variable name="margin-left">
1682
+ <xsl:choose>
1683
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1684
+ <xsl:otherwise>0</xsl:otherwise>
1685
+ </xsl:choose>
1686
+ </xsl:variable>
1687
+
1688
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1689
+
1690
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1697
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1698
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
1699
+
1700
+
1701
+
1702
+
1703
+ <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
1704
+
1705
+
1706
+
1707
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1708
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2674
1709
 
2675
1710
 
2676
1711
 
@@ -2692,52 +1727,29 @@
2692
1727
  </xsl:otherwise>
2693
1728
  </xsl:choose>
2694
1729
  </xsl:for-each>
2695
- <xsl:apply-templates/>
1730
+
1731
+ <xsl:choose>
1732
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
1733
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1734
+ </xsl:when>
1735
+ <xsl:otherwise>
1736
+ <xsl:apply-templates/>
1737
+ </xsl:otherwise>
1738
+ </xsl:choose>
1739
+
2696
1740
  </fo:table>
2697
1741
 
2698
1742
 
2699
1743
 
1744
+
1745
+
2700
1746
  </fo:block-container>
2701
- </xsl:template><xsl:template name="getTableNumber">
2702
- <xsl:choose>
2703
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2704
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2705
- </xsl:when>
2706
- <xsl:when test="ancestor::*[local-name()='annex']">
2707
-
2708
-
2709
-
2710
-
2711
- <xsl:choose>
2712
- <xsl:when test="ancestor::*[local-name()='annex'][@obligation = 'informative']">
2713
- <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
2714
- <!-- Table in Appendix -->
2715
- <xsl:number format="I-" count="*[local-name()='annex'][@obligation = 'informative']"/>
2716
- <xsl:number format="1" level="any" count="*[local-name()='table'][(not(@unnumbered) or @unnumbered != 'true') and ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
2717
- </xsl:when>
2718
- <!-- Table in Annex -->
2719
- <xsl:when test="ancestor::*[local-name()='annex'][not(@obligation) or @obligation != 'informative']">
2720
- <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
2721
- <xsl:number format="A-" count="*[local-name()='annex'][not(@obligation) or @obligation != 'informative']"/>
2722
- <xsl:number format="1" level="any" count="*[local-name()='table'][(not(@unnumbered) or @unnumbered != 'true') and ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
2723
- </xsl:when>
2724
- </xsl:choose>
2725
-
2726
-
2727
-
2728
-
2729
-
2730
- </xsl:when>
2731
- <xsl:otherwise>
2732
-
2733
-
2734
- <xsl:number format="A." count="*[local-name()='annex']"/>
2735
- <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']"/>
2736
-
2737
- </xsl:otherwise>
2738
- </xsl:choose>
2739
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
2740
- <xsl:apply-templates/>
1747
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1748
+ <xsl:if test="normalize-space() != ''">
1749
+ <fo:block xsl:use-attribute-sets="table-name-style">
1750
+ <xsl:apply-templates/>
1751
+ </fo:block>
1752
+ </xsl:if>
2741
1753
  </xsl:template><xsl:template name="calculate-columns-numbers">
2742
1754
  <xsl:param name="table-row"/>
2743
1755
  <xsl:variable name="columns-count" select="count($table-row/*)"/>
@@ -2856,6 +1868,10 @@
2856
1868
 
2857
1869
  <xsl:apply-templates/>
2858
1870
  </fo:table-header>
1871
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
1872
+ <fo:table-body>
1873
+ <xsl:apply-templates/>
1874
+ </fo:table-body>
2859
1875
  </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
2860
1876
  <xsl:apply-templates/>
2861
1877
  </xsl:template><xsl:template name="insertTableFooter">
@@ -2966,6 +1982,7 @@
2966
1982
 
2967
1983
 
2968
1984
 
1985
+
2969
1986
  <xsl:if test="@colspan">
2970
1987
  <xsl:attribute name="number-columns-spanned">
2971
1988
  <xsl:value-of select="@colspan"/>
@@ -2990,7 +2007,7 @@
2990
2007
  <xsl:attribute name="display-align">before</xsl:attribute>
2991
2008
 
2992
2009
 
2993
-
2010
+
2994
2011
 
2995
2012
 
2996
2013
 
@@ -3009,21 +2026,9 @@
3009
2026
  <fo:block>
3010
2027
 
3011
2028
  <xsl:apply-templates/>
3012
- </fo:block>
3013
- <!-- <xsl:choose>
3014
- <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
3015
- <xsl:apply-templates />
3016
- </xsl:when>
3017
- <xsl:otherwise>
3018
- <fo:block>
3019
- <xsl:apply-templates />
3020
- </fo:block>
3021
- </xsl:otherwise>
3022
- </xsl:choose> -->
3023
-
3024
-
2029
+ </fo:block>
3025
2030
  </fo:table-cell>
3026
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2031
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3027
2032
 
3028
2033
 
3029
2034
  <fo:block font-size="10pt" margin-bottom="12pt">
@@ -3034,21 +2039,15 @@
3034
2039
  <fo:inline padding-right="2mm">
3035
2040
 
3036
2041
 
3037
- <xsl:value-of select="$title-note"/>
3038
2042
 
3039
- <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
3040
- <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
3041
- <xsl:number count="*[local-name()='note'][ancestor::*[@id = $id]]" level="any"/>
3042
- </xsl:if>
2043
+
2044
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3043
2045
 
3044
-
3045
-
3046
-
3047
2046
  </fo:inline>
3048
2047
  <xsl:apply-templates mode="process"/>
3049
2048
  </fo:block>
3050
2049
 
3051
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
2050
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3052
2051
  <xsl:apply-templates/>
3053
2052
  </xsl:template><xsl:template name="fn_display">
3054
2053
  <xsl:variable name="references">
@@ -3124,12 +2123,42 @@
3124
2123
  <!-- and (not(@class) or @class !='pseudocode') -->
3125
2124
  </xsl:variable>
3126
2125
  <xsl:variable name="references">
3127
- <xsl:for-each select=".//*[local-name()='fn']">
2126
+ <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3128
2127
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3129
2128
  <xsl:apply-templates/>
3130
2129
  </fn>
3131
2130
  </xsl:for-each>
3132
2131
  </xsl:variable>
2132
+
2133
+ <!-- current hierarchy is 'figure' element -->
2134
+ <xsl:variable name="following_dl_colwidths">
2135
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2136
+ <xsl:variable name="html-table">
2137
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2138
+ <xsl:element name="{$ns}:table">
2139
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
2140
+ <tbody>
2141
+ <xsl:apply-templates mode="dl"/>
2142
+ </tbody>
2143
+ </xsl:for-each>
2144
+ </xsl:element>
2145
+ </xsl:variable>
2146
+
2147
+ <xsl:call-template name="calculate-column-widths">
2148
+ <xsl:with-param name="cols-count" select="2"/>
2149
+ <xsl:with-param name="table" select="$html-table"/>
2150
+ </xsl:call-template>
2151
+
2152
+ </xsl:if>
2153
+ </xsl:variable>
2154
+
2155
+
2156
+ <xsl:variable name="maxlength_dt">
2157
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
2158
+ <xsl:call-template name="getMaxLength_dt"/>
2159
+ </xsl:for-each>
2160
+ </xsl:variable>
2161
+
3133
2162
  <xsl:if test="xalan:nodeset($references)//fn">
3134
2163
  <fo:block>
3135
2164
  <fo:table width="95%" table-layout="fixed">
@@ -3137,8 +2166,19 @@
3137
2166
  <xsl:attribute name="font-size">10pt</xsl:attribute>
3138
2167
 
3139
2168
  </xsl:if>
3140
- <fo:table-column column-width="15%"/>
3141
- <fo:table-column column-width="85%"/>
2169
+ <xsl:choose>
2170
+ <!-- if there 'dl', then set same columns width -->
2171
+ <xsl:when test="xalan:nodeset($following_dl_colwidths)//column">
2172
+ <xsl:call-template name="setColumnWidth_dl">
2173
+ <xsl:with-param name="colwidths" select="$following_dl_colwidths"/>
2174
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2175
+ </xsl:call-template>
2176
+ </xsl:when>
2177
+ <xsl:otherwise>
2178
+ <fo:table-column column-width="15%"/>
2179
+ <fo:table-column column-width="85%"/>
2180
+ </xsl:otherwise>
2181
+ </xsl:choose>
3142
2182
  <fo:table-body>
3143
2183
  <xsl:for-each select="xalan:nodeset($references)//fn">
3144
2184
  <xsl:variable name="reference" select="@reference"/>
@@ -3202,6 +2242,11 @@
3202
2242
 
3203
2243
  <fo:block margin-bottom="12pt" text-align="left">
3204
2244
 
2245
+ <xsl:variable name="title-where">
2246
+ <xsl:call-template name="getTitle">
2247
+ <xsl:with-param name="name" select="'title-where'"/>
2248
+ </xsl:call-template>
2249
+ </xsl:variable>
3205
2250
  <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3206
2251
  <xsl:apply-templates select="*[local-name()='dt']/*"/>
3207
2252
  <xsl:text/>
@@ -3217,14 +2262,24 @@
3217
2262
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3218
2263
 
3219
2264
 
2265
+ <xsl:variable name="title-where">
2266
+ <xsl:call-template name="getTitle">
2267
+ <xsl:with-param name="name" select="'title-where'"/>
2268
+ </xsl:call-template>
2269
+ </xsl:variable>
3220
2270
  <xsl:value-of select="$title-where"/>:
3221
2271
  </fo:block>
3222
2272
  </xsl:when>
3223
2273
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3224
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt">
2274
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3225
2275
 
3226
2276
 
3227
2277
 
2278
+ <xsl:variable name="title-key">
2279
+ <xsl:call-template name="getTitle">
2280
+ <xsl:with-param name="name" select="'title-key'"/>
2281
+ </xsl:call-template>
2282
+ </xsl:variable>
3228
2283
  <xsl:value-of select="$title-key"/>
3229
2284
  </fo:block>
3230
2285
  </xsl:when>
@@ -3248,23 +2303,6 @@
3248
2303
 
3249
2304
 
3250
2305
 
3251
- <!-- create virtual html table for dl/[dt and dd] -->
3252
- <xsl:variable name="html-table">
3253
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3254
- <xsl:element name="{$ns}:table">
3255
- <tbody>
3256
- <xsl:apply-templates mode="dl"/>
3257
- </tbody>
3258
- </xsl:element>
3259
- </xsl:variable>
3260
- <!-- html-table<xsl:copy-of select="$html-table"/> -->
3261
- <xsl:variable name="colwidths">
3262
- <xsl:call-template name="calculate-column-widths">
3263
- <xsl:with-param name="cols-count" select="2"/>
3264
- <xsl:with-param name="table" select="$html-table"/>
3265
- </xsl:call-template>
3266
- </xsl:variable>
3267
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3268
2306
 
3269
2307
  <fo:table width="95%" table-layout="fixed">
3270
2308
 
@@ -3277,42 +2315,30 @@
3277
2315
 
3278
2316
  </xsl:when>
3279
2317
  </xsl:choose>
3280
- <xsl:choose>
3281
- <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3282
- <fo:table-column column-width="50%"/>
3283
- <fo:table-column column-width="50%"/>
3284
- </xsl:when>
3285
- <xsl:otherwise>
3286
- <xsl:choose>
3287
- <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3288
- <fo:table-column column-width="60%"/>
3289
- <fo:table-column column-width="40%"/>
3290
- </xsl:when> -->
3291
- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
3292
- <fo:table-column column-width="50%"/>
3293
- <fo:table-column column-width="50%"/>
3294
- </xsl:when>
3295
- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
3296
- <fo:table-column column-width="40%"/>
3297
- <fo:table-column column-width="60%"/>
3298
- </xsl:when>
3299
- <xsl:otherwise>
3300
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
3301
- <xsl:choose>
3302
- <xsl:when test=". = 1 or . = 0">
3303
- <fo:table-column column-width="proportional-column-width(2)"/>
3304
- </xsl:when>
3305
- <xsl:otherwise>
3306
- <fo:table-column column-width="proportional-column-width({.})"/>
3307
- </xsl:otherwise>
3308
- </xsl:choose>
3309
- </xsl:for-each>
3310
- </xsl:otherwise>
3311
- </xsl:choose>
3312
- <!-- <fo:table-column column-width="15%"/>
3313
- <fo:table-column column-width="85%"/> -->
3314
- </xsl:otherwise>
3315
- </xsl:choose>
2318
+ <!-- create virtual html table for dl/[dt and dd] -->
2319
+ <xsl:variable name="html-table">
2320
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2321
+ <xsl:element name="{$ns}:table">
2322
+ <tbody>
2323
+ <xsl:apply-templates mode="dl"/>
2324
+ </tbody>
2325
+ </xsl:element>
2326
+ </xsl:variable>
2327
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
2328
+ <xsl:variable name="colwidths">
2329
+ <xsl:call-template name="calculate-column-widths">
2330
+ <xsl:with-param name="cols-count" select="2"/>
2331
+ <xsl:with-param name="table" select="$html-table"/>
2332
+ </xsl:call-template>
2333
+ </xsl:variable>
2334
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2335
+ <xsl:variable name="maxlength_dt">
2336
+ <xsl:call-template name="getMaxLength_dt"/>
2337
+ </xsl:variable>
2338
+ <xsl:call-template name="setColumnWidth_dl">
2339
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2340
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2341
+ </xsl:call-template>
3316
2342
  <fo:table-body>
3317
2343
  <xsl:apply-templates>
3318
2344
  <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
@@ -3322,28 +2348,82 @@
3322
2348
  </fo:block>
3323
2349
  </fo:block>
3324
2350
  </xsl:if>
3325
- </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
3326
- <xsl:param name="key_iso"/>
3327
-
3328
- <!-- <tr>
3329
- <td>NOTE</td>
3330
- <td>
3331
- <xsl:apply-templates />
3332
- </td>
3333
- </tr>
3334
- -->
3335
- <fo:table-row>
3336
- <fo:table-cell>
3337
- <fo:block margin-top="6pt">
3338
- <xsl:if test="normalize-space($key_iso) = 'true'">
3339
- <xsl:attribute name="margin-top">0</xsl:attribute>
3340
- </xsl:if>
3341
- <xsl:value-of select="$title-note"/>
3342
- </fo:block>
3343
- </fo:table-cell>
3344
- <fo:table-cell>
3345
- <fo:block>
3346
- <xsl:apply-templates/>
2351
+ </xsl:template><xsl:template name="setColumnWidth_dl">
2352
+ <xsl:param name="colwidths"/>
2353
+ <xsl:param name="maxlength_dt"/>
2354
+ <xsl:choose>
2355
+ <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
2356
+ <fo:table-column column-width="50%"/>
2357
+ <fo:table-column column-width="50%"/>
2358
+ </xsl:when>
2359
+ <xsl:otherwise>
2360
+ <xsl:choose>
2361
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
2362
+ <fo:table-column column-width="5%"/>
2363
+ <fo:table-column column-width="95%"/>
2364
+ </xsl:when>
2365
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
2366
+ <fo:table-column column-width="10%"/>
2367
+ <fo:table-column column-width="90%"/>
2368
+ </xsl:when>
2369
+ <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
2370
+ <fo:table-column column-width="60%"/>
2371
+ <fo:table-column column-width="40%"/>
2372
+ </xsl:when> -->
2373
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
2374
+ <fo:table-column column-width="50%"/>
2375
+ <fo:table-column column-width="50%"/>
2376
+ </xsl:when>
2377
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
2378
+ <fo:table-column column-width="40%"/>
2379
+ <fo:table-column column-width="60%"/>
2380
+ </xsl:when>
2381
+ <xsl:otherwise>
2382
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2383
+ <xsl:choose>
2384
+ <xsl:when test=". = 1 or . = 0">
2385
+ <fo:table-column column-width="proportional-column-width(2)"/>
2386
+ </xsl:when>
2387
+ <xsl:otherwise>
2388
+ <fo:table-column column-width="proportional-column-width({.})"/>
2389
+ </xsl:otherwise>
2390
+ </xsl:choose>
2391
+ </xsl:for-each>
2392
+ </xsl:otherwise>
2393
+ </xsl:choose>
2394
+ <!-- <fo:table-column column-width="15%"/>
2395
+ <fo:table-column column-width="85%"/> -->
2396
+ </xsl:otherwise>
2397
+ </xsl:choose>
2398
+ </xsl:template><xsl:template name="getMaxLength_dt">
2399
+ <xsl:for-each select="*[local-name()='dt']">
2400
+ <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
2401
+ <xsl:if test="position() = 1">
2402
+ <xsl:value-of select="string-length(normalize-space(.))"/>
2403
+ </xsl:if>
2404
+ </xsl:for-each>
2405
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
2406
+ <xsl:param name="key_iso"/>
2407
+
2408
+ <!-- <tr>
2409
+ <td>NOTE</td>
2410
+ <td>
2411
+ <xsl:apply-templates />
2412
+ </td>
2413
+ </tr>
2414
+ -->
2415
+ <fo:table-row>
2416
+ <fo:table-cell>
2417
+ <fo:block margin-top="6pt">
2418
+ <xsl:if test="normalize-space($key_iso) = 'true'">
2419
+ <xsl:attribute name="margin-top">0</xsl:attribute>
2420
+ </xsl:if>
2421
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2422
+ </fo:block>
2423
+ </fo:table-cell>
2424
+ <fo:table-cell>
2425
+ <fo:block>
2426
+ <xsl:apply-templates/>
3347
2427
  </fo:block>
3348
2428
  </fo:table-cell>
3349
2429
  </fo:table-row>
@@ -3387,7 +2467,11 @@
3387
2467
 
3388
2468
 
3389
2469
  <xsl:apply-templates/>
3390
-
2470
+ <!-- <xsl:if test="$namespace = 'gb'">
2471
+ <xsl:if test="ancestor::*[local-name()='formula']">
2472
+ <xsl:text>—</xsl:text>
2473
+ </xsl:if>
2474
+ </xsl:if> -->
3391
2475
  </fo:block>
3392
2476
  </fo:table-cell>
3393
2477
  <fo:table-cell>
@@ -3413,7 +2497,7 @@
3413
2497
  <fo:inline font-style="italic">
3414
2498
  <xsl:apply-templates/>
3415
2499
  </fo:inline>
3416
- </xsl:template><xsl:template match="*[local-name()='strong']">
2500
+ </xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
3417
2501
  <fo:inline font-weight="bold">
3418
2502
  <xsl:apply-templates/>
3419
2503
  </fo:inline>
@@ -3426,7 +2510,7 @@
3426
2510
  <xsl:apply-templates/>
3427
2511
  </fo:inline>
3428
2512
  </xsl:template><xsl:template match="*[local-name()='tt']">
3429
- <fo:inline font-family="Courier" font-size="10pt">
2513
+ <fo:inline xsl:use-attribute-sets="tt-style">
3430
2514
  <xsl:apply-templates/>
3431
2515
  </fo:inline>
3432
2516
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -3445,7 +2529,8 @@
3445
2529
  </xsl:template><xsl:template name="recursiveSmallCaps">
3446
2530
  <xsl:param name="text"/>
3447
2531
  <xsl:variable name="char" select="substring($text,1,1)"/>
3448
- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
2532
+ <!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
2533
+ <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
3449
2534
  <xsl:choose>
3450
2535
  <xsl:when test="$char=$upperCase">
3451
2536
  <fo:inline font-size="{100 div 0.75}%">
@@ -3728,114 +2813,757 @@
3728
2813
  <xsl:choose>
3729
2814
  <xsl:when test="contains($str2, ' ')">
3730
2815
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3731
- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3732
- <xsl:value-of select="substring($substr, 2)"/>
2816
+ <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
2817
+ <xsl:value-of select="substring($substr, 2)"/> -->
2818
+ <xsl:call-template name="capitalize">
2819
+ <xsl:with-param name="str" select="$substr"/>
2820
+ </xsl:call-template>
3733
2821
  <xsl:text> </xsl:text>
3734
2822
  <xsl:call-template name="capitalizeWords">
3735
2823
  <xsl:with-param name="str" select="substring-after($str2, ' ')"/>
3736
2824
  </xsl:call-template>
3737
2825
  </xsl:when>
3738
2826
  <xsl:otherwise>
3739
- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3740
- <xsl:value-of select="substring($str2, 2)"/>
2827
+ <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
2828
+ <xsl:value-of select="substring($str2, 2)"/> -->
2829
+ <xsl:call-template name="capitalize">
2830
+ <xsl:with-param name="str" select="$str2"/>
2831
+ </xsl:call-template>
3741
2832
  </xsl:otherwise>
3742
2833
  </xsl:choose>
2834
+ </xsl:template><xsl:template name="capitalize">
2835
+ <xsl:param name="str"/>
2836
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
2837
+ <xsl:value-of select="substring($str, 2)"/>
3743
2838
  </xsl:template><xsl:template match="mathml:math">
3744
2839
  <fo:inline font-family="STIX2Math">
3745
2840
  <fo:instream-foreign-object fox:alt-text="Math">
3746
2841
  <xsl:copy-of select="."/>
3747
2842
  </fo:instream-foreign-object>
3748
2843
  </fo:inline>
3749
- </xsl:template><xsl:template match="*[local-name()='localityStack']">
3750
- <xsl:for-each select="*[local-name()='locality']">
3751
- <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
3752
- <xsl:apply-templates select="."/>
3753
- <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
3754
- </xsl:for-each>
3755
- </xsl:template><xsl:template match="*[local-name()='link']" name="link">
2844
+ </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3756
2845
  <xsl:variable name="target">
3757
2846
  <xsl:choose>
3758
- <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
3759
- <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
2847
+ <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
2848
+ <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
2849
+ </xsl:when>
2850
+ <xsl:otherwise>
2851
+ <xsl:value-of select="normalize-space(@target)"/>
2852
+ </xsl:otherwise>
2853
+ </xsl:choose>
2854
+ </xsl:variable>
2855
+ <fo:inline xsl:use-attribute-sets="link-style">
2856
+ <xsl:choose>
2857
+ <xsl:when test="$target = ''">
2858
+ <xsl:apply-templates/>
2859
+ </xsl:when>
2860
+ <xsl:otherwise>
2861
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
2862
+ <xsl:choose>
2863
+ <xsl:when test="normalize-space(.) = ''">
2864
+ <xsl:value-of select="$target"/>
2865
+ </xsl:when>
2866
+ <xsl:otherwise>
2867
+ <xsl:apply-templates/>
2868
+ </xsl:otherwise>
2869
+ </xsl:choose>
2870
+ </fo:basic-link>
2871
+ </xsl:otherwise>
2872
+ </xsl:choose>
2873
+ </fo:inline>
2874
+ </xsl:template><xsl:template match="*[local-name()='bookmark']">
2875
+ <fo:inline id="{@id}"/>
2876
+ </xsl:template><xsl:template match="*[local-name()='appendix']">
2877
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
2878
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
2879
+ </fo:block>
2880
+ <xsl:apply-templates/>
2881
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
2882
+ <fo:inline><xsl:apply-templates/></fo:inline>
2883
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
2884
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
2885
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2886
+ </fo:block>
2887
+ <xsl:apply-templates/>
2888
+ </xsl:template><xsl:template match="*[local-name() = 'callout']">
2889
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
2890
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']">
2891
+ <xsl:variable name="annotation-id" select="@id"/>
2892
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
2893
+ <fo:block id="{$annotation-id}" white-space="nowrap">
2894
+ <fo:inline>
2895
+ <xsl:apply-templates>
2896
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
2897
+ </xsl:apply-templates>
2898
+ </fo:inline>
2899
+ </fo:block>
2900
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
2901
+ <xsl:param name="callout"/>
2902
+ <fo:inline id="{@id}">
2903
+ <!-- for first p in annotation, put <x> -->
2904
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
2905
+ <xsl:apply-templates/>
2906
+ </fo:inline>
2907
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
2908
+ <xsl:variable name="title-modified">
2909
+ <xsl:call-template name="getTitle">
2910
+ <xsl:with-param name="name" select="'title-modified'"/>
2911
+ </xsl:call-template>
2912
+ </xsl:variable>
2913
+ <xsl:choose>
2914
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
2915
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
2916
+ </xsl:choose>
2917
+ <xsl:apply-templates/>
2918
+ </xsl:template><xsl:template match="*[local-name() = 'xref']">
2919
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
2920
+
2921
+ <xsl:apply-templates/>
2922
+ </fo:basic-link>
2923
+ </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
2924
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2925
+ <xsl:apply-templates/>
2926
+ </fo:block>
2927
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
2928
+ <fo:inline>
2929
+ <xsl:apply-templates/>
2930
+ </fo:inline>
2931
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']/*[local-name() = 'stem']">
2932
+ <fo:inline>
2933
+ <xsl:apply-templates/>
2934
+ </fo:inline>
2935
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
2936
+ <xsl:if test="normalize-space() != ''">
2937
+ <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
2938
+ </xsl:if>
2939
+ </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
2940
+
2941
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
2942
+
2943
+
2944
+
2945
+
2946
+ <fo:block-container margin-left="0mm">
2947
+
2948
+
2949
+
2950
+
2951
+
2952
+
2953
+
2954
+
2955
+ <fo:block>
2956
+
2957
+ <xsl:if test="ancestor::itu:figure">
2958
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2959
+ </xsl:if>
2960
+
2961
+
2962
+
2963
+
2964
+ <fo:inline xsl:use-attribute-sets="note-name-style">
2965
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2966
+ </fo:inline>
2967
+ <xsl:apply-templates/>
2968
+ </fo:block>
2969
+
2970
+
2971
+ </fo:block-container>
2972
+ </fo:block-container>
2973
+
2974
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
2975
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
2976
+ <xsl:choose>
2977
+ <xsl:when test="$num = 1">
2978
+ <fo:inline xsl:use-attribute-sets="note-p-style">
2979
+ <xsl:apply-templates/>
2980
+ </fo:inline>
2981
+ </xsl:when>
2982
+ <xsl:otherwise>
2983
+ <fo:block xsl:use-attribute-sets="note-p-style">
2984
+ <xsl:apply-templates/>
2985
+ </fo:block>
2986
+ </xsl:otherwise>
2987
+ </xsl:choose>
2988
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']">
2989
+ <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
2990
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2991
+ <xsl:apply-templates/>
2992
+ </fo:block>
2993
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
2994
+ <xsl:param name="sfx"/>
2995
+ <xsl:variable name="suffix">
2996
+ <xsl:choose>
2997
+ <xsl:when test="$sfx != ''">
2998
+ <xsl:value-of select="$sfx"/>
2999
+ </xsl:when>
3000
+ <xsl:otherwise>
3001
+
3002
+
3003
+ <xsl:text> – </xsl:text>
3004
+
3005
+ </xsl:otherwise>
3006
+ </xsl:choose>
3007
+ </xsl:variable>
3008
+ <xsl:if test="normalize-space() != ''">
3009
+ <xsl:apply-templates/>
3010
+ <xsl:value-of select="$suffix"/>
3011
+ </xsl:if>
3012
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
3013
+ <xsl:param name="sfx"/>
3014
+ <xsl:variable name="suffix">
3015
+ <xsl:choose>
3016
+ <xsl:when test="$sfx != ''">
3017
+ <xsl:value-of select="$sfx"/>
3018
+ </xsl:when>
3019
+ <xsl:otherwise>
3020
+
3021
+
3022
+ <xsl:text> – </xsl:text>
3023
+
3024
+ </xsl:otherwise>
3025
+ </xsl:choose>
3026
+ </xsl:variable>
3027
+ <xsl:if test="normalize-space() != ''">
3028
+ <xsl:apply-templates/>
3029
+ <xsl:value-of select="$suffix"/>
3030
+ </xsl:if>
3031
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
3032
+ <fo:inline><xsl:apply-templates/></fo:inline>
3033
+ </xsl:template><xsl:template match="*[local-name() = 'terms']">
3034
+ <fo:block id="{@id}">
3035
+ <xsl:apply-templates/>
3036
+ </fo:block>
3037
+ </xsl:template><xsl:template match="*[local-name() = 'term']">
3038
+ <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
3039
+
3040
+
3041
+
3042
+ <xsl:apply-templates/>
3043
+ </fo:block>
3044
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
3045
+ <xsl:if test="normalize-space() != ''">
3046
+ <fo:inline>
3047
+ <xsl:apply-templates/>
3048
+ <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
3049
+ <xsl:text>.</xsl:text>
3050
+ </xsl:if> -->
3051
+ </fo:inline>
3052
+ </xsl:if>
3053
+ </xsl:template><xsl:template match="*[local-name() = 'figure']">
3054
+ <fo:block-container id="{@id}">
3055
+ <fo:block>
3056
+ <xsl:apply-templates/>
3057
+ </fo:block>
3058
+ <xsl:call-template name="fn_display_figure"/>
3059
+ <xsl:for-each select="*[local-name() = 'note']">
3060
+ <xsl:call-template name="note"/>
3061
+ </xsl:for-each>
3062
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3063
+ </fo:block-container>
3064
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
3065
+ <fo:block id="{@id}">
3066
+ <xsl:apply-templates/>
3067
+ </fo:block>
3068
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3069
+ <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3070
+ <xsl:apply-templates/>
3071
+ </fo:block>
3072
+ </xsl:template><xsl:template match="*[local-name() = 'image']">
3073
+ <fo:block xsl:use-attribute-sets="image-style">
3074
+
3075
+
3076
+ <xsl:variable name="src">
3077
+ <xsl:choose>
3078
+ <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
3079
+ <xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
3080
+ </xsl:when>
3081
+ <xsl:otherwise>
3082
+ <xsl:value-of select="@src"/>
3083
+ </xsl:otherwise>
3084
+ </xsl:choose>
3085
+ </xsl:variable>
3086
+
3087
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
3088
+ </fo:block>
3089
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
3090
+ <xsl:apply-templates mode="contents"/>
3091
+ <xsl:text> </xsl:text>
3092
+ </xsl:template><xsl:template match="text()" mode="contents">
3093
+ <xsl:value-of select="."/>
3094
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
3095
+ <xsl:if test="normalize-space() != ''">
3096
+ <fo:block xsl:use-attribute-sets="figure-name-style">
3097
+
3098
+ <xsl:apply-templates/>
3099
+ </fo:block>
3100
+ </xsl:if>
3101
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
3102
+ <xsl:apply-templates mode="contents_item"/>
3103
+ <!-- <xsl:text> </xsl:text> -->
3104
+ </xsl:template><xsl:template name="getSection">
3105
+ <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
3106
+ </xsl:template><xsl:template name="getName">
3107
+ <xsl:choose>
3108
+ <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
3109
+ <xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
3110
+ </xsl:when>
3111
+ <xsl:otherwise>
3112
+ <xsl:copy-of select="*[local-name() = 'title']/node()"/>
3113
+ </xsl:otherwise>
3114
+ </xsl:choose>
3115
+ </xsl:template><xsl:template name="insertTitleAsListItem">
3116
+ <xsl:param name="provisional-distance-between-starts" select="'9.5mm'"/>
3117
+ <xsl:variable name="section">
3118
+ <xsl:for-each select="..">
3119
+ <xsl:call-template name="getSection"/>
3120
+ </xsl:for-each>
3121
+ </xsl:variable>
3122
+ <fo:list-block provisional-distance-between-starts="{$provisional-distance-between-starts}">
3123
+ <fo:list-item>
3124
+ <fo:list-item-label end-indent="label-end()">
3125
+ <fo:block>
3126
+ <xsl:value-of select="$section"/>
3127
+ </fo:block>
3128
+ </fo:list-item-label>
3129
+ <fo:list-item-body start-indent="body-start()">
3130
+ <fo:block>
3131
+ <xsl:choose>
3132
+ <xsl:when test="*[local-name() = 'tab']">
3133
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
3134
+ </xsl:when>
3135
+ <xsl:otherwise>
3136
+ <xsl:apply-templates/>
3137
+ </xsl:otherwise>
3138
+ </xsl:choose>
3139
+ </fo:block>
3140
+ </fo:list-item-body>
3141
+ </fo:list-item>
3142
+ </fo:list-block>
3143
+ </xsl:template><xsl:template name="extractTitle">
3144
+ <xsl:choose>
3145
+ <xsl:when test="*[local-name() = 'tab']">
3146
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
3147
+ </xsl:when>
3148
+ <xsl:otherwise>
3149
+ <xsl:apply-templates/>
3150
+ </xsl:otherwise>
3151
+ </xsl:choose>
3152
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
3153
+ <xsl:text> </xsl:text>
3154
+ </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
3155
+ <xsl:copy>
3156
+ <xsl:apply-templates mode="contents_item"/>
3157
+ </xsl:copy>
3158
+ </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
3159
+ <xsl:text> </xsl:text>
3160
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3161
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
3162
+ <xsl:apply-templates/>
3163
+ </fo:block>
3164
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3165
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
3166
+ <xsl:variable name="text">
3167
+ <xsl:call-template name="add-zero-spaces-equal"/>
3168
+ </xsl:variable>
3169
+ <xsl:call-template name="add-zero-spaces">
3170
+ <xsl:with-param name="text" select="$text"/>
3171
+ </xsl:call-template>
3172
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
3173
+ <xsl:if test="normalize-space() != ''">
3174
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3175
+
3176
+ <xsl:apply-templates/>
3177
+ </fo:block>
3178
+ </xsl:if>
3179
+ </xsl:template><xsl:template match="*[local-name() = 'permission']">
3180
+ <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
3181
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3182
+ <xsl:apply-templates/>
3183
+ </fo:block>
3184
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
3185
+ <xsl:if test="normalize-space() != ''">
3186
+ <fo:block xsl:use-attribute-sets="permission-name-style">
3187
+ <xsl:apply-templates/>
3188
+
3189
+ </fo:block>
3190
+ </xsl:if>
3191
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'label']">
3192
+ <fo:block xsl:use-attribute-sets="permission-label-style">
3193
+ <xsl:apply-templates/>
3194
+ </fo:block>
3195
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']">
3196
+ <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
3197
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3198
+ <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
3199
+ <xsl:apply-templates select="@obligation" mode="presentation"/>
3200
+ <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
3201
+ <xsl:apply-templates/>
3202
+ </fo:block>
3203
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
3204
+ <xsl:if test="normalize-space() != ''">
3205
+ <fo:block xsl:use-attribute-sets="requirement-name-style">
3206
+
3207
+ <xsl:apply-templates/>
3208
+
3209
+ </fo:block>
3210
+ </xsl:if>
3211
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
3212
+ <fo:block xsl:use-attribute-sets="requirement-label-style">
3213
+ <xsl:apply-templates/>
3214
+ </fo:block>
3215
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
3216
+ <fo:block>
3217
+ <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
3218
+ </fo:block>
3219
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
3220
+ <fo:block xsl:use-attribute-sets="requirement-subject-style">
3221
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
3222
+ </fo:block>
3223
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
3224
+ <fo:block xsl:use-attribute-sets="requirement-inherit-style">
3225
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
3226
+ </fo:block>
3227
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
3228
+ <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
3229
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3230
+ <xsl:apply-templates/>
3231
+ </fo:block>
3232
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
3233
+ <xsl:if test="normalize-space() != ''">
3234
+ <fo:block xsl:use-attribute-sets="recommendation-name-style">
3235
+ <xsl:apply-templates/>
3236
+
3237
+ </fo:block>
3238
+ </xsl:if>
3239
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'label']">
3240
+ <fo:block xsl:use-attribute-sets="recommendation-label-style">
3241
+ <xsl:apply-templates/>
3242
+ </fo:block>
3243
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']">
3244
+ <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
3245
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3246
+ <xsl:apply-templates/>
3247
+ </fo:block>
3248
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
3249
+ <xsl:if test="normalize-space() != ''">
3250
+ <fo:inline xsl:use-attribute-sets="termexample-name-style">
3251
+ <xsl:apply-templates/>
3252
+ </fo:inline>
3253
+ </xsl:if>
3254
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
3255
+ <fo:inline><xsl:apply-templates/></fo:inline>
3256
+ </xsl:template><xsl:template match="*[local-name() = 'example']">
3257
+ <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
3258
+
3259
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3260
+
3261
+ <xsl:variable name="element">
3262
+ block
3263
+
3264
+ </xsl:variable>
3265
+
3266
+ <xsl:choose>
3267
+ <xsl:when test="normalize-space($element) = 'block'">
3268
+ <fo:block xsl:use-attribute-sets="example-body-style">
3269
+ <xsl:apply-templates/>
3270
+ </fo:block>
3271
+ </xsl:when>
3272
+ <xsl:otherwise>
3273
+ <fo:inline>
3274
+ <xsl:apply-templates/>
3275
+ </fo:inline>
3276
+ </xsl:otherwise>
3277
+ </xsl:choose>
3278
+
3279
+ </fo:block>
3280
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
3281
+
3282
+ <xsl:variable name="element">
3283
+ block
3284
+
3285
+ </xsl:variable>
3286
+ <xsl:choose>
3287
+ <xsl:when test="ancestor::*[local-name() = 'appendix']">
3288
+ <fo:inline>
3289
+ <xsl:apply-templates/>
3290
+ </fo:inline>
3291
+ </xsl:when>
3292
+ <xsl:when test="normalize-space($element) = 'block'">
3293
+ <fo:block xsl:use-attribute-sets="example-name-style">
3294
+ <xsl:apply-templates/>
3295
+ </fo:block>
3296
+ </xsl:when>
3297
+ <xsl:otherwise>
3298
+ <fo:inline xsl:use-attribute-sets="example-name-style">
3299
+ <xsl:apply-templates/>
3300
+ </fo:inline>
3301
+ </xsl:otherwise>
3302
+ </xsl:choose>
3303
+
3304
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3305
+ <fo:block xsl:use-attribute-sets="example-p-style">
3306
+
3307
+ <xsl:apply-templates/>
3308
+ </fo:block>
3309
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']">
3310
+ <fo:block xsl:use-attribute-sets="termsource-style">
3311
+ <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
3312
+ <xsl:variable name="termsource_text">
3313
+ <xsl:apply-templates/>
3314
+ </xsl:variable>
3315
+ <xsl:choose>
3316
+ <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
3317
+ <xsl:apply-templates/>
3760
3318
  </xsl:when>
3761
3319
  <xsl:otherwise>
3762
- <xsl:value-of select="normalize-space(@target)"/>
3320
+ <xsl:text>[</xsl:text>
3321
+ <xsl:apply-templates/>
3322
+ <xsl:text>]</xsl:text>
3763
3323
  </xsl:otherwise>
3764
3324
  </xsl:choose>
3325
+ </fo:block>
3326
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
3327
+ <xsl:if test="normalize-space() != ''">
3328
+ <xsl:value-of select="."/>
3329
+ </xsl:if>
3330
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
3331
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3332
+
3333
+ <fo:inline xsl:use-attribute-sets="origin-style">
3334
+ <xsl:apply-templates/>
3335
+ </fo:inline>
3336
+ </fo:basic-link>
3337
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
3338
+ <fo:inline><xsl:apply-templates/></fo:inline>
3339
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
3340
+ <xsl:if test="normalize-space() != ''">
3341
+ <xsl:value-of select="."/>
3342
+ </xsl:if>
3343
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
3344
+
3345
+ <fo:block xsl:use-attribute-sets="quote-style">
3346
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3347
+ </fo:block>
3348
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3349
+ <fo:block xsl:use-attribute-sets="quote-source-style">
3350
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
3351
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
3352
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
3353
+ </fo:block>
3354
+ </xsl:if>
3355
+ </xsl:template><xsl:template match="*[local-name() = 'source']">
3356
+ <xsl:if test="../*[local-name() = 'author']">
3357
+ <xsl:text>, </xsl:text>
3358
+ </xsl:if>
3359
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3360
+ <xsl:apply-templates/>
3361
+ </fo:basic-link>
3362
+ </xsl:template><xsl:template match="*[local-name() = 'author']">
3363
+ <xsl:text>— </xsl:text>
3364
+ <xsl:apply-templates/>
3365
+ </xsl:template><xsl:template match="*[local-name() = 'eref']">
3366
+ <fo:inline xsl:use-attribute-sets="eref-style">
3367
+ <xsl:if test="@type = 'footnote'">
3368
+
3369
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
3370
+ <xsl:attribute name="font-size">80%</xsl:attribute>
3371
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3372
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
3373
+
3374
+
3375
+ </xsl:if>
3376
+
3377
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3378
+
3379
+ <xsl:if test="@type = 'inline'">
3380
+
3381
+
3382
+ </xsl:if>
3383
+
3384
+
3385
+ <xsl:apply-templates/>
3386
+ </fo:basic-link>
3387
+ </fo:inline>
3388
+ </xsl:template><xsl:template match="*[local-name() = 'tab']">
3389
+ <!-- zero-space char -->
3390
+ <xsl:variable name="depth">
3391
+ <xsl:call-template name="getLevel">
3392
+ <xsl:with-param name="depth" select="../@depth"/>
3393
+ </xsl:call-template>
3765
3394
  </xsl:variable>
3766
- <fo:inline xsl:use-attribute-sets="link-style">
3395
+
3396
+ <xsl:variable name="padding">
3397
+
3398
+
3399
+
3400
+
3401
+
3402
+
3403
+
3404
+ <xsl:choose>
3405
+ <xsl:when test="$depth = 5">7</xsl:when>
3406
+ <xsl:when test="$depth = 4">10</xsl:when>
3407
+ <xsl:when test="$depth = 3">6</xsl:when>
3408
+ <xsl:when test="$depth = 2">9</xsl:when>
3409
+ <xsl:otherwise>12</xsl:otherwise>
3410
+ </xsl:choose>
3411
+
3412
+
3413
+
3414
+
3415
+
3416
+
3417
+
3418
+
3419
+
3420
+
3421
+
3422
+ </xsl:variable>
3423
+
3424
+ <xsl:variable name="padding-right">
3767
3425
  <xsl:choose>
3768
- <xsl:when test="$target = ''">
3769
- <xsl:apply-templates/>
3770
- </xsl:when>
3426
+ <xsl:when test="normalize-space($padding) = ''">0</xsl:when>
3771
3427
  <xsl:otherwise>
3772
- <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3773
- <xsl:choose>
3774
- <xsl:when test="normalize-space(.) = ''">
3775
- <xsl:value-of select="$target"/>
3776
- </xsl:when>
3777
- <xsl:otherwise>
3778
- <xsl:apply-templates/>
3779
- </xsl:otherwise>
3780
- </xsl:choose>
3781
- </fo:basic-link>
3428
+ <xsl:value-of select="normalize-space($padding)"/>
3782
3429
  </xsl:otherwise>
3783
3430
  </xsl:choose>
3784
- </fo:inline>
3785
- </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3786
- <fo:block xsl:use-attribute-sets="sourcecode-style">
3787
- <!-- <xsl:choose>
3788
- <xsl:when test="@lang = 'en'"></xsl:when>
3789
- <xsl:otherwise> -->
3790
- <xsl:attribute name="white-space">pre</xsl:attribute>
3791
- <xsl:attribute name="wrap-option">wrap</xsl:attribute>
3792
- <!-- </xsl:otherwise>
3793
- </xsl:choose> -->
3431
+ </xsl:variable>
3432
+
3433
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3434
+
3435
+ <xsl:choose>
3436
+ <xsl:when test="$language = 'zh'">
3437
+ <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
3438
+ </xsl:when>
3439
+ <xsl:when test="../../@inline-header = 'true'">
3440
+ <fo:inline font-size="90%">
3441
+ <xsl:call-template name="insertNonBreakSpaces">
3442
+ <xsl:with-param name="count" select="$padding-right"/>
3443
+ </xsl:call-template>
3444
+ </fo:inline>
3445
+ </xsl:when>
3446
+ <xsl:otherwise>
3447
+ <fo:inline padding-right="{$padding-right}mm">​</fo:inline>
3448
+ </xsl:otherwise>
3449
+ </xsl:choose>
3450
+
3451
+ </xsl:template><xsl:template name="insertNonBreakSpaces">
3452
+ <xsl:param name="count"/>
3453
+ <xsl:if test="$count &gt; 0">
3454
+ <xsl:text> </xsl:text>
3455
+ <xsl:call-template name="insertNonBreakSpaces">
3456
+ <xsl:with-param name="count" select="$count - 1"/>
3457
+ </xsl:call-template>
3458
+ </xsl:if>
3459
+ </xsl:template><xsl:template match="*[local-name() = 'domain']">
3460
+ <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
3461
+ <xsl:text> </xsl:text>
3462
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']">
3463
+ <fo:block xsl:use-attribute-sets="admitted-style">
3794
3464
  <xsl:apply-templates/>
3795
3465
  </fo:block>
3796
- </xsl:template><xsl:template match="*[local-name()='bookmark']">
3797
- <fo:inline id="{@id}"/>
3798
- </xsl:template><xsl:template match="*[local-name()='appendix']">
3799
- <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3800
- <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
3801
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
3466
+ </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
3467
+ <xsl:variable name="title-deprecated">
3468
+ <xsl:call-template name="getTitle">
3469
+ <xsl:with-param name="name" select="'title-deprecated'"/>
3470
+ </xsl:call-template>
3471
+ </xsl:variable>
3472
+ <fo:block xsl:use-attribute-sets="deprecates-style">
3473
+ <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
3802
3474
  </fo:block>
3475
+ </xsl:template><xsl:template match="*[local-name() = 'definition']">
3476
+ <fo:block xsl:use-attribute-sets="definition-style">
3477
+ <xsl:apply-templates/>
3478
+ </fo:block>
3479
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]">
3803
3480
  <xsl:apply-templates/>
3804
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3805
- <fo:inline><xsl:apply-templates/></fo:inline>
3806
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
3807
- <fo:block xsl:use-attribute-sets="appendix-example-style">
3808
- <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
3809
- <xsl:value-of select="$title-example"/>
3810
- <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
3811
- <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
3812
- </xsl:if>
3813
- <xsl:if test="*[local-name()='name']">
3814
- <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
3815
- </xsl:if>
3481
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p']">
3482
+ <fo:inline> <xsl:apply-templates/></fo:inline>
3483
+ <fo:block> </fo:block>
3484
+ </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
3485
+
3486
+ <fo:block>
3487
+ <xsl:call-template name="setId"/>
3488
+
3489
+
3490
+
3491
+
3492
+
3493
+
3494
+
3495
+
3496
+
3497
+
3498
+ <xsl:apply-templates/>
3499
+ </fo:block>
3500
+
3501
+
3502
+
3503
+ </xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
3504
+ <fo:block break-after="page"/>
3505
+ <fo:block>
3506
+ <xsl:call-template name="setId"/>
3507
+ <xsl:apply-templates/>
3508
+ </fo:block>
3509
+ </xsl:template><xsl:template match="*[local-name() = 'clause']">
3510
+ <fo:block>
3511
+ <xsl:call-template name="setId"/>
3512
+ <xsl:apply-templates/>
3513
+ </fo:block>
3514
+ </xsl:template><xsl:template match="*[local-name() = 'definitions']">
3515
+ <fo:block id="{@id}">
3516
+ <xsl:apply-templates/>
3517
+ </fo:block>
3518
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3519
+
3520
+ <fo:block id="{@id}">
3521
+ <xsl:apply-templates/>
3522
+ </fo:block>
3523
+ </xsl:template><xsl:template match="*[local-name() = 'annex']">
3524
+ <fo:block break-after="page"/>
3525
+ <fo:block id="{@id}">
3526
+
3816
3527
  </fo:block>
3817
3528
  <xsl:apply-templates/>
3818
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
3819
- <fo:inline><xsl:apply-templates/></fo:inline>
3820
- </xsl:template><xsl:template match="*[local-name() = 'callout']">
3821
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3822
- </xsl:template><xsl:template match="*[local-name() = 'annotation']">
3823
- <xsl:variable name="annotation-id" select="@id"/>
3824
- <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
3825
- <fo:block id="{$annotation-id}" white-space="nowrap">
3826
- <fo:inline>
3827
- <xsl:apply-templates>
3828
- <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
3829
- </xsl:apply-templates>
3830
- </fo:inline>
3831
- </fo:block>
3832
- </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
3833
- <xsl:param name="callout"/>
3834
- <fo:inline id="{@id}">
3835
- <!-- for first p in annotation, put <x> -->
3836
- <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
3529
+ </xsl:template><xsl:template match="*[local-name() = 'review']">
3530
+ <!-- comment 2019-11-29 -->
3531
+ <!-- <fo:block font-weight="bold">Review:</fo:block>
3532
+ <xsl:apply-templates /> -->
3533
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
3534
+ <!-- 0xA0 to space replacement -->
3535
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
3536
+ </xsl:template><xsl:template match="*[local-name() = 'errata']">
3537
+ <!-- <row>
3538
+ <date>05-07-2013</date>
3539
+ <type>Editorial</type>
3540
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
3541
+ <pages>D-3</pages>
3542
+ </row>
3543
+ -->
3544
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
3545
+ <fo:table-column column-width="20mm"/>
3546
+ <fo:table-column column-width="23mm"/>
3547
+ <fo:table-column column-width="107mm"/>
3548
+ <fo:table-column column-width="15mm"/>
3549
+ <fo:table-body>
3550
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
3551
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
3552
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
3553
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
3554
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
3555
+ </fo:table-row>
3556
+ <xsl:apply-templates/>
3557
+ </fo:table-body>
3558
+ </fo:table>
3559
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']">
3560
+ <fo:table-row>
3837
3561
  <xsl:apply-templates/>
3838
- </fo:inline>
3562
+ </fo:table-row>
3563
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
3564
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
3565
+ <fo:block><xsl:apply-templates/></fo:block>
3566
+ </fo:table-cell>
3839
3567
  </xsl:template><xsl:template name="convertDate">
3840
3568
  <xsl:param name="date"/>
3841
3569
  <xsl:param name="format" select="'short'"/>
@@ -3900,4 +3628,171 @@
3900
3628
  <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
3901
3629
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
3902
3630
  </xsl:choose>
3631
+ </xsl:template><xsl:template name="addPDFUAmeta">
3632
+ <fo:declarations>
3633
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
3634
+ <pdf:dictionary type="normal" key="ViewerPreferences">
3635
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
3636
+ </pdf:dictionary>
3637
+ </pdf:catalog>
3638
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
3639
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
3640
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
3641
+ <!-- Dublin Core properties go here -->
3642
+ <dc:title>
3643
+ <xsl:variable name="title">
3644
+
3645
+
3646
+
3647
+
3648
+ <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@type='main']"/>
3649
+
3650
+ </xsl:variable>
3651
+ <xsl:choose>
3652
+ <xsl:when test="normalize-space($title) != ''">
3653
+ <xsl:value-of select="$title"/>
3654
+ </xsl:when>
3655
+ <xsl:otherwise>
3656
+ <xsl:text> </xsl:text>
3657
+ </xsl:otherwise>
3658
+ </xsl:choose>
3659
+ </dc:title>
3660
+ <dc:creator>
3661
+
3662
+ <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
3663
+
3664
+
3665
+ </dc:creator>
3666
+ <dc:description>
3667
+ <xsl:variable name="abstract">
3668
+
3669
+
3670
+
3671
+
3672
+ <xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/>
3673
+
3674
+ </xsl:variable>
3675
+ <xsl:value-of select="normalize-space($abstract)"/>
3676
+ </dc:description>
3677
+ <pdf:Keywords>
3678
+ <xsl:call-template name="insertKeywords"/>
3679
+ </pdf:Keywords>
3680
+ </rdf:Description>
3681
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
3682
+ <!-- XMP properties go here -->
3683
+ <xmp:CreatorTool/>
3684
+ </rdf:Description>
3685
+ </rdf:RDF>
3686
+ </x:xmpmeta>
3687
+ </fo:declarations>
3688
+ </xsl:template><xsl:template name="getId">
3689
+ <xsl:choose>
3690
+ <xsl:when test="../@id">
3691
+ <xsl:value-of select="../@id"/>
3692
+ </xsl:when>
3693
+ <xsl:otherwise>
3694
+ <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
3695
+ <xsl:value-of select="concat(generate-id(..), '_', text())"/>
3696
+ </xsl:otherwise>
3697
+ </xsl:choose>
3698
+ </xsl:template><xsl:template name="getLevel">
3699
+ <xsl:param name="depth"/>
3700
+ <xsl:choose>
3701
+ <xsl:when test="normalize-space(@depth) != ''">
3702
+ <xsl:value-of select="@depth"/>
3703
+ </xsl:when>
3704
+ <xsl:when test="normalize-space($depth) != ''">
3705
+ <xsl:value-of select="$depth"/>
3706
+ </xsl:when>
3707
+ <xsl:otherwise>
3708
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
3709
+ <xsl:variable name="level">
3710
+ <xsl:choose>
3711
+ <xsl:when test="parent::*[local-name() = 'preface']">
3712
+ <xsl:value-of select="$level_total - 1"/>
3713
+ </xsl:when>
3714
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
3715
+ <xsl:value-of select="$level_total - 2"/>
3716
+ </xsl:when>
3717
+ <!-- <xsl:when test="parent::*[local-name() = 'sections']">
3718
+ <xsl:value-of select="$level_total - 1"/>
3719
+ </xsl:when> -->
3720
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
3721
+ <xsl:value-of select="$level_total - 1"/>
3722
+ </xsl:when>
3723
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
3724
+ <xsl:value-of select="$level_total - 1"/>
3725
+ </xsl:when>
3726
+ <xsl:when test="parent::*[local-name() = 'annex']">
3727
+ <xsl:value-of select="$level_total - 1"/>
3728
+ </xsl:when>
3729
+ <xsl:when test="ancestor::*[local-name() = 'annex']">
3730
+ <xsl:value-of select="$level_total"/>
3731
+ </xsl:when>
3732
+ <xsl:when test="local-name() = 'annex'">1</xsl:when>
3733
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
3734
+ <xsl:otherwise>
3735
+ <xsl:value-of select="$level_total - 1"/>
3736
+ </xsl:otherwise>
3737
+ </xsl:choose>
3738
+ </xsl:variable>
3739
+ <xsl:value-of select="$level"/>
3740
+ </xsl:otherwise>
3741
+ </xsl:choose>
3742
+ </xsl:template><xsl:template name="split">
3743
+ <xsl:param name="pText" select="."/>
3744
+ <xsl:param name="sep" select="','"/>
3745
+ <xsl:if test="string-length($pText) &gt;0">
3746
+ <item>
3747
+ <xsl:value-of select="normalize-space(substring-before(concat($pText, ','), $sep))"/>
3748
+ </item>
3749
+ <xsl:call-template name="split">
3750
+ <xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
3751
+ <xsl:with-param name="sep" select="$sep"/>
3752
+ </xsl:call-template>
3753
+ </xsl:if>
3754
+ </xsl:template><xsl:template name="getDocumentId">
3755
+ <xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
3756
+ </xsl:template><xsl:template name="namespaceCheck">
3757
+ <xsl:variable name="documentNS" select="namespace-uri(/*)"/>
3758
+ <xsl:variable name="XSLNS">
3759
+
3760
+
3761
+
3762
+ <xsl:value-of select="document('')//*/namespace::itu"/>
3763
+
3764
+
3765
+
3766
+
3767
+
3768
+
3769
+
3770
+
3771
+
3772
+
3773
+ </xsl:variable>
3774
+ <xsl:if test="$documentNS != $XSLNS">
3775
+ <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
3776
+ </xsl:if>
3777
+ </xsl:template><xsl:template name="getLanguage">
3778
+ <xsl:param name="lang"/>
3779
+ <xsl:variable name="language" select="java:toLowerCase(java:java.lang.String.new($lang))"/>
3780
+ <xsl:choose>
3781
+ <xsl:when test="$language = 'en'">English</xsl:when>
3782
+ <xsl:when test="$language = 'fr'">French</xsl:when>
3783
+ <xsl:when test="$language = 'de'">Deutsch</xsl:when>
3784
+ <xsl:when test="$language = 'cn'">Chinese</xsl:when>
3785
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3786
+ </xsl:choose>
3787
+ </xsl:template><xsl:template name="setId">
3788
+ <xsl:attribute name="id">
3789
+ <xsl:choose>
3790
+ <xsl:when test="@id">
3791
+ <xsl:value-of select="@id"/>
3792
+ </xsl:when>
3793
+ <xsl:otherwise>
3794
+ <xsl:value-of select="generate-id()"/>
3795
+ </xsl:otherwise>
3796
+ </xsl:choose>
3797
+ </xsl:attribute>
3903
3798
  </xsl:template></xsl:stylesheet>