metanorma-un 0.3.11 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:un="https://www.metanorma.org/ns/un" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" version="1.0">
1
+ <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:un="https://www.metanorma.org/ns/un" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
2
2
 
3
3
  <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
4
4
 
@@ -25,8 +25,10 @@
25
25
 
26
26
  <xsl:variable name="doctype" select="/un:un-standard/un:bibdata/un:ext/un:doctype"/>
27
27
 
28
- <xsl:variable name="doctypenumber">
29
- <xsl:value-of select="translate(substring($doctype, 1, 1), $lower, $upper)"/><xsl:value-of select="substring($doctype, 2)"/>
28
+ <xsl:variable name="doctypenumber">
29
+ <xsl:call-template name="capitalize">
30
+ <xsl:with-param name="str" select="$doctype"/>
31
+ </xsl:call-template>
30
32
  <xsl:text> No. </xsl:text>
31
33
  <xsl:value-of select="/un:un-standard/un:bibdata/un:docnumber"/>
32
34
  </xsl:variable>
@@ -76,44 +78,8 @@
76
78
 
77
79
  </fo:layout-master-set>
78
80
 
79
- <fo:declarations>
80
- <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
81
- <pdf:dictionary type="normal" key="ViewerPreferences">
82
- <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
83
- </pdf:dictionary>
84
- </pdf:catalog>
85
- <x:xmpmeta xmlns:x="adobe:ns:meta/">
86
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
87
- <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
88
- <!-- Dublin Core properties go here -->
89
- <dc:title>
90
- <xsl:choose>
91
- <xsl:when test="$title != ''">
92
- <xsl:value-of select="$title"/>
93
- </xsl:when>
94
- <xsl:otherwise>
95
- <xsl:text> </xsl:text>
96
- </xsl:otherwise>
97
- </xsl:choose>
98
- </dc:title>
99
- <dc:creator/>
100
- <dc:description>
101
- <xsl:variable name="abstract">
102
- <xsl:copy-of select="/un:un-standard/un:preface/un:abstract//text()"/>
103
- </xsl:variable>
104
- <xsl:value-of select="normalize-space($abstract)"/>
105
- </dc:description>
106
- <pdf:Keywords>
107
- <xsl:call-template name="insertKeywords"/>
108
- </pdf:Keywords>
109
- </rdf:Description>
110
- <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
111
- <!-- XMP properties go here -->
112
- <xmp:CreatorTool/>
113
- </rdf:Description>
114
- </rdf:RDF>
115
- </x:xmpmeta>
116
- </fo:declarations>
81
+ <xsl:call-template name="addPDFUAmeta"/>
82
+
117
83
 
118
84
  <!-- Cover Page -->
119
85
  <fo:page-sequence master-reference="cover-page" force-page-count="even">
@@ -208,8 +174,18 @@
208
174
  <fo:page-sequence master-reference="document-preface-master" force-page-count="even" line-height="115%">
209
175
  <xsl:call-template name="insertHeaderPreface"/>
210
176
  <fo:flow flow-name="xsl-region-body" text-align="justify">
211
- <fo:block font-size="14pt" margin-top="4pt" margin-bottom="8pt">Contents</fo:block>
212
- <fo:block font-size="9pt" text-align="right" font-style="italic" margin-bottom="6pt">Page</fo:block>
177
+ <xsl:variable name="title-toc">
178
+ <xsl:call-template name="getTitle">
179
+ <xsl:with-param name="name" select="'title-toc'"/>
180
+ </xsl:call-template>
181
+ </xsl:variable>
182
+ <fo:block font-size="14pt" margin-top="4pt" margin-bottom="8pt"><xsl:value-of select="$title-toc"/></fo:block>
183
+ <xsl:variable name="title-page">
184
+ <xsl:call-template name="getTitle">
185
+ <xsl:with-param name="name" select="'title-page'"/>
186
+ </xsl:call-template>
187
+ </xsl:variable>
188
+ <fo:block font-size="9pt" text-align="right" font-style="italic" margin-bottom="6pt"><xsl:value-of select="$title-page"/></fo:block>
213
189
  <fo:block>
214
190
  <xsl:for-each select="xalan:nodeset($contents)//item[not(@type = 'table') and not(@type = 'figure') and not (@type = 'annex' or @parent = 'annex')]">
215
191
  <xsl:if test="@display = 'true' and @level &lt;= 3">
@@ -346,14 +322,7 @@
346
322
  <!-- Any node with title element - clause, definition, annex,... -->
347
323
  <xsl:template match="un:title | un:preferred" mode="contents">
348
324
  <xsl:variable name="id">
349
- <xsl:choose>
350
- <xsl:when test="../@id">
351
- <xsl:value-of select="../@id"/>
352
- </xsl:when>
353
- <xsl:otherwise>
354
- <xsl:value-of select="text()"/>
355
- </xsl:otherwise>
356
- </xsl:choose>
325
+ <xsl:call-template name="getId"/>
357
326
  </xsl:variable>
358
327
 
359
328
  <xsl:variable name="level">
@@ -400,7 +369,12 @@
400
369
  <xsl:when test="ancestor::un:annex">
401
370
  <xsl:choose>
402
371
  <xsl:when test="$level = 1">
403
- <xsl:text>Annex </xsl:text>
372
+ <xsl:variable name="title-annex">
373
+ <xsl:call-template name="getTitle">
374
+ <xsl:with-param name="name" select="'title-annex'"/>
375
+ </xsl:call-template>
376
+ </xsl:variable>
377
+ <xsl:value-of select="$title-annex"/>
404
378
  <xsl:number format="I" level="any" count="un:annex"/>
405
379
  </xsl:when>
406
380
  <xsl:otherwise>
@@ -433,7 +407,12 @@
433
407
  <xsl:template match="un:figure" mode="contents">
434
408
  <item level="" id="{@id}" type="figure">
435
409
  <xsl:attribute name="section">
436
- <xsl:text>Figure </xsl:text>
410
+ <xsl:variable name="title-figure">
411
+ <xsl:call-template name="getTitle">
412
+ <xsl:with-param name="name" select="'title-figure'"/>
413
+ </xsl:call-template>
414
+ </xsl:variable>
415
+ <xsl:value-of select="$title-figure"/>
437
416
  <xsl:choose>
438
417
  <xsl:when test="ancestor::un:annex">
439
418
  <xsl:choose>
@@ -465,7 +444,12 @@
465
444
  <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
466
445
  <item level="" id="{@id}" display="false" type="table">
467
446
  <xsl:attribute name="section">
468
- <xsl:text>Table </xsl:text>
447
+ <xsl:variable name="title-table">
448
+ <xsl:call-template name="getTitle">
449
+ <xsl:with-param name="name" select="'title-table'"/>
450
+ </xsl:call-template>
451
+ </xsl:variable>
452
+ <xsl:value-of select="$title-table"/>
469
453
  <xsl:choose>
470
454
  <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
471
455
  <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table']"/>
@@ -489,7 +473,12 @@
489
473
  <xsl:template match="un:formula" mode="contents">
490
474
  <item level="" id="{@id}" display="false">
491
475
  <xsl:attribute name="section">
492
- <xsl:text>Formula (</xsl:text><xsl:number format="A.1" level="multiple" count="un:annex | un:formula"/><xsl:text>)</xsl:text>
476
+ <xsl:variable name="title-formula">
477
+ <xsl:call-template name="getTitle">
478
+ <xsl:with-param name="name" select="'title-formula'"/>
479
+ </xsl:call-template>
480
+ </xsl:variable>
481
+ <xsl:value-of select="$title-formula"/><xsl:number format="(A.1)" level="multiple" count="un:annex | un:formula"/>
493
482
  </xsl:attribute>
494
483
  </item>
495
484
  </xsl:template>
@@ -518,7 +507,12 @@
518
507
  <item level="" id="{@id}" display="false" type="Terms">
519
508
  <xsl:if test="ancestor::un:annex">
520
509
  <xsl:attribute name="section">
521
- <xsl:text>Appendix </xsl:text><xsl:number format="A" count="un:annex"/>
510
+ <xsl:variable name="title-appendix">
511
+ <xsl:call-template name="getTitle">
512
+ <xsl:with-param name="name" select="'title-appendix'"/>
513
+ </xsl:call-template>
514
+ </xsl:variable>
515
+ <xsl:value-of select="$title-appendix"/><xsl:number format="A" count="un:annex"/>
522
516
  </xsl:attribute>
523
517
  </xsl:if>
524
518
  </item>
@@ -528,7 +522,12 @@
528
522
  <item level="" id="{@id}" display="false" type="References">
529
523
  <xsl:if test="ancestor::un:annex">
530
524
  <xsl:attribute name="section">
531
- <xsl:text>Appendix </xsl:text><xsl:number format="A" count="un:annex"/>
525
+ <xsl:variable name="title-appendix">
526
+ <xsl:call-template name="getTitle">
527
+ <xsl:with-param name="name" select="'title-appendix'"/>
528
+ </xsl:call-template>
529
+ </xsl:variable>
530
+ <xsl:value-of select="$title-appendix"/><xsl:number format="A" count="un:annex"/>
532
531
  </xsl:attribute>
533
532
  </xsl:if>
534
533
  </item>
@@ -540,7 +539,12 @@
540
539
  <xsl:variable name="num">
541
540
  <xsl:number/>
542
541
  </xsl:variable>
543
- <xsl:text>Box </xsl:text><xsl:value-of select="$num"/>
542
+ <xsl:variable name="title-box">
543
+ <xsl:call-template name="getTitle">
544
+ <xsl:with-param name="name" select="'title-box'"/>
545
+ </xsl:call-template>
546
+ </xsl:variable>
547
+ <xsl:value-of select="$title-box"/><xsl:value-of select="$num"/>
544
548
  </xsl:attribute>
545
549
  </item>
546
550
  </xsl:template>
@@ -758,7 +762,12 @@
758
762
  <xsl:template match="un:ul//un:note | un:ol//un:note"/>
759
763
  <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process">
760
764
  <fo:block font-size="11pt" margin-top="4pt">
761
- <xsl:text>NOTE </xsl:text>
765
+ <xsl:variable name="title-note">
766
+ <xsl:call-template name="getTitle">
767
+ <xsl:with-param name="name" select="'title-note'"/>
768
+ </xsl:call-template>
769
+ </xsl:variable>
770
+ <xsl:value-of select="$title-note"/>
762
771
  <xsl:if test="../following-sibling::un:note or ../preceding-sibling::un:note">
763
772
  <xsl:number count="un:note"/><xsl:text> </xsl:text>
764
773
  </xsl:if>
@@ -837,7 +846,12 @@
837
846
  <xsl:variable name="num">
838
847
  <xsl:number/>
839
848
  </xsl:variable>
840
- <xsl:text>Box </xsl:text><xsl:value-of select="$num"/><xsl:text>. </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
849
+ <xsl:variable name="title-box">
850
+ <xsl:call-template name="getTitle">
851
+ <xsl:with-param name="name" select="'title-box'"/>
852
+ </xsl:call-template>
853
+ </xsl:variable>
854
+ <xsl:value-of select="$title-box"/><xsl:value-of select="$num"/><xsl:text>. </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
841
855
  </fo:block>
842
856
  <fo:block margin-left="29mm" margin-right="34mm">
843
857
  <xsl:apply-templates/>
@@ -894,14 +908,7 @@
894
908
 
895
909
  <xsl:template match="un:title">
896
910
  <xsl:variable name="id">
897
- <xsl:choose>
898
- <xsl:when test="../@id">
899
- <xsl:value-of select="../@id"/>
900
- </xsl:when>
901
- <xsl:otherwise>
902
- <xsl:value-of select="text()"/>
903
- </xsl:otherwise>
904
- </xsl:choose>
911
+ <xsl:call-template name="getId"/>
905
912
  </xsl:variable>
906
913
 
907
914
  <xsl:variable name="level">
@@ -988,7 +995,12 @@
988
995
  <xsl:template match="un:recommendation">
989
996
  <fo:block margin-left="20mm">
990
997
  <fo:block font-weight="bold">
991
- <xsl:text>Recommendation </xsl:text>
998
+ <xsl:variable name="title-recommendation">
999
+ <xsl:call-template name="getTitle">
1000
+ <xsl:with-param name="name" select="'title-recommendation'"/>
1001
+ </xsl:call-template>
1002
+ </xsl:variable>
1003
+ <xsl:value-of select="$title-recommendation"/>
992
1004
  <xsl:choose>
993
1005
  <xsl:when test="ancestor::un:sections">
994
1006
  <xsl:number level="any" count="un:sections//un:recommendation"/>
@@ -1059,7 +1071,12 @@
1059
1071
  </xsl:if>
1060
1072
  <xsl:if test="un:name">
1061
1073
  <fo:block text-align="center" font-size="9pt" margin-bottom="6pt" keep-with-next="always" keep-together.within-column="always">
1062
- <xsl:text>Figure </xsl:text>
1074
+ <xsl:variable name="title-figure">
1075
+ <xsl:call-template name="getTitle">
1076
+ <xsl:with-param name="name" select="'title-figure'"/>
1077
+ </xsl:call-template>
1078
+ </xsl:variable>
1079
+ <xsl:value-of select="$title-figure"/>
1063
1080
  <xsl:choose>
1064
1081
  <xsl:when test="ancestor::un:annex">
1065
1082
  <xsl:choose>
@@ -1212,12 +1229,17 @@
1212
1229
 
1213
1230
  <xsl:template match="un:termnote">
1214
1231
  <fo:block margin-top="4pt">
1215
- <xsl:text>NOTE </xsl:text>
1216
- <xsl:if test="following-sibling::un:termnote or preceding-sibling::un:termnote">
1217
- <xsl:number/><xsl:text> </xsl:text>
1218
- </xsl:if>
1219
- <xsl:text>– </xsl:text>
1220
- <xsl:apply-templates/>
1232
+ <xsl:variable name="title-note">
1233
+ <xsl:call-template name="getTitle">
1234
+ <xsl:with-param name="name" select="'title-note'"/>
1235
+ </xsl:call-template>
1236
+ </xsl:variable>
1237
+ <xsl:value-of select="$title-note"/>
1238
+ <xsl:if test="following-sibling::un:termnote or preceding-sibling::un:termnote">
1239
+ <xsl:number/><xsl:text> </xsl:text>
1240
+ </xsl:if>
1241
+ <xsl:text>– </xsl:text>
1242
+ <xsl:apply-templates/>
1221
1243
  </fo:block>
1222
1244
  </xsl:template>
1223
1245
 
@@ -1245,7 +1267,7 @@
1245
1267
  <fo:table-cell> <!-- display-align="center" -->
1246
1268
  <fo:block text-align="right">
1247
1269
  <xsl:if test="not(ancestor::un:annex)">
1248
- <xsl:text>(</xsl:text><xsl:number level="any"/><xsl:text>)</xsl:text>
1270
+ <xsl:number format="(1)" level="any"/>
1249
1271
  </xsl:if>
1250
1272
  <xsl:if test="ancestor::un:annex">
1251
1273
  <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
@@ -1269,7 +1291,12 @@
1269
1291
  </xsl:template>
1270
1292
 
1271
1293
  <xsl:template match="un:example">
1272
- <fo:block id="{@id}" font-size="10pt" font-weight="bold" margin-bottom="12pt">EXAMPLE</fo:block>
1294
+ <xsl:variable name="title-example">
1295
+ <xsl:call-template name="getTitle">
1296
+ <xsl:with-param name="name" select="'title-example'"/>
1297
+ </xsl:call-template>
1298
+ </xsl:variable>
1299
+ <fo:block id="{@id}" font-size="10pt" font-weight="bold" margin-bottom="12pt"><xsl:value-of select="$title-example"/></fo:block>
1273
1300
  <fo:block font-size="11pt" margin-top="12pt" margin-bottom="12pt" margin-left="15mm">
1274
1301
  <xsl:apply-templates/>
1275
1302
  </fo:block>
@@ -1295,15 +1322,25 @@
1295
1322
  <!-- <xsl:if test="@type = 'inline'">
1296
1323
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
1297
1324
  </xsl:if> -->
1298
- <xsl:text>[</xsl:text><xsl:value-of select="@citeas" disable-output-escaping="yes"/><xsl:text>]</xsl:text>
1325
+ <xsl:text>[</xsl:text><xsl:value-of select="@citeas"/><xsl:text>]</xsl:text> <!-- disable-output-escaping="yes" -->
1299
1326
  <xsl:apply-templates select="un:localityStack"/>
1300
1327
  </fo:basic-link>
1301
1328
  </xsl:template>
1302
1329
 
1303
1330
  <xsl:template match="un:locality">
1331
+ <xsl:variable name="title-section">
1332
+ <xsl:call-template name="getTitle">
1333
+ <xsl:with-param name="name" select="'title-section'"/>
1334
+ </xsl:call-template>
1335
+ </xsl:variable>
1336
+ <xsl:variable name="title-clause">
1337
+ <xsl:call-template name="getTitle">
1338
+ <xsl:with-param name="name" select="'title-clause'"/>
1339
+ </xsl:call-template>
1340
+ </xsl:variable>
1304
1341
  <xsl:choose>
1305
- <xsl:when test="@type = 'section'">Section </xsl:when>
1306
- <xsl:when test="@type = 'clause'">Clause </xsl:when>
1342
+ <xsl:when test="@type = 'section'"><xsl:value-of select="$title-section"/></xsl:when>
1343
+ <xsl:when test="@type = 'clause'"><xsl:value-of select="$title-clause"/></xsl:when>
1307
1344
  <xsl:otherwise/>
1308
1345
  </xsl:choose>
1309
1346
  <xsl:text> </xsl:text><xsl:value-of select="un:referenceFrom"/>
@@ -1322,7 +1359,7 @@
1322
1359
  </fo:block>
1323
1360
  </xsl:template>
1324
1361
  <xsl:template match="un:term" mode="table">
1325
- <fo:table-row>
1362
+ <fo:table-row id="{@id}">
1326
1363
  <fo:table-cell padding-right="1mm">
1327
1364
  <fo:block margin-bottom="12pt">
1328
1365
  <xsl:apply-templates select="un:preferred"/>
@@ -1336,7 +1373,7 @@
1336
1373
  </fo:table-row>
1337
1374
  </xsl:template>
1338
1375
  <xsl:template match="un:preferred">
1339
- <fo:inline id="{../@id}">
1376
+ <fo:inline>
1340
1377
  <xsl:apply-templates/>
1341
1378
  </fo:inline>
1342
1379
  </xsl:template>
@@ -1445,28 +1482,6 @@
1445
1482
  </xsl:template>
1446
1483
 
1447
1484
 
1448
- <xsl:template name="getLevel">
1449
- <xsl:variable name="level_total" select="count(ancestor::*)"/>
1450
- <xsl:variable name="level">
1451
- <xsl:choose>
1452
- <xsl:when test="ancestor::un:preface">
1453
- <xsl:value-of select="$level_total - 2"/>
1454
- </xsl:when>
1455
- <xsl:when test="ancestor::un:sections">
1456
- <xsl:value-of select="$level_total - 2"/>
1457
- </xsl:when>
1458
- <xsl:when test="ancestor::un:bibliography">
1459
- <xsl:value-of select="$level_total - 2"/>
1460
- </xsl:when>
1461
- <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
1462
- <xsl:otherwise>
1463
- <xsl:value-of select="$level_total - 1"/>
1464
- </xsl:otherwise>
1465
- </xsl:choose>
1466
- </xsl:variable>
1467
- <xsl:value-of select="$level"/>
1468
- </xsl:template>
1469
-
1470
1485
  <xsl:template name="getSection">
1471
1486
  <xsl:variable name="level">
1472
1487
  <xsl:call-template name="getLevel"/>
@@ -1494,7 +1509,12 @@
1494
1509
  <xsl:when test="ancestor::un:annex">
1495
1510
  <xsl:choose>
1496
1511
  <xsl:when test="$level = 1">
1497
- <xsl:text>Annex </xsl:text>
1512
+ <xsl:variable name="title-annex">
1513
+ <xsl:call-template name="getTitle">
1514
+ <xsl:with-param name="name" select="'title-annex'"/>
1515
+ </xsl:call-template>
1516
+ </xsl:variable>
1517
+ <xsl:value-of select="$title-annex"/>
1498
1518
  <xsl:number format="I" level="any" count="un:annex"/>
1499
1519
  <!-- <xsl:text>: </xsl:text> -->
1500
1520
  </xsl:when>
@@ -11896,47 +11916,188 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
11896
11916
  </xsl:text>
11897
11917
  </xsl:variable>
11898
11918
 
11899
- <xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-table">
11919
+ <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
11920
+
11921
+ <title-table lang="en">Table </title-table>
11922
+ <title-table lang="fr">Tableau </title-table>
11923
+
11924
+ <title-table lang="zh">Table </title-table>
11925
+
11926
+
11927
+
11928
+ <title-note lang="en">NOTE </title-note>
11929
+ <title-note lang="fr">NOTE </title-note>
11930
+
11931
+ <title-note lang="zh">NOTE </title-note>
11932
+
11933
+
11934
+
11935
+ <title-figure lang="en">Figure </title-figure>
11936
+ <title-figure lang="fr">Figure </title-figure>
11937
+
11938
+ <title-figure lang="zh">Figure </title-figure>
11939
+
11940
+
11941
+
11942
+ <title-example lang="en">EXAMPLE </title-example>
11943
+ <title-example lang="fr">EXEMPLE </title-example>
11944
+
11945
+ <title-example lang="zh">EXAMPLE </title-example>
11946
+
11947
+
11948
+
11949
+ <title-example-xref lang="en">Example </title-example-xref>
11950
+ <title-example-xref lang="fr">Exemple </title-example-xref>
11951
+
11952
+ <title-section lang="en">Section </title-section>
11953
+ <title-section lang="fr">Section </title-section>
11954
+
11955
+ <title-inequality lang="en">Inequality </title-inequality>
11956
+ <title-inequality lang="fr">Inequality </title-inequality>
11957
+
11958
+ <title-equation lang="en">Equation </title-equation>
11959
+ <title-equation lang="fr">Equation </title-equation>
11960
+
11961
+ <title-annex lang="en">Annex </title-annex>
11962
+ <title-annex lang="fr">Annexe </title-annex>
11963
+
11964
+ <title-annex lang="zh">Annex </title-annex>
11965
+
11966
+
11967
+
11968
+ <title-appendix lang="en">Appendix </title-appendix>
11969
+ <title-appendix lang="fr">Appendix </title-appendix>
11970
+
11971
+ <title-clause lang="en">Clause </title-clause>
11972
+ <title-clause lang="fr">Article </title-clause>
11973
+
11974
+ <title-clause lang="zh">Clause </title-clause>
11975
+
11976
+
11900
11977
 
11901
- <xsl:text>Table </xsl:text>
11978
+ <title-edition lang="en">
11979
+
11980
+ <xsl:text>Edition </xsl:text>
11981
+
11982
+
11983
+ </title-edition>
11984
+
11985
+ <title-formula lang="en">Formula </title-formula>
11986
+ <title-formula lang="fr">Formula </title-formula>
11987
+
11988
+ <title-toc lang="en">
11989
+
11990
+ <xsl:text>Contents</xsl:text>
11991
+
11992
+
11993
+
11994
+ </title-toc>
11995
+ <title-toc lang="fr">Sommaire</title-toc>
11996
+
11997
+ <title-toc lang="zh">Contents</title-toc>
11998
+
11999
+
12000
+
12001
+ <title-page lang="en">Page</title-page>
12002
+ <title-page lang="fr">Page</title-page>
12003
+
12004
+ <title-key lang="en">Key</title-key>
12005
+ <title-key lang="fr">Légende</title-key>
12006
+
12007
+ <title-where lang="en">where</title-where>
12008
+ <title-where lang="fr">où</title-where>
12009
+
12010
+ <title-descriptors lang="en">Descriptors</title-descriptors>
12011
+
12012
+ <title-part lang="en">
12013
+
12014
+
12015
+ </title-part>
12016
+ <title-part lang="fr">
12017
+
12018
+
12019
+ </title-part>
12020
+ <title-part lang="zh">第 # 部分:</title-part>
12021
+
12022
+ <title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
12023
+ <title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
11902
12024
 
12025
+ <title-note-to-entry lang="zh">Note # to entry: </title-note-to-entry>
11903
12026
 
11904
- </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-note">
11905
12027
 
11906
- <xsl:text>NOTE </xsl:text>
11907
12028
 
12029
+ <title-modified lang="en">modified</title-modified>
12030
+ <title-modified lang="fr">modifiée</title-modified>
11908
12031
 
11909
- </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-figure">
12032
+ <title-modified lang="zh">modified</title-modified>
11910
12033
 
11911
- <xsl:text>Figure </xsl:text>
11912
12034
 
11913
12035
 
11914
- </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-example">
12036
+ <title-source lang="en">SOURCE</title-source>
11915
12037
 
11916
- <xsl:text>EXAMPLE </xsl:text>
12038
+ <title-keywords lang="en">Keywords</title-keywords>
11917
12039
 
12040
+ <title-deprecated lang="en">DEPRECATED</title-deprecated>
12041
+ <title-deprecated lang="fr">DEPRECATED</title-deprecated>
11918
12042
 
11919
- </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">
12043
+ <title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
11920
12044
 
11921
- <xsl:text>Annex </xsl:text>
12045
+ <title-list-tables lang="en">List of Tables</title-list-tables>
11922
12046
 
12047
+ <title-list-figures lang="en">List of Figures</title-list-figures>
11923
12048
 
11924
- </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-appendix">
11925
- <xsl:text>Appendix </xsl:text>
11926
- </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-clause">
12049
+ <title-recommendation lang="en">Recommendation </title-recommendation>
11927
12050
 
11928
- <xsl:text>Clause </xsl:text>
12051
+ <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
11929
12052
 
12053
+ <title-abstract lang="en">Abstract</title-abstract>
11930
12054
 
11931
- </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-edition">
11932
- <xsl:text>Edition </xsl:text>
11933
- </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-toc">
12055
+ <title-summary lang="en">Summary</title-summary>
11934
12056
 
12057
+ <title-in lang="en">in </title-in>
11935
12058
 
11936
- </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">
12059
+ <title-box lang="en">Box </title-box>
11937
12060
 
12061
+ <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
12062
+ <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
12063
+
12064
+ <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
12065
+ <title-completion-date lang="zh">本稿完成日期</title-completion-date>
12066
+
12067
+ <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
12068
+ <title-issuance-date lang="zh"># 发布</title-issuance-date>
12069
+
12070
+ <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
12071
+ <title-implementation-date lang="zh"># 实施</title-implementation-date>
12072
+
12073
+ <title-obligation-normative lang="en">normative</title-obligation-normative>
12074
+ <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
11938
12075
 
11939
- </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="sourcecode-style">
12076
+ <title-caution lang="en">CAUTION</title-caution>
12077
+ <title-caution lang="zh">注意</title-caution>
12078
+
12079
+ <title-warning lang="en">WARNING</title-warning>
12080
+ <title-warning lang="zh">警告</title-warning>
12081
+
12082
+ <title-amendment lang="en">AMENDMENT</title-amendment>
12083
+ </xsl:variable><xsl:template name="getTitle">
12084
+ <xsl:param name="name"/>
12085
+ <xsl:variable name="lang">
12086
+ <xsl:call-template name="getLang"/>
12087
+ </xsl:variable>
12088
+ <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
12089
+ <xsl:choose>
12090
+ <xsl:when test="normalize-space($title_) != ''">
12091
+ <xsl:value-of select="$title_"/>
12092
+ </xsl:when>
12093
+ <xsl:otherwise>
12094
+ <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
12095
+ </xsl:otherwise>
12096
+ </xsl:choose>
12097
+ </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">
12098
+
12099
+
12100
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
11940
12101
 
11941
12102
 
11942
12103
 
@@ -11950,22 +12111,22 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
11950
12111
 
11951
12112
 
11952
12113
 
11953
- </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="appendix-style">
12114
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
11954
12115
 
11955
12116
 
11956
12117
 
11957
- </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="appendix-example-style">
12118
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
11958
12119
 
11959
12120
 
11960
12121
 
11961
- </xsl:attribute-set><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()">
12122
+ </xsl:attribute-set><xsl:template match="text()">
11962
12123
  <xsl:value-of select="."/>
11963
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='br']">
12124
+ </xsl:template><xsl:template match="*[local-name()='br']">
11964
12125
  <xsl:value-of select="$linebreak"/>
11965
- </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">
12126
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
11966
12127
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
11967
12128
  <xsl:call-template name="add-zero-spaces-java"/>
11968
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']">
12129
+ </xsl:template><xsl:template match="*[local-name()='table']">
11969
12130
 
11970
12131
  <xsl:variable name="simple-table">
11971
12132
  <!-- <xsl:copy> -->
@@ -11996,6 +12157,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
11996
12157
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
11997
12158
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
11998
12159
 
12160
+ <xsl:variable name="title-table">
12161
+ <xsl:call-template name="getTitle">
12162
+ <xsl:with-param name="name" select="'title-table'"/>
12163
+ </xsl:call-template>
12164
+ </xsl:variable>
11999
12165
  <xsl:value-of select="$title-table"/>
12000
12166
  <xsl:choose>
12001
12167
  <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
@@ -12117,13 +12283,22 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12117
12283
  </xsl:otherwise>
12118
12284
  </xsl:choose>
12119
12285
  </xsl:for-each>
12120
- <xsl:apply-templates/>
12286
+
12287
+ <xsl:choose>
12288
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
12289
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
12290
+ </xsl:when>
12291
+ <xsl:otherwise>
12292
+ <xsl:apply-templates/>
12293
+ </xsl:otherwise>
12294
+ </xsl:choose>
12295
+
12121
12296
  </fo:table>
12122
12297
 
12123
12298
 
12124
12299
 
12125
12300
  </fo:block-container>
12126
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getTableNumber">
12301
+ </xsl:template><xsl:template name="getTableNumber">
12127
12302
  <xsl:choose>
12128
12303
  <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
12129
12304
  <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
@@ -12151,15 +12326,15 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12151
12326
 
12152
12327
  </xsl:otherwise>
12153
12328
  </xsl:choose>
12154
- </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">
12329
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
12155
12330
  <xsl:apply-templates/>
12156
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="calculate-columns-numbers">
12331
+ </xsl:template><xsl:template name="calculate-columns-numbers">
12157
12332
  <xsl:param name="table-row"/>
12158
12333
  <xsl:variable name="columns-count" select="count($table-row/*)"/>
12159
12334
  <xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
12160
12335
  <xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
12161
12336
  <xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
12162
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="calculate-column-widths">
12337
+ </xsl:template><xsl:template name="calculate-column-widths">
12163
12338
  <xsl:param name="table"/>
12164
12339
  <xsl:param name="cols-count"/>
12165
12340
  <xsl:param name="curr-col" select="1"/>
@@ -12257,23 +12432,27 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12257
12432
  <xsl:with-param name="table" select="$table"/>
12258
12433
  </xsl:call-template>
12259
12434
  </xsl:if>
12260
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()" mode="td_text">
12435
+ </xsl:template><xsl:template match="text()" mode="td_text">
12261
12436
  <xsl:variable name="zero-space">​</xsl:variable>
12262
12437
  <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
12263
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='termsource']" mode="td_text">
12438
+ </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
12264
12439
  <xsl:value-of select="*[local-name()='origin']/@citeas"/>
12265
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='link']" mode="td_text">
12440
+ </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
12266
12441
  <xsl:value-of select="@target"/>
12267
- </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">
12442
+ </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
12268
12443
  <xsl:param name="cols-count"/>
12269
12444
  <!-- font-weight="bold" -->
12270
12445
  <fo:table-header>
12271
12446
 
12272
12447
  <xsl:apply-templates/>
12273
12448
  </fo:table-header>
12274
- </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">
12449
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
12450
+ <fo:table-body>
12451
+ <xsl:apply-templates/>
12452
+ </fo:table-body>
12453
+ </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
12275
12454
  <xsl:apply-templates/>
12276
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertTableFooter">
12455
+ </xsl:template><xsl:template name="insertTableFooter">
12277
12456
  <xsl:param name="cols-count"/>
12278
12457
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
12279
12458
  <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
@@ -12313,7 +12492,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12313
12492
  </fo:table-footer>
12314
12493
 
12315
12494
  </xsl:if>
12316
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tbody']">
12495
+ </xsl:template><xsl:template match="*[local-name()='tbody']">
12317
12496
 
12318
12497
  <xsl:variable name="cols-count">
12319
12498
  <xsl:choose>
@@ -12344,7 +12523,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12344
12523
 
12345
12524
  </fo:table-body>
12346
12525
 
12347
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tr']">
12526
+ </xsl:template><xsl:template match="*[local-name()='tr']">
12348
12527
  <xsl:variable name="parent-name" select="local-name(..)"/>
12349
12528
  <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
12350
12529
  <fo:table-row min-height="4mm">
@@ -12364,7 +12543,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12364
12543
 
12365
12544
  <xsl:apply-templates/>
12366
12545
  </fo:table-row>
12367
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='th']">
12546
+ </xsl:template><xsl:template match="*[local-name()='th']">
12368
12547
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
12369
12548
 
12370
12549
 
@@ -12403,7 +12582,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12403
12582
  <xsl:apply-templates/>
12404
12583
  </fo:block>
12405
12584
  </fo:table-cell>
12406
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='td']">
12585
+ </xsl:template><xsl:template match="*[local-name()='td']">
12407
12586
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
12408
12587
 
12409
12588
 
@@ -12446,7 +12625,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12446
12625
 
12447
12626
 
12448
12627
  </fo:table-cell>
12449
- </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">
12628
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
12450
12629
 
12451
12630
 
12452
12631
  <fo:block font-size="10pt" margin-bottom="12pt">
@@ -12457,6 +12636,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12457
12636
  <fo:inline padding-right="2mm">
12458
12637
 
12459
12638
 
12639
+ <xsl:variable name="title-note">
12640
+ <xsl:call-template name="getTitle">
12641
+ <xsl:with-param name="name" select="'title-note'"/>
12642
+ </xsl:call-template>
12643
+ </xsl:variable>
12460
12644
  <xsl:value-of select="$title-note"/>
12461
12645
 
12462
12646
 
@@ -12467,9 +12651,9 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12467
12651
  <xsl:apply-templates mode="process"/>
12468
12652
  </fo:block>
12469
12653
 
12470
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
12654
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
12471
12655
  <xsl:apply-templates/>
12472
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_display">
12656
+ </xsl:template><xsl:template name="fn_display">
12473
12657
  <xsl:variable name="references">
12474
12658
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
12475
12659
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -12506,7 +12690,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12506
12690
  </fo:block>
12507
12691
  </xsl:if>
12508
12692
  </xsl:for-each>
12509
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_name_display">
12693
+ </xsl:template><xsl:template name="fn_name_display">
12510
12694
  <!-- <xsl:variable name="references">
12511
12695
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
12512
12696
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -12522,7 +12706,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12522
12706
  <xsl:apply-templates/>
12523
12707
  </fo:block>
12524
12708
  </xsl:for-each>
12525
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_display_figure">
12709
+ </xsl:template><xsl:template name="fn_display_figure">
12526
12710
  <xsl:variable name="key_iso">
12527
12711
  <!-- and (not(@class) or @class !='pseudocode') -->
12528
12712
  </xsl:variable>
@@ -12533,6 +12717,36 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12533
12717
  </fn>
12534
12718
  </xsl:for-each>
12535
12719
  </xsl:variable>
12720
+
12721
+ <!-- current hierarchy is 'figure' element -->
12722
+ <xsl:variable name="following_dl_colwidths">
12723
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
12724
+ <xsl:variable name="html-table">
12725
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
12726
+ <xsl:element name="{$ns}:table">
12727
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
12728
+ <tbody>
12729
+ <xsl:apply-templates mode="dl"/>
12730
+ </tbody>
12731
+ </xsl:for-each>
12732
+ </xsl:element>
12733
+ </xsl:variable>
12734
+
12735
+ <xsl:call-template name="calculate-column-widths">
12736
+ <xsl:with-param name="cols-count" select="2"/>
12737
+ <xsl:with-param name="table" select="$html-table"/>
12738
+ </xsl:call-template>
12739
+
12740
+ </xsl:if>
12741
+ </xsl:variable>
12742
+
12743
+
12744
+ <xsl:variable name="maxlength_dt">
12745
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
12746
+ <xsl:call-template name="getMaxLength_dt"/>
12747
+ </xsl:for-each>
12748
+ </xsl:variable>
12749
+
12536
12750
  <xsl:if test="xalan:nodeset($references)//fn">
12537
12751
  <fo:block>
12538
12752
  <fo:table width="95%" table-layout="fixed">
@@ -12540,8 +12754,19 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12540
12754
  <xsl:attribute name="font-size">10pt</xsl:attribute>
12541
12755
 
12542
12756
  </xsl:if>
12543
- <fo:table-column column-width="15%"/>
12544
- <fo:table-column column-width="85%"/>
12757
+ <xsl:choose>
12758
+ <!-- if there 'dl', then set same columns width -->
12759
+ <xsl:when test="xalan:nodeset($following_dl_colwidths)//column">
12760
+ <xsl:call-template name="setColumnWidth_dl">
12761
+ <xsl:with-param name="colwidths" select="$following_dl_colwidths"/>
12762
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
12763
+ </xsl:call-template>
12764
+ </xsl:when>
12765
+ <xsl:otherwise>
12766
+ <fo:table-column column-width="15%"/>
12767
+ <fo:table-column column-width="85%"/>
12768
+ </xsl:otherwise>
12769
+ </xsl:choose>
12545
12770
  <fo:table-body>
12546
12771
  <xsl:for-each select="xalan:nodeset($references)//fn">
12547
12772
  <xsl:variable name="reference" select="@reference"/>
@@ -12573,7 +12798,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12573
12798
  </fo:block>
12574
12799
  </xsl:if>
12575
12800
 
12576
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']">
12801
+ </xsl:template><xsl:template match="*[local-name()='fn']">
12577
12802
  <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
12578
12803
  <fo:inline font-size="80%" keep-with-previous.within-line="always">
12579
12804
 
@@ -12585,11 +12810,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12585
12810
  <xsl:value-of select="@reference"/>
12586
12811
  </fo:basic-link>
12587
12812
  </fo:inline>
12588
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']/*[local-name()='p']">
12813
+ </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
12589
12814
  <fo:inline>
12590
12815
  <xsl:apply-templates/>
12591
12816
  </fo:inline>
12592
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dl']">
12817
+ </xsl:template><xsl:template match="*[local-name()='dl']">
12593
12818
  <xsl:variable name="parent" select="local-name(..)"/>
12594
12819
 
12595
12820
  <xsl:variable name="key_iso">
@@ -12602,6 +12827,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12602
12827
 
12603
12828
  <fo:block margin-bottom="12pt" text-align="left">
12604
12829
 
12830
+ <xsl:variable name="title-where">
12831
+ <xsl:call-template name="getTitle">
12832
+ <xsl:with-param name="name" select="'title-where'"/>
12833
+ </xsl:call-template>
12834
+ </xsl:variable>
12605
12835
  <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
12606
12836
  <xsl:apply-templates select="*[local-name()='dt']/*"/>
12607
12837
  <xsl:text/>
@@ -12615,14 +12845,24 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12615
12845
 
12616
12846
 
12617
12847
 
12848
+ <xsl:variable name="title-where">
12849
+ <xsl:call-template name="getTitle">
12850
+ <xsl:with-param name="name" select="'title-where'"/>
12851
+ </xsl:call-template>
12852
+ </xsl:variable>
12618
12853
  <xsl:value-of select="$title-where"/>
12619
12854
  </fo:block>
12620
12855
  </xsl:when>
12621
12856
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
12622
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt">
12857
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
12623
12858
 
12624
12859
 
12625
12860
 
12861
+ <xsl:variable name="title-key">
12862
+ <xsl:call-template name="getTitle">
12863
+ <xsl:with-param name="name" select="'title-key'"/>
12864
+ </xsl:call-template>
12865
+ </xsl:variable>
12626
12866
  <xsl:value-of select="$title-key"/>
12627
12867
  </fo:block>
12628
12868
  </xsl:when>
@@ -12639,23 +12879,6 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12639
12879
 
12640
12880
 
12641
12881
 
12642
- <!-- create virtual html table for dl/[dt and dd] -->
12643
- <xsl:variable name="html-table">
12644
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
12645
- <xsl:element name="{$ns}:table">
12646
- <tbody>
12647
- <xsl:apply-templates mode="dl"/>
12648
- </tbody>
12649
- </xsl:element>
12650
- </xsl:variable>
12651
- <!-- html-table<xsl:copy-of select="$html-table"/> -->
12652
- <xsl:variable name="colwidths">
12653
- <xsl:call-template name="calculate-column-widths">
12654
- <xsl:with-param name="cols-count" select="2"/>
12655
- <xsl:with-param name="table" select="$html-table"/>
12656
- </xsl:call-template>
12657
- </xsl:variable>
12658
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
12659
12882
 
12660
12883
  <fo:table width="95%" table-layout="fixed">
12661
12884
 
@@ -12668,42 +12891,30 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12668
12891
 
12669
12892
  </xsl:when>
12670
12893
  </xsl:choose>
12671
- <xsl:choose>
12672
- <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
12673
- <fo:table-column column-width="50%"/>
12674
- <fo:table-column column-width="50%"/>
12675
- </xsl:when>
12676
- <xsl:otherwise>
12677
- <xsl:choose>
12678
- <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
12679
- <fo:table-column column-width="60%"/>
12680
- <fo:table-column column-width="40%"/>
12681
- </xsl:when> -->
12682
- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
12683
- <fo:table-column column-width="50%"/>
12684
- <fo:table-column column-width="50%"/>
12685
- </xsl:when>
12686
- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
12687
- <fo:table-column column-width="40%"/>
12688
- <fo:table-column column-width="60%"/>
12689
- </xsl:when>
12690
- <xsl:otherwise>
12691
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
12692
- <xsl:choose>
12693
- <xsl:when test=". = 1 or . = 0">
12694
- <fo:table-column column-width="proportional-column-width(2)"/>
12695
- </xsl:when>
12696
- <xsl:otherwise>
12697
- <fo:table-column column-width="proportional-column-width({.})"/>
12698
- </xsl:otherwise>
12699
- </xsl:choose>
12700
- </xsl:for-each>
12701
- </xsl:otherwise>
12702
- </xsl:choose>
12703
- <!-- <fo:table-column column-width="15%"/>
12704
- <fo:table-column column-width="85%"/> -->
12705
- </xsl:otherwise>
12706
- </xsl:choose>
12894
+ <!-- create virtual html table for dl/[dt and dd] -->
12895
+ <xsl:variable name="html-table">
12896
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
12897
+ <xsl:element name="{$ns}:table">
12898
+ <tbody>
12899
+ <xsl:apply-templates mode="dl"/>
12900
+ </tbody>
12901
+ </xsl:element>
12902
+ </xsl:variable>
12903
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
12904
+ <xsl:variable name="colwidths">
12905
+ <xsl:call-template name="calculate-column-widths">
12906
+ <xsl:with-param name="cols-count" select="2"/>
12907
+ <xsl:with-param name="table" select="$html-table"/>
12908
+ </xsl:call-template>
12909
+ </xsl:variable>
12910
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
12911
+ <xsl:variable name="maxlength_dt">
12912
+ <xsl:call-template name="getMaxLength_dt"/>
12913
+ </xsl:variable>
12914
+ <xsl:call-template name="setColumnWidth_dl">
12915
+ <xsl:with-param name="colwidths" select="$colwidths"/>
12916
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
12917
+ </xsl:call-template>
12707
12918
  <fo:table-body>
12708
12919
  <xsl:apply-templates>
12709
12920
  <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
@@ -12713,7 +12924,61 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12713
12924
  </fo:block>
12714
12925
  </fo:block>
12715
12926
  </xsl:if>
12716
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dl']/*[local-name()='note']">
12927
+ </xsl:template><xsl:template name="setColumnWidth_dl">
12928
+ <xsl:param name="colwidths"/>
12929
+ <xsl:param name="maxlength_dt"/>
12930
+ <xsl:choose>
12931
+ <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
12932
+ <fo:table-column column-width="50%"/>
12933
+ <fo:table-column column-width="50%"/>
12934
+ </xsl:when>
12935
+ <xsl:otherwise>
12936
+ <xsl:choose>
12937
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
12938
+ <fo:table-column column-width="5%"/>
12939
+ <fo:table-column column-width="95%"/>
12940
+ </xsl:when>
12941
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
12942
+ <fo:table-column column-width="10%"/>
12943
+ <fo:table-column column-width="90%"/>
12944
+ </xsl:when>
12945
+ <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
12946
+ <fo:table-column column-width="60%"/>
12947
+ <fo:table-column column-width="40%"/>
12948
+ </xsl:when> -->
12949
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
12950
+ <fo:table-column column-width="50%"/>
12951
+ <fo:table-column column-width="50%"/>
12952
+ </xsl:when>
12953
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
12954
+ <fo:table-column column-width="40%"/>
12955
+ <fo:table-column column-width="60%"/>
12956
+ </xsl:when>
12957
+ <xsl:otherwise>
12958
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
12959
+ <xsl:choose>
12960
+ <xsl:when test=". = 1 or . = 0">
12961
+ <fo:table-column column-width="proportional-column-width(2)"/>
12962
+ </xsl:when>
12963
+ <xsl:otherwise>
12964
+ <fo:table-column column-width="proportional-column-width({.})"/>
12965
+ </xsl:otherwise>
12966
+ </xsl:choose>
12967
+ </xsl:for-each>
12968
+ </xsl:otherwise>
12969
+ </xsl:choose>
12970
+ <!-- <fo:table-column column-width="15%"/>
12971
+ <fo:table-column column-width="85%"/> -->
12972
+ </xsl:otherwise>
12973
+ </xsl:choose>
12974
+ </xsl:template><xsl:template name="getMaxLength_dt">
12975
+ <xsl:for-each select="*[local-name()='dt']">
12976
+ <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
12977
+ <xsl:if test="position() = 1">
12978
+ <xsl:value-of select="string-length(normalize-space(.))"/>
12979
+ </xsl:if>
12980
+ </xsl:for-each>
12981
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
12717
12982
  <xsl:param name="key_iso"/>
12718
12983
 
12719
12984
  <!-- <tr>
@@ -12729,6 +12994,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12729
12994
  <xsl:if test="normalize-space($key_iso) = 'true'">
12730
12995
  <xsl:attribute name="margin-top">0</xsl:attribute>
12731
12996
  </xsl:if>
12997
+ <xsl:variable name="title-note">
12998
+ <xsl:call-template name="getTitle">
12999
+ <xsl:with-param name="name" select="'title-note'"/>
13000
+ </xsl:call-template>
13001
+ </xsl:variable>
12732
13002
  <xsl:value-of select="$title-note"/>
12733
13003
  </fo:block>
12734
13004
  </fo:table-cell>
@@ -12738,7 +13008,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12738
13008
  </fo:block>
12739
13009
  </fo:table-cell>
12740
13010
  </fo:table-row>
12741
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dt']" mode="dl">
13011
+ </xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
12742
13012
  <tr>
12743
13013
  <td>
12744
13014
  <xsl:apply-templates/>
@@ -12751,7 +13021,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12751
13021
  </td>
12752
13022
  </tr>
12753
13023
 
12754
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dt']">
13024
+ </xsl:template><xsl:template match="*[local-name()='dt']">
12755
13025
  <xsl:param name="key_iso"/>
12756
13026
 
12757
13027
  <fo:table-row>
@@ -12770,7 +13040,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12770
13040
 
12771
13041
 
12772
13042
  <xsl:apply-templates/>
12773
-
13043
+ <!-- <xsl:if test="$namespace = 'gb'">
13044
+ <xsl:if test="ancestor::*[local-name()='formula']">
13045
+ <xsl:text>—</xsl:text>
13046
+ </xsl:if>
13047
+ </xsl:if> -->
12774
13048
  </fo:block>
12775
13049
  </fo:table-cell>
12776
13050
  <fo:table-cell>
@@ -12784,37 +13058,37 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12784
13058
  </fo:table-cell>
12785
13059
  </fo:table-row>
12786
13060
 
12787
- </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">
13061
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
12788
13062
  <xsl:apply-templates/>
12789
- </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">
13063
+ </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
12790
13064
  <xsl:apply-templates/>
12791
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
13065
+ </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
12792
13066
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
12793
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='em']">
13067
+ </xsl:template><xsl:template match="*[local-name()='em']">
12794
13068
  <fo:inline font-style="italic">
12795
13069
  <xsl:apply-templates/>
12796
13070
  </fo:inline>
12797
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='strong']">
13071
+ </xsl:template><xsl:template match="*[local-name()='strong']">
12798
13072
  <fo:inline font-weight="bold">
12799
13073
  <xsl:apply-templates/>
12800
13074
  </fo:inline>
12801
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sup']">
13075
+ </xsl:template><xsl:template match="*[local-name()='sup']">
12802
13076
  <fo:inline font-size="80%" vertical-align="super">
12803
13077
  <xsl:apply-templates/>
12804
13078
  </fo:inline>
12805
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sub']">
13079
+ </xsl:template><xsl:template match="*[local-name()='sub']">
12806
13080
  <fo:inline font-size="80%" vertical-align="sub">
12807
13081
  <xsl:apply-templates/>
12808
13082
  </fo:inline>
12809
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tt']">
13083
+ </xsl:template><xsl:template match="*[local-name()='tt']">
12810
13084
  <fo:inline font-family="Courier" font-size="10pt">
12811
13085
  <xsl:apply-templates/>
12812
13086
  </fo:inline>
12813
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='del']">
13087
+ </xsl:template><xsl:template match="*[local-name()='del']">
12814
13088
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
12815
13089
  <xsl:apply-templates/>
12816
13090
  </fo:inline>
12817
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()[ancestor::*[local-name()='smallcap']]">
13091
+ </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
12818
13092
  <xsl:variable name="text" select="normalize-space(.)"/>
12819
13093
  <fo:inline font-size="75%">
12820
13094
  <xsl:if test="string-length($text) &gt; 0">
@@ -12823,10 +13097,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12823
13097
  </xsl:call-template>
12824
13098
  </xsl:if>
12825
13099
  </fo:inline>
12826
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="recursiveSmallCaps">
13100
+ </xsl:template><xsl:template name="recursiveSmallCaps">
12827
13101
  <xsl:param name="text"/>
12828
13102
  <xsl:variable name="char" select="substring($text,1,1)"/>
12829
- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
13103
+ <!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
13104
+ <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
12830
13105
  <xsl:choose>
12831
13106
  <xsl:when test="$char=$upperCase">
12832
13107
  <fo:inline font-size="{100 div 0.75}%">
@@ -12842,7 +13117,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12842
13117
  <xsl:with-param name="text" select="substring($text,2)"/>
12843
13118
  </xsl:call-template>
12844
13119
  </xsl:if>
12845
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="tokenize">
13120
+ </xsl:template><xsl:template name="tokenize">
12846
13121
  <xsl:param name="text"/>
12847
13122
  <xsl:param name="separator" select="' '"/>
12848
13123
  <xsl:choose>
@@ -12890,7 +13165,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12890
13165
  </xsl:call-template>
12891
13166
  </xsl:otherwise>
12892
13167
  </xsl:choose>
12893
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="max_length">
13168
+ </xsl:template><xsl:template name="max_length">
12894
13169
  <xsl:param name="words"/>
12895
13170
  <xsl:for-each select="$words//word">
12896
13171
  <xsl:sort select="." data-type="number" order="descending"/>
@@ -12898,11 +13173,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12898
13173
  <xsl:value-of select="."/>
12899
13174
  </xsl:if>
12900
13175
  </xsl:for-each>
12901
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces-java">
13176
+ </xsl:template><xsl:template name="add-zero-spaces-java">
12902
13177
  <xsl:param name="text" select="."/>
12903
13178
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
12904
13179
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
12905
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces">
13180
+ </xsl:template><xsl:template name="add-zero-spaces">
12906
13181
  <xsl:param name="text" select="."/>
12907
13182
  <xsl:variable name="zero-space-after-chars">-</xsl:variable>
12908
13183
  <xsl:variable name="zero-space-after-dot">.</xsl:variable>
@@ -12955,7 +13230,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12955
13230
  <xsl:value-of select="$text"/>
12956
13231
  </xsl:otherwise>
12957
13232
  </xsl:choose>
12958
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces-equal">
13233
+ </xsl:template><xsl:template name="add-zero-spaces-equal">
12959
13234
  <xsl:param name="text" select="."/>
12960
13235
  <xsl:variable name="zero-space-after-equals">==========</xsl:variable>
12961
13236
  <xsl:variable name="zero-space-after-equal">=</xsl:variable>
@@ -12981,7 +13256,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
12981
13256
  <xsl:value-of select="$text"/>
12982
13257
  </xsl:otherwise>
12983
13258
  </xsl:choose>
12984
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getSimpleTable">
13259
+ </xsl:template><xsl:template name="getSimpleTable">
12985
13260
  <xsl:variable name="simple-table">
12986
13261
 
12987
13262
  <!-- Step 1. colspan processing -->
@@ -13008,9 +13283,9 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13008
13283
  </xsl:choose> -->
13009
13284
  </xsl:variable>
13010
13285
  <xsl:copy-of select="$simple-table"/>
13011
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
13286
+ </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
13012
13287
  <xsl:apply-templates mode="simple-table-colspan"/>
13013
- </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">
13288
+ </xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
13014
13289
  <xsl:choose>
13015
13290
  <xsl:when test="@colspan">
13016
13291
  <xsl:variable name="td">
@@ -13032,16 +13307,16 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13032
13307
  </xsl:element>
13033
13308
  </xsl:otherwise>
13034
13309
  </xsl:choose>
13035
- </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">
13310
+ </xsl:template><xsl:template match="@colspan" mode="simple-table-colspan"/><xsl:template match="*[local-name()='tr']" mode="simple-table-colspan">
13036
13311
  <xsl:element name="tr">
13037
13312
  <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
13038
13313
  <xsl:apply-templates mode="simple-table-colspan"/>
13039
13314
  </xsl:element>
13040
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@*|node()" mode="simple-table-colspan">
13315
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-colspan">
13041
13316
  <xsl:copy>
13042
13317
  <xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
13043
13318
  </xsl:copy>
13044
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="repeatNode">
13319
+ </xsl:template><xsl:template name="repeatNode">
13045
13320
  <xsl:param name="count"/>
13046
13321
  <xsl:param name="node"/>
13047
13322
 
@@ -13052,18 +13327,18 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13052
13327
  </xsl:call-template>
13053
13328
  <xsl:copy-of select="$node"/>
13054
13329
  </xsl:if>
13055
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@*|node()" mode="simple-table-rowspan">
13330
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-rowspan">
13056
13331
  <xsl:copy>
13057
13332
  <xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
13058
13333
  </xsl:copy>
13059
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="tbody" mode="simple-table-rowspan">
13334
+ </xsl:template><xsl:template match="tbody" mode="simple-table-rowspan">
13060
13335
  <xsl:copy>
13061
13336
  <xsl:copy-of select="tr[1]"/>
13062
13337
  <xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
13063
13338
  <xsl:with-param name="previousRow" select="tr[1]"/>
13064
13339
  </xsl:apply-templates>
13065
13340
  </xsl:copy>
13066
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="tr" mode="simple-table-rowspan">
13341
+ </xsl:template><xsl:template match="tr" mode="simple-table-rowspan">
13067
13342
  <xsl:param name="previousRow"/>
13068
13343
  <xsl:variable name="currentRow" select="."/>
13069
13344
 
@@ -13097,43 +13372,53 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13097
13372
  <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
13098
13373
  <xsl:with-param name="previousRow" select="$newRow"/>
13099
13374
  </xsl:apply-templates>
13100
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getLang">
13375
+ </xsl:template><xsl:template name="getLang">
13101
13376
  <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
13102
13377
  <xsl:choose>
13103
13378
  <xsl:when test="$language = 'English'">en</xsl:when>
13104
13379
  <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
13105
13380
  </xsl:choose>
13106
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="capitalizeWords">
13381
+ </xsl:template><xsl:template name="capitalizeWords">
13107
13382
  <xsl:param name="str"/>
13108
13383
  <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
13109
13384
  <xsl:choose>
13110
13385
  <xsl:when test="contains($str2, ' ')">
13111
13386
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
13112
- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
13113
- <xsl:value-of select="substring($substr, 2)"/>
13387
+ <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
13388
+ <xsl:value-of select="substring($substr, 2)"/> -->
13389
+ <xsl:call-template name="capitalize">
13390
+ <xsl:with-param name="str" select="$substr"/>
13391
+ </xsl:call-template>
13114
13392
  <xsl:text> </xsl:text>
13115
13393
  <xsl:call-template name="capitalizeWords">
13116
13394
  <xsl:with-param name="str" select="substring-after($str2, ' ')"/>
13117
13395
  </xsl:call-template>
13118
13396
  </xsl:when>
13119
13397
  <xsl:otherwise>
13120
- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
13121
- <xsl:value-of select="substring($str2, 2)"/>
13398
+ <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
13399
+ <xsl:value-of select="substring($str2, 2)"/> -->
13400
+ <xsl:call-template name="capitalize">
13401
+ <xsl:with-param name="str" select="$str2"/>
13402
+ </xsl:call-template>
13122
13403
  </xsl:otherwise>
13123
13404
  </xsl:choose>
13124
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="mathml:math">
13405
+ </xsl:template><xsl:template name="capitalize">
13406
+ <xsl:param name="str"/>
13407
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
13408
+ <xsl:value-of select="substring($str, 2)"/>
13409
+ </xsl:template><xsl:template match="mathml:math">
13125
13410
  <fo:inline font-family="STIX2Math">
13126
13411
  <fo:instream-foreign-object fox:alt-text="Math">
13127
13412
  <xsl:copy-of select="."/>
13128
13413
  </fo:instream-foreign-object>
13129
13414
  </fo:inline>
13130
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='localityStack']">
13415
+ </xsl:template><xsl:template match="*[local-name()='localityStack']">
13131
13416
  <xsl:for-each select="*[local-name()='locality']">
13132
13417
  <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
13133
13418
  <xsl:apply-templates select="."/>
13134
13419
  <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
13135
13420
  </xsl:for-each>
13136
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='link']" name="link">
13421
+ </xsl:template><xsl:template match="*[local-name()='link']" name="link">
13137
13422
  <xsl:variable name="target">
13138
13423
  <xsl:choose>
13139
13424
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -13163,7 +13448,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13163
13448
  </xsl:otherwise>
13164
13449
  </xsl:choose>
13165
13450
  </fo:inline>
13166
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sourcecode']" name="sourcecode">
13451
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
13167
13452
  <fo:block xsl:use-attribute-sets="sourcecode-style">
13168
13453
  <!-- <xsl:choose>
13169
13454
  <xsl:when test="@lang = 'en'"></xsl:when>
@@ -13174,19 +13459,29 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13174
13459
  </xsl:choose> -->
13175
13460
  <xsl:apply-templates/>
13176
13461
  </fo:block>
13177
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='bookmark']">
13462
+ </xsl:template><xsl:template match="*[local-name()='bookmark']">
13178
13463
  <fo:inline id="{@id}"/>
13179
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']">
13464
+ </xsl:template><xsl:template match="*[local-name()='appendix']">
13180
13465
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
13466
+ <xsl:variable name="title-appendix">
13467
+ <xsl:call-template name="getTitle">
13468
+ <xsl:with-param name="name" select="'title-appendix'"/>
13469
+ </xsl:call-template>
13470
+ </xsl:variable>
13181
13471
  <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
13182
13472
  <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
13183
13473
  </fo:block>
13184
13474
  <xsl:apply-templates/>
13185
- </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">
13475
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
13186
13476
  <fo:inline><xsl:apply-templates/></fo:inline>
13187
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']//*[local-name()='example']">
13477
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
13188
13478
  <fo:block xsl:use-attribute-sets="appendix-example-style">
13189
13479
  <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
13480
+ <xsl:variable name="title-example">
13481
+ <xsl:call-template name="getTitle">
13482
+ <xsl:with-param name="name" select="'title-example'"/>
13483
+ </xsl:call-template>
13484
+ </xsl:variable>
13190
13485
  <xsl:value-of select="$title-example"/>
13191
13486
  <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
13192
13487
  <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
@@ -13196,11 +13491,11 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13196
13491
  </xsl:if>
13197
13492
  </fo:block>
13198
13493
  <xsl:apply-templates/>
13199
- </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">
13494
+ </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">
13200
13495
  <fo:inline><xsl:apply-templates/></fo:inline>
13201
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'callout']">
13496
+ </xsl:template><xsl:template match="*[local-name() = 'callout']">
13202
13497
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
13203
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'annotation']">
13498
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']">
13204
13499
  <xsl:variable name="annotation-id" select="@id"/>
13205
13500
  <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
13206
13501
  <fo:block id="{$annotation-id}" white-space="nowrap">
@@ -13210,14 +13505,25 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13210
13505
  </xsl:apply-templates>
13211
13506
  </fo:inline>
13212
13507
  </fo:block>
13213
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'annotation']/*[local-name() = 'p']">
13508
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
13214
13509
  <xsl:param name="callout"/>
13215
13510
  <fo:inline id="{@id}">
13216
13511
  <!-- for first p in annotation, put <x> -->
13217
13512
  <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
13218
13513
  <xsl:apply-templates/>
13219
13514
  </fo:inline>
13220
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="convertDate">
13515
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
13516
+ <xsl:variable name="title-modified">
13517
+ <xsl:call-template name="getTitle">
13518
+ <xsl:with-param name="name" select="'title-modified'"/>
13519
+ </xsl:call-template>
13520
+ </xsl:variable>
13521
+ <xsl:choose>
13522
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
13523
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
13524
+ </xsl:choose>
13525
+ <xsl:apply-templates/>
13526
+ </xsl:template><xsl:template name="convertDate">
13221
13527
  <xsl:param name="date"/>
13222
13528
  <xsl:param name="format" select="'short'"/>
13223
13529
  <xsl:variable name="year" select="substring($date, 1, 4)"/>
@@ -13250,7 +13556,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13250
13556
  </xsl:choose>
13251
13557
  </xsl:variable>
13252
13558
  <xsl:value-of select="$result"/>
13253
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertKeywords">
13559
+ </xsl:template><xsl:template name="insertKeywords">
13254
13560
  <xsl:param name="sorting" select="'true'"/>
13255
13561
  <xsl:param name="charAtEnd" select="'.'"/>
13256
13562
  <xsl:param name="charDelim" select="', '"/>
@@ -13273,7 +13579,7 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13273
13579
  </xsl:for-each>
13274
13580
  </xsl:otherwise>
13275
13581
  </xsl:choose>
13276
- </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertKeyword">
13582
+ </xsl:template><xsl:template name="insertKeyword">
13277
13583
  <xsl:param name="charAtEnd"/>
13278
13584
  <xsl:param name="charDelim"/>
13279
13585
  <xsl:apply-templates/>
@@ -13281,4 +13587,105 @@ w+FwgnQ4HA4nSIfD4XCCdDgcDidIh8Ph6HT8T4ABAB91/nepRFURAAAAAElFTkSuQmCC
13281
13587
  <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
13282
13588
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
13283
13589
  </xsl:choose>
13590
+ </xsl:template><xsl:template name="addPDFUAmeta">
13591
+ <fo:declarations>
13592
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
13593
+ <pdf:dictionary type="normal" key="ViewerPreferences">
13594
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
13595
+ </pdf:dictionary>
13596
+ </pdf:catalog>
13597
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
13598
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
13599
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
13600
+ <!-- Dublin Core properties go here -->
13601
+ <dc:title>
13602
+ <xsl:variable name="title">
13603
+
13604
+ <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en' and @type = 'main']"/>
13605
+
13606
+
13607
+
13608
+
13609
+ </xsl:variable>
13610
+ <xsl:choose>
13611
+ <xsl:when test="normalize-space($title) != ''">
13612
+ <xsl:value-of select="$title"/>
13613
+ </xsl:when>
13614
+ <xsl:otherwise>
13615
+ <xsl:text> </xsl:text>
13616
+ </xsl:otherwise>
13617
+ </xsl:choose>
13618
+ </dc:title>
13619
+ <dc:creator>
13620
+
13621
+
13622
+ </dc:creator>
13623
+ <dc:description>
13624
+ <xsl:variable name="abstract">
13625
+
13626
+
13627
+
13628
+ <xsl:copy-of select="/*/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
13629
+
13630
+
13631
+ </xsl:variable>
13632
+ <xsl:value-of select="normalize-space($abstract)"/>
13633
+ </dc:description>
13634
+ <pdf:Keywords>
13635
+ <xsl:call-template name="insertKeywords"/>
13636
+ </pdf:Keywords>
13637
+ </rdf:Description>
13638
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
13639
+ <!-- XMP properties go here -->
13640
+ <xmp:CreatorTool/>
13641
+ </rdf:Description>
13642
+ </rdf:RDF>
13643
+ </x:xmpmeta>
13644
+ </fo:declarations>
13645
+ </xsl:template><xsl:template name="getId">
13646
+ <xsl:choose>
13647
+ <xsl:when test="../@id">
13648
+ <xsl:value-of select="../@id"/>
13649
+ </xsl:when>
13650
+ <xsl:otherwise>
13651
+ <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
13652
+ <xsl:value-of select="concat(generate-id(..), '_', text())"/>
13653
+ </xsl:otherwise>
13654
+ </xsl:choose>
13655
+ </xsl:template><xsl:template name="getLevel">
13656
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
13657
+ <xsl:variable name="level">
13658
+ <xsl:choose>
13659
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
13660
+ <xsl:value-of select="$level_total - 2"/>
13661
+ </xsl:when>
13662
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
13663
+ <xsl:value-of select="$level_total - 2"/>
13664
+ </xsl:when>
13665
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
13666
+ <xsl:value-of select="$level_total - 2"/>
13667
+ </xsl:when>
13668
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
13669
+ <xsl:otherwise>
13670
+ <xsl:value-of select="$level_total - 1"/>
13671
+ </xsl:otherwise>
13672
+ </xsl:choose>
13673
+ </xsl:variable>
13674
+ <xsl:value-of select="$level"/>
13675
+ </xsl:template><xsl:template name="getSubSection">
13676
+ <xsl:number format=".1" level="multiple" count="*[local-name() = 'clause']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'terms'] | *[local-name() = 'terms']/*[local-name() = 'term'] | *[local-name() = 'clause']/*[local-name() = 'term'] | *[local-name() = 'terms']/*[local-name() = 'clause'] | *[local-name() = 'terms']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'definitions'] | *[local-name() = 'clause']/*[local-name() = 'references']"/>
13677
+ </xsl:template><xsl:template name="split">
13678
+ <xsl:param name="pText" select="."/>
13679
+ <xsl:param name="sep" select="','"/>
13680
+ <xsl:if test="string-length($pText) &gt;0">
13681
+ <item>
13682
+ <xsl:value-of select="normalize-space(substring-before(concat($pText, ','), $sep))"/>
13683
+ </item>
13684
+ <xsl:call-template name="split">
13685
+ <xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
13686
+ <xsl:with-param name="sep" select="$sep"/>
13687
+ </xsl:call-template>
13688
+ </xsl:if>
13689
+ </xsl:template><xsl:template name="getDocumentId">
13690
+ <xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
13284
13691
  </xsl:template></xsl:stylesheet>