metanorma-iec 1.0.7 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 702bde73e6c15e4075069ef6f597c9da42f317b387266ce54d3d95ff55c5c2a7
4
- data.tar.gz: 4bbc8a1a6ebfcfeef7babc72f1bfb2e68459afa89b4611e0614df2cb8c7f0422
3
+ metadata.gz: 1fbe3d530ca404960dbb29bf3e17cf9edd87f3aaf490c611237d0bdb24c0b9f4
4
+ data.tar.gz: 24d862f45615ae61c6763c8a3ed1a0ce7ef111daf7d7298182be2fd85d6689e7
5
5
  SHA512:
6
- metadata.gz: f974f0bfae339e3e529cb589f8e24e8e3d27e2791fb361f052f492fbe11e74f2962f499c930db5f3176ae54e76fa6b39f6d12b3f45d159440262dfc9de5a1c46
7
- data.tar.gz: 768f3a71989f9d6f81c0efcd9af67774e07baa74318cf9e24945deaacb0a1aae522ff9155c69fed91c2cc3a59105ebeb6c7d805e5e9fe23c84e71a286fe1d89a
6
+ metadata.gz: 9caee1648d816b662e0a28802746b6a22c3d17d3ca1c6cb0ed5adc8b179b54f7d2a7172a64bc8a1658849b2f17080df009118d15be601d91f3bc23310933d3a1
7
+ data.tar.gz: c253b48e4750170511dfcfcc5496570fe6f85a4eb32372e1f95e161425b29ffb5ad21131ebb8083bae5188c6e0f0dfca9dfed79250b1d68278a3418b3a79f3a2
@@ -661,9 +661,9 @@
661
661
  <optional>
662
662
  <ref name="status"/>
663
663
  </optional>
664
- <optional>
664
+ <zeroOrMore>
665
665
  <ref name="copyright"/>
666
- </optional>
666
+ </zeroOrMore>
667
667
  <zeroOrMore>
668
668
  <ref name="docrelation"/>
669
669
  </zeroOrMore>
@@ -1021,7 +1021,17 @@
1021
1021
  <optional>
1022
1022
  <ref name="to"/>
1023
1023
  </optional>
1024
- <ref name="owner"/>
1024
+ <oneOrMore>
1025
+ <ref name="owner"/>
1026
+ </oneOrMore>
1027
+ <optional>
1028
+ <ref name="copyright_scope"/>
1029
+ </optional>
1030
+ </element>
1031
+ </define>
1032
+ <define name="copyright_scope">
1033
+ <element name="scope">
1034
+ <text/>
1025
1035
  </element>
1026
1036
  </define>
1027
1037
  <define name="from">
@@ -76,6 +76,9 @@ module Asciidoctor
76
76
  def term_defs_boilerplate(div, source, term, preface, isodoc)
77
77
  return super unless @is_iev
78
78
  end
79
+
80
+ def sts_converter(node)
81
+ end
79
82
  end
80
83
  end
81
84
  end
@@ -175,7 +175,7 @@ module Asciidoctor
175
175
  DOC_STAGE[stage.to_sym] || "??"
176
176
  end
177
177
 
178
- def stage_name(stage, substage, _doctype)
178
+ def stage_name(stage, substage, _doctype, _iteration)
179
179
  STAGE_NAMES[stage.to_sym]
180
180
  end
181
181
 
@@ -53,6 +53,14 @@
53
53
  <optional>
54
54
  <attribute name="alt"/>
55
55
  </optional>
56
+ <optional>
57
+ <attribute name="case">
58
+ <choice>
59
+ <value>capital</value>
60
+ <value>lowercase</value>
61
+ </choice>
62
+ </attribute>
63
+ </optional>
56
64
  <text/>
57
65
  </element>
58
66
  </define>
@@ -902,7 +910,15 @@
902
910
  <attribute name="id">
903
911
  <data type="ID"/>
904
912
  </attribute>
905
- <ref name="paragraph"/>
913
+ <oneOrMore>
914
+ <choice>
915
+ <ref name="paragraph"/>
916
+ <ref name="ul"/>
917
+ <ref name="ol"/>
918
+ <ref name="dl"/>
919
+ <ref name="formula"/>
920
+ </choice>
921
+ </oneOrMore>
906
922
  </element>
907
923
  </define>
908
924
  <define name="termexample">
@@ -91,6 +91,12 @@
91
91
  </define>
92
92
  <define name="sections">
93
93
  <element name="sections">
94
+ <zeroOrMore>
95
+ <choice>
96
+ <ref name="note"/>
97
+ <ref name="admonition"/>
98
+ </choice>
99
+ </zeroOrMore>
94
100
  <ref name="clause"/>
95
101
  <optional>
96
102
  <choice>
@@ -512,7 +518,7 @@
512
518
  </attribute>
513
519
  </optional>
514
520
  <oneOrMore>
515
- <ref name="paragraph-with-footnote"/>
521
+ <ref name="BasicBlock"/>
516
522
  </oneOrMore>
517
523
  </element>
518
524
  </define>
@@ -148,9 +148,10 @@ module IsoDoc
148
148
  end
149
149
  end
150
150
 
151
- def textcleanup(docxml)
151
+ def termref_cleanup(docxml)
152
152
  return super unless @is_iev
153
153
  docxml.
154
+ gsub(%r{\s*\[/TERMREF\]\s*</p>\s*<p>\s*\[TERMREF\]}, "; ").
154
155
  gsub(/\[TERMREF\]\s*/, l10n("#{@source_lbl}: ")).
155
156
  gsub(/\s*\[MODIFICATION\]\s*\[\/TERMREF\]/, l10n(", #{@modified_lbl} [/TERMREF]")).
156
157
  gsub(/\s*\[\/TERMREF\]\s*/, l10n("")).
@@ -190,6 +191,44 @@ module IsoDoc
190
191
  term_suffix(node, p)
191
192
  end
192
193
  end
194
+
195
+ def admonition_parse(node, out)
196
+ type = node["type"]
197
+ name = admonition_name(node, type)
198
+ out.div **{ id: node["id"], class: admonition_class(node) } do |div|
199
+ node.first_element_child.name == "p" ?
200
+ admonition_p_parse(node, div, name) : admonition_parse1(node, div, name)
201
+ end
202
+ end
203
+
204
+ def admonition_parse1(node, div, name)
205
+ div.p do |p|
206
+ admonition_name_parse(node, p, name) if name
207
+ end
208
+ node.children.each { |n| parse(n, div) unless n.name == "name" }
209
+ end
210
+
211
+ def admonition_p_parse(node, div, name)
212
+ div.p do |p|
213
+ admonition_name_parse(node, p, name) if name
214
+ node.first_element_child.children.each { |n| parse(n, p) }
215
+ end
216
+ node.element_children[1..-1].each { |n| parse(n, div) }
217
+ end
218
+
219
+ def admonition_name_parse(_node, div, name)
220
+ name.children.each { |n| parse(n, div) }
221
+ div << " &mdash; "
222
+ end
223
+
224
+ def clause_parse_title(node, div, c1, out)
225
+ IsoDoc::Common.instance_method(:clause_parse_title).bind(self).call(node, div, c1, out)
226
+ end
227
+
228
+ def biblio_list(f, div, biblio)
229
+ biblio = false
230
+ super
231
+ end
193
232
  end
194
233
  end
195
234
  end
@@ -182,7 +182,6 @@ p.TableTitle
182
182
  /* IEC: NOTE */
183
183
  p.Note, div.Note, li.Note
184
184
  {mso-style-unhide:no;
185
- mso-style-unhide:no;
186
185
  mso-style-qformat:yes;
187
186
  mso-style-next:Normal;
188
187
  margin-top:5.0pt;
@@ -325,10 +324,11 @@ p.AltTerms, li.AltTerms, div.AltTerms
325
324
  margin-top:0cm;
326
325
  margin-right:0cm;
327
326
  margin-bottom:0cm;
328
- margin-left:17.0pt;
327
+ /* https://github.com/metanorma/metanorma-iec/issues/62 */
328
+ /* margin-left:17.0pt; */ /* suppress to line up math terms */
329
329
  margin-bottom:.0001pt;
330
330
  text-align:justify;
331
- text-indent:-17.0pt;
331
+ /* text-indent:-17.0pt; */ /* suppress to line up math terms */
332
332
  mso-pagination:widow-orphan;
333
333
  page-break-after:avoid;
334
334
  layout-grid-mode:char;
@@ -529,8 +529,6 @@ p.QuoteAttribution
529
529
  p.Admonition, li.Admonition, div.Admonition
530
530
  {mso-style-priority:99;
531
531
  mso-pagination:widow-orphan;
532
- border:none;
533
- padding:0cm;
534
532
  font-size:10.0pt;
535
533
  font-family:$bodyfont;
536
534
  mso-ascii-font-family:$bodyfont;
@@ -541,10 +539,14 @@ p.Admonition, li.Admonition, div.Admonition
541
539
  mso-hansi-theme-font:minor-latin;
542
540
  mso-bidi-font-family:$bodyfont;
543
541
  mso-bidi-theme-font:minor-bidi;
542
+ mso-element:para-border-div;
543
+ border:solid windowtext 1.0pt;
544
+ mso-border-alt:solid windowtext .5pt;
545
+ padding:1.0pt 4.0pt 1.0pt 4.0pt;
544
546
  font-weight:bold;
545
547
  mso-ansi-language:EN-AU;}
546
548
  /* IEC:PARAEQUATION */
547
- p.Formula, li.Formula, div.Formula
549
+ p.formula, li.formula, div.formula
548
550
  {mso-style-name:Formula;
549
551
  mso-style-unhide:no;
550
552
  mso-style-qformat:yes;
@@ -652,8 +654,6 @@ table.MsoTableGrid
652
654
  mso-pagination:widow-orphan;
653
655
  font-size:10.0pt;
654
656
  font-family:$bodyfont;}
655
- div.formula
656
- {tab-stops:right 487.45pt;}
657
657
  body
658
658
  {tab-interval:36.0pt;}
659
659
  .coverpage_docnumber
@@ -823,9 +823,15 @@ div.example, td.example {
823
823
  margin-bottom:12.0pt;
824
824
  }
825
825
 
826
- span.note_label, span.example_label, td.example_label, td.note_label
826
+ span.example_label, td.example_label
827
827
  {
828
828
  font-size: 10.0pt;
829
829
  font-family:$bodyfont;
830
830
  }
831
831
 
832
+ span.note_label, td.note_label
833
+ {
834
+ font-size: 8.0pt;
835
+ font-family:$bodyfont;
836
+ }
837
+
@@ -1323,7 +1323,6 @@ div.WordSection1
1323
1323
  margin:3.0cm 2.5cm 1.5cm 2.5cm;
1324
1324
  mso-header-margin:35.45pt;
1325
1325
  mso-footer-margin:14.2pt;
1326
- mso-page-numbers:roman-lower;
1327
1326
  mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2;
1328
1327
  mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2;
1329
1328
  mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef2;
@@ -1362,7 +1361,6 @@ div.WordSection2
1362
1361
  margin:3.0cm 2.5cm 1.5cm 2.5cm;
1363
1362
  mso-header-margin:35.45pt;
1364
1363
  mso-footer-margin:14.2pt;
1365
- mso-page-numbers:1;
1366
1364
  mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2;
1367
1365
  mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2;
1368
1366
  mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef3;
@@ -1401,7 +1399,6 @@ div.WordSection3
1401
1399
  margin:3.0cm 2.5cm 1.5cm 2.5cm;
1402
1400
  mso-header-margin:35.45pt;
1403
1401
  mso-footer-margin:14.2pt;
1404
- mso-page-numbers:1;
1405
1402
  mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2;
1406
1403
  mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2;
1407
1404
  mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") f4;
@@ -24,9 +24,8 @@
24
24
  <xsl:variable name="title-main" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'en' and @type = 'title-main']"/>
25
25
  <xsl:variable name="title-main-fr" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'fr' and @type = 'title-main']"/>
26
26
  <xsl:variable name="part" select="/iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:project-number/@part"/>
27
- <xsl:variable name="title-part" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'en' and @type = 'title-part']"/>
28
- <xsl:variable name="title-part-fr" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'fr' and @type = 'title-part']"/>
29
-
27
+
28
+
30
29
  <xsl:variable name="doctype_uppercased" select="translate(translate(/iec:iec-standard/iec:bibdata/iec:ext/iec:doctype,'-',' '), $lower,$upper)"/>
31
30
 
32
31
  <xsl:variable name="organization" select="translate(/iec:iec-standard/iec:bibdata/iec:contributor/iec:organization/iec:name, $lower, $upper)"/>
@@ -197,7 +196,9 @@
197
196
  </xsl:variable>
198
197
  <xsl:value-of select="normalize-space($abstract)"/>
199
198
  </dc:description>
200
- <pdf:Keywords/>
199
+ <pdf:Keywords>
200
+ <xsl:call-template name="insertKeywords"/>
201
+ </pdf:Keywords>
201
202
  </rdf:Description>
202
203
  <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
203
204
  <!-- XMP properties go here -->
@@ -1053,7 +1054,9 @@
1053
1054
  <xsl:value-of select="translate($title-intro, $lower, $upper)"/>
1054
1055
  <xsl:text> — </xsl:text>
1055
1056
  <xsl:value-of select="translate($title-main, $lower, $upper)"/>
1056
- <xsl:if test="$title-part != ''">
1057
+
1058
+ <xsl:variable name="part-en" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'en' and @type = 'title-part']"/>
1059
+ <xsl:if test="$part-en != ''">
1057
1060
  <xsl:text> — </xsl:text>
1058
1061
  <fo:block> </fo:block>
1059
1062
  <fo:block>
@@ -1061,7 +1064,7 @@
1061
1064
  <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
1062
1065
  <xsl:text>: </xsl:text>
1063
1066
  </xsl:if>
1064
- <xsl:value-of select="$title-part"/>
1067
+ <xsl:value-of select="$part-en"/>
1065
1068
  </fo:block>
1066
1069
  </xsl:if>
1067
1070
  </fo:block>
@@ -1091,7 +1094,8 @@
1091
1094
  <xsl:value-of select="translate($title-intro, $lower, $upper)"/>
1092
1095
  <xsl:text> — </xsl:text>
1093
1096
  <xsl:value-of select="translate($title-main, $lower, $upper)"/>
1094
- <xsl:if test="$title-part != ''">
1097
+ <xsl:variable name="part-en" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'en' and @type = 'title-part']"/>
1098
+ <xsl:if test="$part-en != ''">
1095
1099
  <xsl:text> — </xsl:text>
1096
1100
  <fo:block> </fo:block>
1097
1101
  <fo:block>
@@ -1099,7 +1103,7 @@
1099
1103
  <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
1100
1104
  <xsl:text>: </xsl:text>
1101
1105
  </xsl:if>
1102
- <xsl:value-of select="$title-part"/>
1106
+ <xsl:value-of select="$part-en"/>
1103
1107
  </fo:block>
1104
1108
  </xsl:if>
1105
1109
  <fo:block> </fo:block>
@@ -1281,14 +1285,15 @@
1281
1285
  <xsl:text> — </xsl:text>
1282
1286
  <xsl:value-of select="$title-main"/>
1283
1287
  </xsl:if>
1284
- <xsl:if test="$title-part != ''">
1288
+ <xsl:variable name="part-en" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'en' and @type = 'title-part']"/>
1289
+ <xsl:if test="$part-en != ''">
1285
1290
  <xsl:text> — </xsl:text>
1286
1291
  <xsl:value-of select="$linebreak"/>
1287
1292
  <xsl:if test="$part != ''">
1288
1293
  <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
1289
1294
  <xsl:text>: </xsl:text>
1290
1295
  </xsl:if>
1291
- <xsl:value-of select="$title-part"/>
1296
+ <xsl:value-of select="$part-en"/>
1292
1297
  </xsl:if>
1293
1298
  </fo:block>
1294
1299
  <fo:block font-size="12pt" font-weight="bold">
@@ -1300,14 +1305,15 @@
1300
1305
  <xsl:text> — </xsl:text>
1301
1306
  <xsl:value-of select="$title-main-fr"/>
1302
1307
  </xsl:if>
1303
- <xsl:if test="$title-part-fr != ''">
1308
+ <xsl:variable name="part-fr" select="/iec:iec-standard/iec:bibdata/iec:title[@language = 'fr' and @type = 'title-part']"/>
1309
+ <xsl:if test="$part-fr != ''">
1304
1310
  <xsl:text> — </xsl:text>
1305
1311
  <xsl:value-of select="$linebreak"/>
1306
1312
  <xsl:if test="$part != ''">
1307
1313
  <xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
1308
1314
  <xsl:text>: </xsl:text>
1309
1315
  </xsl:if>
1310
- <xsl:value-of select="$title-part-fr"/>
1316
+ <xsl:value-of select="$part-fr"/>
1311
1317
  </xsl:if>
1312
1318
  </fo:block>
1313
1319
  </fo:block-container>
@@ -2282,62 +2288,6 @@
2282
2288
  </fo:basic-link>
2283
2289
  </xsl:template>
2284
2290
 
2285
- <xsl:template match="iec:appendix">
2286
- <fo:block id="{@id}" font-weight="bold" margin-top="5pt" margin-bottom="5pt">
2287
- <xsl:if test="not(iec:title)">
2288
- <fo:inline padding-right="5mm">Appendix <xsl:number/></fo:inline>
2289
- </xsl:if>
2290
- <xsl:apply-templates select="iec:title" mode="process"/>
2291
- </fo:block>
2292
- <xsl:apply-templates/>
2293
- </xsl:template>
2294
-
2295
- <xsl:template match="iec:appendix//iec:example">
2296
- <fo:block margin-top="14pt" margin-bottom="14pt">
2297
- <xsl:text>EXAMPLE</xsl:text>
2298
- <xsl:if test="iec:name">
2299
- <xsl:text> — </xsl:text><xsl:apply-templates select="iec:name" mode="process"/>
2300
- </xsl:if>
2301
- </fo:block>
2302
- <xsl:apply-templates/>
2303
- </xsl:template>
2304
-
2305
- <xsl:template match="iec:appendix//iec:example/iec:name"/>
2306
- <xsl:template match="iec:appendix//iec:example/iec:name" mode="process">
2307
- <fo:inline><xsl:apply-templates/></fo:inline>
2308
- </xsl:template>
2309
-
2310
- <!-- <xsl:template match="iec:callout/text()">
2311
- <fo:basic-link internal-destination="{@target}"><fo:inline>&lt;<xsl:apply-templates />&gt;</fo:inline></fo:basic-link>
2312
- </xsl:template> -->
2313
- <xsl:template match="iec:callout">
2314
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
2315
- </xsl:template>
2316
-
2317
- <xsl:template match="iec:annotation">
2318
- <fo:block>
2319
-
2320
- </fo:block>
2321
- <xsl:apply-templates/>
2322
- </xsl:template>
2323
-
2324
- <xsl:template match="iec:annotation/text()"/>
2325
-
2326
- <xsl:template match="iec:annotation/iec:p">
2327
- <xsl:variable name="annotation-id" select="../@id"/>
2328
- <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
2329
- <fo:block id="{$annotation-id}">
2330
- <xsl:value-of select="concat('&lt;', $callout, '&gt; ')"/>
2331
- <xsl:apply-templates/>
2332
- </fo:block>
2333
- </xsl:template>
2334
-
2335
-
2336
- <xsl:template match="iec:appendix/iec:title"/>
2337
- <xsl:template match="iec:appendix/iec:title" mode="process">
2338
- <fo:inline><xsl:apply-templates/></fo:inline>
2339
- </xsl:template>
2340
-
2341
2291
 
2342
2292
  <xsl:template match="iec:xref">
2343
2293
  <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
@@ -2361,18 +2311,6 @@
2361
2311
  </fo:basic-link>
2362
2312
  </xsl:template>
2363
2313
 
2364
- <xsl:template match="iec:sourcecode">
2365
- <fo:block font-family="Courier" font-size="9pt" margin-top="5pt" margin-bottom="5pt">
2366
- <xsl:choose>
2367
- <xsl:when test="@lang = 'en'"/>
2368
- <xsl:otherwise>
2369
- <xsl:attribute name="white-space">pre</xsl:attribute>
2370
- </xsl:otherwise>
2371
- </xsl:choose>
2372
- <xsl:apply-templates/>
2373
- </fo:block>
2374
- </xsl:template>
2375
-
2376
2314
  <xsl:template match="iec:example/iec:p">
2377
2315
  <fo:block>
2378
2316
  <fo:inline padding-right="9mm">EXAMPLE</fo:inline>
@@ -2738,16 +2676,83 @@
2738
2676
  </fo:inline>
2739
2677
  </xsl:template>
2740
2678
 
2741
- <xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="linebreak" select="'&#8232;'"/><xsl:attribute-set xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="link-style">
2679
+ <xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-table">
2680
+
2681
+ <xsl:text>Table </xsl:text>
2682
+
2683
+
2684
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-note">
2685
+
2686
+ <xsl:text>NOTE </xsl:text>
2687
+
2688
+
2689
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-figure">
2742
2690
 
2691
+ <xsl:text>Figure </xsl:text>
2692
+
2693
+
2694
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-example">
2695
+
2696
+ <xsl:text>EXAMPLE </xsl:text>
2697
+
2698
+
2699
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-inequality">Inequality </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-equation">Equation </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-annex">
2700
+
2701
+ <xsl:text>Annex </xsl:text>
2702
+
2703
+
2704
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-appendix">
2705
+ <xsl:text>Appendix </xsl:text>
2706
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-clause">
2707
+
2708
+ <xsl:text>Clause </xsl:text>
2709
+
2710
+
2711
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-edition">
2712
+ <xsl:text>Edition </xsl:text>
2713
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-toc">
2714
+
2715
+
2716
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-page">Page</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-key">Key</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-where">where</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-descriptors">Descriptors</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-part-en">Part </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-part-fr">Partie </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-note-to-entry">Note # to entry: </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-modified">modified</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-source">SOURCE</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-keywords">Keywords</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="linebreak" select="'&#8232;'"/><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="link-style">
2717
+
2718
+
2719
+ </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="sourcecode-style">
2720
+
2721
+
2722
+
2723
+
2724
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
2725
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2726
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2727
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+ </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="appendix-style">
2743
2734
 
2744
- </xsl:attribute-set><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="text()">
2735
+
2736
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2737
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2738
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2739
+
2740
+
2741
+ </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="appendix-example-style">
2742
+
2743
+
2744
+ <xsl:attribute name="margin-top">14pt</xsl:attribute>
2745
+ <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
2746
+
2747
+
2748
+ </xsl:attribute-set><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()">
2745
2749
  <xsl:value-of select="."/>
2746
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='br']">
2750
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='br']">
2747
2751
  <xsl:value-of select="$linebreak"/>
2748
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2749
- <xsl:call-template name="add-zero-spaces"/>
2750
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']">
2752
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2753
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
2754
+ <xsl:call-template name="add-zero-spaces-java"/>
2755
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']">
2751
2756
 
2752
2757
  <xsl:variable name="simple-table">
2753
2758
  <!-- <xsl:copy> -->
@@ -2792,30 +2797,13 @@
2792
2797
 
2793
2798
 
2794
2799
 
2795
- <xsl:text>Table </xsl:text>
2796
- <xsl:choose>
2797
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2798
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2799
- </xsl:when>
2800
- <xsl:when test="ancestor::*[local-name()='annex']">
2801
-
2802
-
2803
-
2804
- <xsl:number format="A." count="*[local-name()='annex']"/><xsl:number format="1"/>
2805
-
2806
-
2807
-
2808
-
2809
-
2810
-
2811
- </xsl:when>
2812
- <xsl:otherwise>
2813
-
2814
- <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata']) and not(ancestor::*[local-name()='preface'])] [not(@unnumbered) or @unnumbered != 'true']"/>
2815
-
2816
-
2817
- </xsl:otherwise>
2818
- </xsl:choose>
2800
+
2801
+
2802
+ <xsl:value-of select="$title-table"/>
2803
+
2804
+ <xsl:call-template name="getTableNumber"/>
2805
+
2806
+
2819
2807
  <xsl:if test="*[local-name()='name']">
2820
2808
 
2821
2809
 
@@ -2890,6 +2878,7 @@
2890
2878
 
2891
2879
 
2892
2880
 
2881
+
2893
2882
  <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">
2894
2883
 
2895
2884
 
@@ -2906,9 +2895,10 @@
2906
2895
  <!-- <xsl:if test="ancestor::*[local-name()='preface']"> -->
2907
2896
  <xsl:attribute name="font-size">8pt</xsl:attribute>
2908
2897
 
2898
+
2909
2899
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
2910
2900
  <xsl:choose>
2911
- <xsl:when test=". = 1">
2901
+ <xsl:when test=". = 1 or . = 0">
2912
2902
  <fo:table-column column-width="proportional-column-width(2)"/>
2913
2903
  </xsl:when>
2914
2904
  <xsl:otherwise>
@@ -2922,15 +2912,39 @@
2922
2912
 
2923
2913
 
2924
2914
  </fo:block-container>
2925
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='name']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='name']" mode="process">
2915
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getTableNumber">
2916
+ <xsl:choose>
2917
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2918
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2919
+ </xsl:when>
2920
+ <xsl:when test="ancestor::*[local-name()='annex']">
2921
+
2922
+
2923
+
2924
+ <xsl:number format="A." count="*[local-name()='annex']"/><xsl:number format="1"/>
2925
+
2926
+
2927
+
2928
+
2929
+
2930
+
2931
+ </xsl:when>
2932
+ <xsl:otherwise>
2933
+
2934
+ <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata']) and not(ancestor::*[local-name()='preface'])] [not(@unnumbered) or @unnumbered != 'true']"/>
2935
+
2936
+
2937
+ </xsl:otherwise>
2938
+ </xsl:choose>
2939
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='name']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='name']" mode="process">
2926
2940
  <xsl:apply-templates/>
2927
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="calculate-columns-numbers">
2941
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="calculate-columns-numbers">
2928
2942
  <xsl:param name="table-row"/>
2929
2943
  <xsl:variable name="columns-count" select="count($table-row/*)"/>
2930
2944
  <xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
2931
2945
  <xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
2932
2946
  <xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
2933
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="calculate-column-widths">
2947
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="calculate-column-widths">
2934
2948
  <xsl:param name="table"/>
2935
2949
  <xsl:param name="cols-count"/>
2936
2950
  <xsl:param name="curr-col" select="1"/>
@@ -2939,7 +2953,7 @@
2939
2953
  <xsl:if test="$curr-col &lt;= $cols-count">
2940
2954
  <xsl:variable name="widths">
2941
2955
  <xsl:choose>
2942
- <xsl:when test="not($table)">
2956
+ <xsl:when test="not($table)"><!-- this branch is not using in production, for debug only -->
2943
2957
  <xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
2944
2958
  <xsl:variable name="words">
2945
2959
  <xsl:call-template name="tokenize">
@@ -2978,9 +2992,16 @@
2978
2992
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2979
2993
  </xsl:variable>
2980
2994
  <xsl:variable name="words">
2995
+ <xsl:variable name="string_with_added_zerospaces">
2996
+ <xsl:call-template name="add-zero-spaces-java">
2997
+ <xsl:with-param name="text" select="$td_text"/>
2998
+ </xsl:call-template>
2999
+ </xsl:variable>
2981
3000
  <xsl:call-template name="tokenize">
2982
3001
  <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
2983
- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/>
3002
+ <!-- 2009 thinspace -->
3003
+ <!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
3004
+ <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​', ' '))"/>
2984
3005
  </xsl:call-template>
2985
3006
  </xsl:variable>
2986
3007
  <xsl:variable name="max_length">
@@ -3021,17 +3042,24 @@
3021
3042
  <xsl:with-param name="table" select="$table"/>
3022
3043
  </xsl:call-template>
3023
3044
  </xsl:if>
3024
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="text()" mode="td_text">
3045
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()" mode="td_text">
3025
3046
  <xsl:variable name="zero-space">​</xsl:variable>
3026
3047
  <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
3027
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table2']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='thead']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='thead']" mode="process">
3048
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='termsource']" mode="td_text">
3049
+ <xsl:value-of select="*[local-name()='origin']/@citeas"/>
3050
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='link']" mode="td_text">
3051
+ <xsl:value-of select="@target"/>
3052
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table2']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='thead']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='thead']" mode="process">
3053
+ <xsl:param name="cols-count"/>
3028
3054
  <!-- font-weight="bold" -->
3029
- <fo:table-header>
3055
+ <fo:table-header>
3056
+
3030
3057
  <xsl:apply-templates/>
3031
3058
  </fo:table-header>
3032
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tfoot']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tfoot']" mode="process">
3059
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tfoot']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tfoot']" mode="process">
3033
3060
  <xsl:apply-templates/>
3034
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="insertTableFooter">
3061
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertTableFooter">
3062
+ <xsl:param name="cols-count"/>
3035
3063
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3036
3064
  <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3037
3065
 
@@ -3042,22 +3070,7 @@
3042
3070
  <!-- if there are note(s) or fn(s) then create footer row -->
3043
3071
  <xsl:if test="$isNoteOrFnExist = 'true'">
3044
3072
 
3045
- <xsl:variable name="cols-count">
3046
- <xsl:choose>
3047
- <xsl:when test="../*[local-name()='thead']">
3048
- <!-- <xsl:value-of select="count(../*[local-name()='thead']/*[local-name()='tr']/*[local-name()='th'])"/> -->
3049
- <xsl:call-template name="calculate-columns-numbers">
3050
- <xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
3051
- </xsl:call-template>
3052
- </xsl:when>
3053
- <xsl:otherwise>
3054
- <!-- <xsl:value-of select="count(./*[local-name()='tr'][1]/*[local-name()='td'])"/> -->
3055
- <xsl:call-template name="calculate-columns-numbers">
3056
- <xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
3057
- </xsl:call-template>
3058
- </xsl:otherwise>
3059
- </xsl:choose>
3060
- </xsl:variable>
3073
+
3061
3074
 
3062
3075
  <fo:table-row>
3063
3076
  <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
@@ -3097,11 +3110,30 @@
3097
3110
  </fo:table-footer>
3098
3111
 
3099
3112
  </xsl:if>
3100
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tbody']">
3113
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tbody']">
3101
3114
 
3102
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process"/>
3115
+ <xsl:variable name="cols-count">
3116
+ <xsl:choose>
3117
+ <xsl:when test="../*[local-name()='thead']">
3118
+ <xsl:call-template name="calculate-columns-numbers">
3119
+ <xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
3120
+ </xsl:call-template>
3121
+ </xsl:when>
3122
+ <xsl:otherwise>
3123
+ <xsl:call-template name="calculate-columns-numbers">
3124
+ <xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
3125
+ </xsl:call-template>
3126
+ </xsl:otherwise>
3127
+ </xsl:choose>
3128
+ </xsl:variable>
3103
3129
 
3104
- <xsl:call-template name="insertTableFooter"/>
3130
+ <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3131
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3132
+ </xsl:apply-templates>
3133
+
3134
+ <xsl:call-template name="insertTableFooter">
3135
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3136
+ </xsl:call-template>
3105
3137
 
3106
3138
  <fo:table-body>
3107
3139
  <xsl:apply-templates/>
@@ -3109,7 +3141,7 @@
3109
3141
 
3110
3142
  </fo:table-body>
3111
3143
 
3112
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tr']">
3144
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tr']">
3113
3145
  <xsl:variable name="parent-name" select="local-name(..)"/>
3114
3146
  <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3115
3147
  <fo:table-row min-height="4mm">
@@ -3135,7 +3167,7 @@
3135
3167
 
3136
3168
  <xsl:apply-templates/>
3137
3169
  </fo:table-row>
3138
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='th']">
3170
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='th']">
3139
3171
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3140
3172
 
3141
3173
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
@@ -3166,7 +3198,7 @@
3166
3198
  <xsl:apply-templates/>
3167
3199
  </fo:block>
3168
3200
  </fo:table-cell>
3169
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='td']">
3201
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='td']">
3170
3202
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3171
3203
  <!-- and ancestor::*[local-name() = 'thead'] -->
3172
3204
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
@@ -3199,6 +3231,7 @@
3199
3231
  </xsl:attribute>
3200
3232
  </xsl:if>
3201
3233
  <fo:block>
3234
+
3202
3235
  <xsl:apply-templates/>
3203
3236
  </fo:block>
3204
3237
  <!-- <xsl:choose>
@@ -3214,7 +3247,7 @@
3214
3247
 
3215
3248
 
3216
3249
  </fo:table-cell>
3217
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='note']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='note']" mode="process">
3250
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='note']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='note']" mode="process">
3218
3251
 
3219
3252
 
3220
3253
  <fo:block font-size="10pt" margin-bottom="12pt">
@@ -3224,9 +3257,11 @@
3224
3257
  <xsl:attribute name="font-size">8pt</xsl:attribute>
3225
3258
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3226
3259
 
3260
+
3227
3261
  <fo:inline padding-right="2mm">
3228
3262
 
3229
- <xsl:text>NOTE </xsl:text>
3263
+
3264
+ <xsl:value-of select="$title-note"/>
3230
3265
 
3231
3266
  <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
3232
3267
  <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
@@ -3240,9 +3275,9 @@
3240
3275
  <xsl:apply-templates mode="process"/>
3241
3276
  </fo:block>
3242
3277
 
3243
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3278
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3244
3279
  <xsl:apply-templates/>
3245
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="fn_display">
3280
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_display">
3246
3281
  <xsl:variable name="references">
3247
3282
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
3248
3283
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3264,6 +3299,7 @@
3264
3299
  <xsl:attribute name="text-indent">-6mm</xsl:attribute>
3265
3300
  <xsl:attribute name="margin-left">6mm</xsl:attribute>
3266
3301
 
3302
+
3267
3303
  <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3268
3304
 
3269
3305
 
@@ -3284,7 +3320,7 @@
3284
3320
  </fo:block>
3285
3321
  </xsl:if>
3286
3322
  </xsl:for-each>
3287
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="fn_name_display">
3323
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_name_display">
3288
3324
  <!-- <xsl:variable name="references">
3289
3325
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3290
3326
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3300,7 +3336,7 @@
3300
3336
  <xsl:apply-templates/>
3301
3337
  </fo:block>
3302
3338
  </xsl:for-each>
3303
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="fn_display_figure">
3339
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_display_figure">
3304
3340
  <xsl:variable name="key_iso">
3305
3341
  true <!-- and (not(@class) or @class !='pseudocode') -->
3306
3342
  </xsl:variable>
@@ -3360,7 +3396,7 @@
3360
3396
  </fo:block>
3361
3397
  </xsl:if>
3362
3398
 
3363
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='fn']">
3399
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']">
3364
3400
  <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3365
3401
  <fo:inline font-size="80%" keep-with-previous.within-line="always">
3366
3402
 
@@ -3378,11 +3414,11 @@
3378
3414
  <xsl:value-of select="@reference"/>
3379
3415
  </fo:basic-link>
3380
3416
  </fo:inline>
3381
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='fn']/*[local-name()='p']">
3417
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']/*[local-name()='p']">
3382
3418
  <fo:inline>
3383
3419
  <xsl:apply-templates/>
3384
3420
  </fo:inline>
3385
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dl']">
3421
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dl']">
3386
3422
  <xsl:variable name="parent" select="local-name(..)"/>
3387
3423
 
3388
3424
  <xsl:variable name="key_iso">
@@ -3399,7 +3435,7 @@
3399
3435
  <xsl:attribute name="margin-bottom">15pt</xsl:attribute>
3400
3436
 
3401
3437
 
3402
- <xsl:text>where </xsl:text>
3438
+ <xsl:value-of select="$title-where"/>
3403
3439
  </fo:block>
3404
3440
  <fo:block>
3405
3441
 
@@ -3419,7 +3455,7 @@
3419
3455
 
3420
3456
 
3421
3457
 
3422
- <xsl:text>where</xsl:text>
3458
+ <xsl:value-of select="$title-where"/>
3423
3459
  </fo:block>
3424
3460
  </xsl:when>
3425
3461
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
@@ -3430,7 +3466,7 @@
3430
3466
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
3431
3467
 
3432
3468
 
3433
- <xsl:text>Key</xsl:text>
3469
+ <xsl:value-of select="$title-key"/>
3434
3470
  </fo:block>
3435
3471
  </xsl:when>
3436
3472
  </xsl:choose>
@@ -3441,9 +3477,11 @@
3441
3477
 
3442
3478
 
3443
3479
 
3480
+
3444
3481
  <fo:block>
3445
3482
 
3446
3483
 
3484
+
3447
3485
  <!-- create virtual html table for dl/[dt and dd] -->
3448
3486
  <xsl:variable name="html-table">
3449
3487
  <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
@@ -3497,7 +3535,7 @@
3497
3535
  <xsl:otherwise>
3498
3536
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
3499
3537
  <xsl:choose>
3500
- <xsl:when test=". = 1">
3538
+ <xsl:when test=". = 1 or . = 0">
3501
3539
  <fo:table-column column-width="proportional-column-width(2)"/>
3502
3540
  </xsl:when>
3503
3541
  <xsl:otherwise>
@@ -3520,7 +3558,7 @@
3520
3558
  </fo:block>
3521
3559
  </fo:block>
3522
3560
  </xsl:if>
3523
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dl']/*[local-name()='note']">
3561
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dl']/*[local-name()='note']">
3524
3562
  <xsl:param name="key_iso"/>
3525
3563
 
3526
3564
  <!-- <tr>
@@ -3536,7 +3574,7 @@
3536
3574
  <xsl:if test="normalize-space($key_iso) = 'true'">
3537
3575
  <xsl:attribute name="margin-top">0</xsl:attribute>
3538
3576
  </xsl:if>
3539
- NOTE
3577
+ <xsl:value-of select="$title-note"/>
3540
3578
  </fo:block>
3541
3579
  </fo:table-cell>
3542
3580
  <fo:table-cell>
@@ -3545,7 +3583,7 @@
3545
3583
  </fo:block>
3546
3584
  </fo:table-cell>
3547
3585
  </fo:table-row>
3548
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dt']" mode="dl">
3586
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dt']" mode="dl">
3549
3587
  <tr>
3550
3588
  <td>
3551
3589
  <xsl:apply-templates/>
@@ -3558,11 +3596,12 @@
3558
3596
  </td>
3559
3597
  </tr>
3560
3598
 
3561
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dt']">
3599
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dt']">
3562
3600
  <xsl:param name="key_iso"/>
3563
3601
 
3564
3602
  <fo:table-row>
3565
3603
  <fo:table-cell>
3604
+
3566
3605
  <fo:block margin-top="6pt">
3567
3606
 
3568
3607
 
@@ -3576,6 +3615,9 @@
3576
3615
  </xsl:if>
3577
3616
 
3578
3617
 
3618
+
3619
+
3620
+
3579
3621
  <xsl:apply-templates/>
3580
3622
 
3581
3623
  </fo:block>
@@ -3591,37 +3633,37 @@
3591
3633
  </fo:table-cell>
3592
3634
  </fo:table-row>
3593
3635
 
3594
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']" mode="dl"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']" mode="dl_process">
3636
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']" mode="dl"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']" mode="dl_process">
3595
3637
  <xsl:apply-templates/>
3596
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']" mode="process">
3638
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']" mode="process">
3597
3639
  <xsl:apply-templates/>
3598
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3640
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3599
3641
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
3600
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='em']">
3642
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='em']">
3601
3643
  <fo:inline font-style="italic">
3602
3644
  <xsl:apply-templates/>
3603
3645
  </fo:inline>
3604
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='strong']">
3646
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='strong']">
3605
3647
  <fo:inline font-weight="bold">
3606
3648
  <xsl:apply-templates/>
3607
3649
  </fo:inline>
3608
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='sup']">
3650
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sup']">
3609
3651
  <fo:inline font-size="80%" vertical-align="super">
3610
3652
  <xsl:apply-templates/>
3611
3653
  </fo:inline>
3612
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='sub']">
3654
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sub']">
3613
3655
  <fo:inline font-size="80%" vertical-align="sub">
3614
3656
  <xsl:apply-templates/>
3615
3657
  </fo:inline>
3616
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tt']">
3617
- <fo:inline font-family="Courier" font-size="10pt">
3658
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tt']">
3659
+ <fo:inline font-family="Courier" font-size="10pt">
3618
3660
  <xsl:apply-templates/>
3619
3661
  </fo:inline>
3620
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='del']">
3662
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='del']">
3621
3663
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3622
3664
  <xsl:apply-templates/>
3623
3665
  </fo:inline>
3624
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="text()[ancestor::*[local-name()='smallcap']]">
3666
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()[ancestor::*[local-name()='smallcap']]">
3625
3667
  <xsl:variable name="text" select="normalize-space(.)"/>
3626
3668
  <fo:inline font-size="75%">
3627
3669
  <xsl:if test="string-length($text) &gt; 0">
@@ -3630,7 +3672,7 @@
3630
3672
  </xsl:call-template>
3631
3673
  </xsl:if>
3632
3674
  </fo:inline>
3633
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="recursiveSmallCaps">
3675
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="recursiveSmallCaps">
3634
3676
  <xsl:param name="text"/>
3635
3677
  <xsl:variable name="char" select="substring($text,1,1)"/>
3636
3678
  <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
@@ -3649,7 +3691,7 @@
3649
3691
  <xsl:with-param name="text" select="substring($text,2)"/>
3650
3692
  </xsl:call-template>
3651
3693
  </xsl:if>
3652
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="tokenize">
3694
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="tokenize">
3653
3695
  <xsl:param name="text"/>
3654
3696
  <xsl:param name="separator" select="' '"/>
3655
3697
  <xsl:choose>
@@ -3697,7 +3739,7 @@
3697
3739
  </xsl:call-template>
3698
3740
  </xsl:otherwise>
3699
3741
  </xsl:choose>
3700
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="max_length">
3742
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="max_length">
3701
3743
  <xsl:param name="words"/>
3702
3744
  <xsl:for-each select="$words//word">
3703
3745
  <xsl:sort select="." data-type="number" order="descending"/>
@@ -3705,7 +3747,11 @@
3705
3747
  <xsl:value-of select="."/>
3706
3748
  </xsl:if>
3707
3749
  </xsl:for-each>
3708
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="add-zero-spaces">
3750
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces-java">
3751
+ <xsl:param name="text" select="."/>
3752
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3753
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
3754
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces">
3709
3755
  <xsl:param name="text" select="."/>
3710
3756
  <xsl:variable name="zero-space-after-chars">-</xsl:variable>
3711
3757
  <xsl:variable name="zero-space-after-dot">.</xsl:variable>
@@ -3758,7 +3804,7 @@
3758
3804
  <xsl:value-of select="$text"/>
3759
3805
  </xsl:otherwise>
3760
3806
  </xsl:choose>
3761
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="add-zero-spaces-equal">
3807
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces-equal">
3762
3808
  <xsl:param name="text" select="."/>
3763
3809
  <xsl:variable name="zero-space-after-equals">==========</xsl:variable>
3764
3810
  <xsl:variable name="zero-space-after-equal">=</xsl:variable>
@@ -3784,7 +3830,7 @@
3784
3830
  <xsl:value-of select="$text"/>
3785
3831
  </xsl:otherwise>
3786
3832
  </xsl:choose>
3787
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="getSimpleTable">
3833
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getSimpleTable">
3788
3834
  <xsl:variable name="simple-table">
3789
3835
 
3790
3836
  <!-- Step 1. colspan processing -->
@@ -3811,9 +3857,9 @@
3811
3857
  </xsl:choose> -->
3812
3858
  </xsl:variable>
3813
3859
  <xsl:copy-of select="$simple-table"/>
3814
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
3860
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
3815
3861
  <xsl:apply-templates mode="simple-table-colspan"/>
3816
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
3862
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
3817
3863
  <xsl:choose>
3818
3864
  <xsl:when test="@colspan">
3819
3865
  <xsl:variable name="td">
@@ -3835,16 +3881,16 @@
3835
3881
  </xsl:element>
3836
3882
  </xsl:otherwise>
3837
3883
  </xsl:choose>
3838
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="@colspan" mode="simple-table-colspan"/><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='tr']" mode="simple-table-colspan">
3884
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@colspan" mode="simple-table-colspan"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tr']" mode="simple-table-colspan">
3839
3885
  <xsl:element name="tr">
3840
3886
  <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3841
3887
  <xsl:apply-templates mode="simple-table-colspan"/>
3842
3888
  </xsl:element>
3843
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="@*|node()" mode="simple-table-colspan">
3889
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@*|node()" mode="simple-table-colspan">
3844
3890
  <xsl:copy>
3845
3891
  <xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
3846
3892
  </xsl:copy>
3847
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="repeatNode">
3893
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="repeatNode">
3848
3894
  <xsl:param name="count"/>
3849
3895
  <xsl:param name="node"/>
3850
3896
 
@@ -3855,18 +3901,18 @@
3855
3901
  </xsl:call-template>
3856
3902
  <xsl:copy-of select="$node"/>
3857
3903
  </xsl:if>
3858
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="@*|node()" mode="simple-table-rowspan">
3904
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@*|node()" mode="simple-table-rowspan">
3859
3905
  <xsl:copy>
3860
3906
  <xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
3861
3907
  </xsl:copy>
3862
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="tbody" mode="simple-table-rowspan">
3908
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="tbody" mode="simple-table-rowspan">
3863
3909
  <xsl:copy>
3864
3910
  <xsl:copy-of select="tr[1]"/>
3865
3911
  <xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
3866
3912
  <xsl:with-param name="previousRow" select="tr[1]"/>
3867
3913
  </xsl:apply-templates>
3868
3914
  </xsl:copy>
3869
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="tr" mode="simple-table-rowspan">
3915
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="tr" mode="simple-table-rowspan">
3870
3916
  <xsl:param name="previousRow"/>
3871
3917
  <xsl:variable name="currentRow" select="."/>
3872
3918
 
@@ -3900,13 +3946,13 @@
3900
3946
  <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
3901
3947
  <xsl:with-param name="previousRow" select="$newRow"/>
3902
3948
  </xsl:apply-templates>
3903
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="getLang">
3949
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getLang">
3904
3950
  <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3905
3951
  <xsl:choose>
3906
3952
  <xsl:when test="$language = 'English'">en</xsl:when>
3907
3953
  <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3908
3954
  </xsl:choose>
3909
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" name="capitalizeWords">
3955
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="capitalizeWords">
3910
3956
  <xsl:param name="str"/>
3911
3957
  <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
3912
3958
  <xsl:choose>
@@ -3924,19 +3970,19 @@
3924
3970
  <xsl:value-of select="substring($str2, 2)"/>
3925
3971
  </xsl:otherwise>
3926
3972
  </xsl:choose>
3927
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="mathml:math">
3973
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="mathml:math">
3928
3974
  <fo:inline font-family="STIX2Math">
3929
3975
  <fo:instream-foreign-object fox:alt-text="Math">
3930
3976
  <xsl:copy-of select="."/>
3931
3977
  </fo:instream-foreign-object>
3932
3978
  </fo:inline>
3933
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='localityStack']">
3979
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='localityStack']">
3934
3980
  <xsl:for-each select="*[local-name()='locality']">
3935
3981
  <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
3936
3982
  <xsl:apply-templates select="."/>
3937
3983
  <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
3938
3984
  </xsl:for-each>
3939
- </xsl:template><xsl:template xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:itu="https://www.metanorma.org/ns/itu" xmlns:nist="https://www.metanorma.org/ns/nist" xmlns:un="https://www.metanorma.org/ns/un" xmlns:csd="https://www.metanorma.org/ns/csd" xmlns:ogc="https://www.metanorma.org/ns/ogc" match="*[local-name()='link']" name="link">
3985
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='link']" name="link">
3940
3986
  <xsl:variable name="target">
3941
3987
  <xsl:choose>
3942
3988
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -3966,4 +4012,122 @@
3966
4012
  </xsl:otherwise>
3967
4013
  </xsl:choose>
3968
4014
  </fo:inline>
4015
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sourcecode']" name="sourcecode">
4016
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
4017
+ <!-- <xsl:choose>
4018
+ <xsl:when test="@lang = 'en'"></xsl:when>
4019
+ <xsl:otherwise> -->
4020
+ <xsl:attribute name="white-space">pre</xsl:attribute>
4021
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
4022
+ <!-- </xsl:otherwise>
4023
+ </xsl:choose> -->
4024
+ <xsl:apply-templates/>
4025
+ </fo:block>
4026
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='bookmark']">
4027
+ <fo:inline id="{@id}"/>
4028
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']">
4029
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4030
+ <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
4031
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4032
+ </fo:block>
4033
+ <xsl:apply-templates/>
4034
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4035
+ <fo:inline><xsl:apply-templates/></fo:inline>
4036
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']//*[local-name()='example']">
4037
+ <fo:block xsl:use-attribute-sets="appendix-example-style">
4038
+ <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
4039
+ <xsl:value-of select="$title-example"/>
4040
+ <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
4041
+ <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
4042
+ </xsl:if>
4043
+ <xsl:if test="*[local-name()='name']">
4044
+ <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
4045
+ </xsl:if>
4046
+ </fo:block>
4047
+ <xsl:apply-templates/>
4048
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
4049
+ <fo:inline><xsl:apply-templates/></fo:inline>
4050
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'callout']">
4051
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4052
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'annotation']">
4053
+ <xsl:variable name="annotation-id" select="@id"/>
4054
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
4055
+ <fo:block id="{$annotation-id}" white-space="nowrap">
4056
+ <fo:inline>
4057
+ <xsl:apply-templates>
4058
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
4059
+ </xsl:apply-templates>
4060
+ </fo:inline>
4061
+ </fo:block>
4062
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'annotation']/*[local-name() = 'p']">
4063
+ <xsl:param name="callout"/>
4064
+ <fo:inline id="{@id}">
4065
+ <!-- for first p in annotation, put <x> -->
4066
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
4067
+ <xsl:apply-templates/>
4068
+ </fo:inline>
4069
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="convertDate">
4070
+ <xsl:param name="date"/>
4071
+ <xsl:param name="format" select="'short'"/>
4072
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
4073
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
4074
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
4075
+ <xsl:variable name="monthStr">
4076
+ <xsl:choose>
4077
+ <xsl:when test="$month = '01'">January</xsl:when>
4078
+ <xsl:when test="$month = '02'">February</xsl:when>
4079
+ <xsl:when test="$month = '03'">March</xsl:when>
4080
+ <xsl:when test="$month = '04'">April</xsl:when>
4081
+ <xsl:when test="$month = '05'">May</xsl:when>
4082
+ <xsl:when test="$month = '06'">June</xsl:when>
4083
+ <xsl:when test="$month = '07'">July</xsl:when>
4084
+ <xsl:when test="$month = '08'">August</xsl:when>
4085
+ <xsl:when test="$month = '09'">September</xsl:when>
4086
+ <xsl:when test="$month = '10'">October</xsl:when>
4087
+ <xsl:when test="$month = '11'">November</xsl:when>
4088
+ <xsl:when test="$month = '12'">December</xsl:when>
4089
+ </xsl:choose>
4090
+ </xsl:variable>
4091
+ <xsl:variable name="result">
4092
+ <xsl:choose>
4093
+ <xsl:when test="$format = 'short' or $day = ''">
4094
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
4095
+ </xsl:when>
4096
+ <xsl:otherwise>
4097
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
4098
+ </xsl:otherwise>
4099
+ </xsl:choose>
4100
+ </xsl:variable>
4101
+ <xsl:value-of select="$result"/>
4102
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertKeywords">
4103
+ <xsl:param name="sorting" select="'true'"/>
4104
+ <xsl:param name="charAtEnd" select="'.'"/>
4105
+ <xsl:param name="charDelim" select="', '"/>
4106
+ <xsl:choose>
4107
+ <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
4108
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4109
+ <xsl:sort data-type="text" order="ascending"/>
4110
+ <xsl:call-template name="insertKeyword">
4111
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4112
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4113
+ </xsl:call-template>
4114
+ </xsl:for-each>
4115
+ </xsl:when>
4116
+ <xsl:otherwise>
4117
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4118
+ <xsl:call-template name="insertKeyword">
4119
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4120
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4121
+ </xsl:call-template>
4122
+ </xsl:for-each>
4123
+ </xsl:otherwise>
4124
+ </xsl:choose>
4125
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertKeyword">
4126
+ <xsl:param name="charAtEnd"/>
4127
+ <xsl:param name="charDelim"/>
4128
+ <xsl:apply-templates/>
4129
+ <xsl:choose>
4130
+ <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
4131
+ <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
4132
+ </xsl:choose>
3969
4133
  </xsl:template></xsl:stylesheet>