metanorma-iec 1.1.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -0
  3. data/lib/asciidoctor/iec/converter.rb +6 -15
  4. data/lib/asciidoctor/iec/front.rb +4 -4
  5. data/lib/asciidoctor/iec/isodoc.rng +12 -6
  6. data/lib/isodoc/iec/base_convert.rb +9 -41
  7. data/lib/isodoc/iec/html/htmlstyle.css +962 -0
  8. data/lib/isodoc/iec/html/htmlstyle.scss +0 -3
  9. data/lib/isodoc/iec/html/isodoc.css +845 -0
  10. data/lib/isodoc/iec/html/isodoc.scss +0 -1
  11. data/lib/isodoc/iec/html/wordstyle.css +2013 -0
  12. data/lib/isodoc/iec/html/wordstyle.scss +0 -1
  13. data/lib/isodoc/iec/html_convert.rb +2 -0
  14. data/lib/isodoc/iec/i18n-en.yaml +13 -0
  15. data/lib/isodoc/iec/i18n-fr.yaml +13 -0
  16. data/lib/isodoc/iec/i18n-zh-Hans.yaml +11 -0
  17. data/lib/isodoc/iec/i18n.rb +19 -0
  18. data/lib/isodoc/iec/iec.international-standard.xsl +1460 -1247
  19. data/lib/isodoc/iec/init.rb +29 -0
  20. data/lib/isodoc/iec/presentation_xml_convert.rb +26 -1
  21. data/lib/isodoc/iec/word_convert.rb +3 -1
  22. data/lib/isodoc/iec/xref.rb +1 -1
  23. data/lib/metanorma/iec/version.rb +1 -1
  24. data/metanorma-iec.gemspec +3 -2
  25. data/spec/asciidoctor-iec/blocks_spec.rb +1 -1
  26. data/spec/asciidoctor-iec/cleanup_spec.rb +2 -2
  27. data/spec/asciidoctor-iec/iev_spec.rb +74 -1
  28. data/spec/asciidoctor-iec/inline_spec.rb +1 -1
  29. data/spec/asciidoctor-iec/section_spec.rb +17 -15
  30. data/spec/isodoc/blocks_spec.rb +66 -1
  31. data/spec/isodoc/i18n_spec.rb +296 -244
  32. data/spec/isodoc/iev_spec.rb +221 -14
  33. data/spec/isodoc/inline_spec.rb +97 -73
  34. data/spec/isodoc/iso_spec.rb +6 -0
  35. data/spec/isodoc/postproc_spec.rb +15 -29
  36. data/spec/isodoc/ref_spec.rb +129 -2
  37. data/spec/isodoc/section_spec.rb +112 -102
  38. data/spec/isodoc/terms_spec.rb +67 -53
  39. data/spec/metanorma/processor_spec.rb +2 -1
  40. metadata +25 -9
  41. data/lib/asciidoctor/iec/i18n-en.yaml +0 -12
  42. data/lib/asciidoctor/iec/i18n-fr.yaml +0 -11
  43. data/lib/asciidoctor/iec/i18n-zh-Hans.yaml +0 -9
@@ -1852,4 +1852,3 @@ ol
1852
1852
  ul
1853
1853
  {margin-bottom:0cm;
1854
1854
  margin-left:18pt;}
1855
-
@@ -1,6 +1,7 @@
1
1
  require "isodoc"
2
2
  require "metanorma-iso"
3
3
  require_relative "base_convert"
4
+ require_relative "init"
4
5
 
5
6
  module IsoDoc
6
7
  module Iec
@@ -36,6 +37,7 @@ module IsoDoc
36
37
  end
37
38
 
38
39
  include BaseConvert
40
+ include Init
39
41
  end
40
42
  end
41
43
  end
@@ -2,4 +2,17 @@ introduction: INTRODUCTION
2
2
  introduction_iev: INTRODUCTION<br/>Principles and rules followed
3
3
  foreword: FOREWORD
4
4
  IEC: INTERNATIONAL ELECTROTECHNICAL COMMISSION
5
+ formula: Equation
6
+ inequality: Inequality
5
7
  section_iev: Section
8
+ term_def_boilerplate: |
9
+ <p>ISO and IEC maintain terminological databases for use in
10
+ standardization at the following addresses:</p>
11
+
12
+ <ul>
13
+ <li> <p>IEC Electropedia: available at
14
+ <link target="http://www.electropedia.org"/>
15
+ </p> </li>
16
+ <li> <p>ISO Online browsing platform: available at
17
+ <link target="http://www.iso.org/obp"/></p> </li>
18
+ </ul>
@@ -1,5 +1,18 @@
1
1
  introduction: INTRODUCTION
2
2
  introduction_iev: INTRODUCTION<br/>Principes d’établissement et règles suivies
3
3
  foreword: AVANT-PROPOS
4
+ formula: Equation
5
+ inequality: Inégalité
4
6
  IEC: COMMISSION ELECTROTECHNIQUE INTERNATIONALE
5
7
  section_iev: Section
8
+ term_def_boilerplate: |
9
+ <p>L'ISO et l'IEC tiennent à jour des bases de données terminologiques
10
+ destinées à être utilisées en normalisation, consultables aux adresses
11
+ suivantes:</p>
12
+ <ul>
13
+ <li> <p>IEC Electropedia: disponible à l'adresse
14
+ <link target="http://www.electropedia.org"/>
15
+ </p> </li>
16
+ <li> <p>ISO Online browsing platform: disponible à l'adresse
17
+ <link target="http://www.iso.org/obp"/></p> </li>
18
+ </ul>
@@ -1,3 +1,14 @@
1
1
  introduction: 引言
2
2
  foreword: 前言
3
3
  IEC: 国际电工委员会
4
+ formula: 方程式
5
+ inequality: 不等式
6
+ term_def_boilerplate: |
7
+ <p>ISO和IEC用于标准化的术语数据库地址如下:</p>
8
+ <ul>
9
+ <li> <p>IEC Electropedia:
10
+ 位于<link target="http://www.electropedia.org"/>
11
+ </p> </li>
12
+ <li> <p>ISO在线浏览平台:
13
+ 位于<link target="http://www.iso.org/obp"/></p></li>
14
+ </ul>
@@ -0,0 +1,19 @@
1
+ module IsoDoc
2
+ module Iec
3
+ class I18n < IsoDoc::Iso::I18n
4
+ def load_yaml1(lang, script)
5
+ y = if lang == "en"
6
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
7
+ elsif lang == "fr"
8
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-fr.yaml"))
9
+ elsif lang == "zh" && script == "Hans"
10
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-zh-Hans.yaml"))
11
+ else
12
+ YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
13
+ end
14
+ super.merge(y)
15
+ end
16
+ end
17
+ end
18
+ end
19
+
@@ -2,6 +2,9 @@
2
2
 
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
+ <xsl:param name="svg_images"/>
6
+ <xsl:variable name="images" select="document($svg_images)"/>
7
+
5
8
 
6
9
 
7
10
  <xsl:param name="additionalXMLs" select="''"/> <!-- iec-rice.fr.xml -->
@@ -113,29 +116,8 @@
113
116
 
114
117
  <xsl:template name="generateContents">
115
118
  <contents>
116
-
117
- <xsl:apply-templates select="/iec:iec-standard/iec:preface/node()" mode="contents"/>
118
- <!-- <xsl:with-param name="sectionNum" select="'0'"/>
119
- </xsl:apply-templates> -->
120
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]" mode="contents"> <!-- [@id = '_scope'] -->
121
- <xsl:with-param name="sectionNum" select="'1'"/>
122
- </xsl:apply-templates>
123
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]" mode="contents"> <!-- [@id = '_normative_references'] -->
124
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + 1"/>
125
- </xsl:apply-templates>
126
-
127
- <!-- Terms and definitions -->
128
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:terms" mode="contents">
129
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + 1"/>
130
- </xsl:apply-templates>
131
-
132
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]" mode="contents">
133
- <xsl:with-param name="sectionNumSkew" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + count(/iec:iec-standard/iec:sections/iec:terms)"/>
134
- </xsl:apply-templates>
135
-
136
- <xsl:apply-templates select="/iec:iec-standard/iec:annex" mode="contents"/>
137
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]" mode="contents"/> <!-- @id = '_bibliography' -->
138
-
119
+ <xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
120
+ <xsl:call-template name="processMainSectionsDefault_Contents"/>
139
121
  </contents>
140
122
  </xsl:template>
141
123
 
@@ -147,6 +129,7 @@
147
129
  </xsl:variable>
148
130
 
149
131
  <xsl:template match="/">
132
+ <xsl:call-template name="namespaceCheck"/>
150
133
  <!-- https://stackoverflow.com/questions/25261949/xsl-fo-letter-spacing-with-text-align -->
151
134
  <!-- https://xmlgraphics.apache.org/fop/knownissues.html -->
152
135
  <fo:root font-family="Arial, Times New Roman, STIX2Math, HanSans" font-size="10pt" xml:lang="{$lang}">
@@ -1184,7 +1167,9 @@
1184
1167
  </xsl:call-template>
1185
1168
  </fo:block>
1186
1169
 
1187
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true'] [@level &lt;= 3] [not(@level = 2 and starts-with(@section, '0'))]"><!-- skip clause from preface -->
1170
+ <xsl:for-each select="xalan:nodeset($contents)//item"><!-- [@display = 'true']
1171
+ [@level &lt;= 3]
1172
+ [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
1188
1173
  <fo:block text-align-last="justify">
1189
1174
  <xsl:if test="@level = 1">
1190
1175
  <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
@@ -1211,7 +1196,7 @@
1211
1196
  </xsl:attribute>
1212
1197
  <xsl:attribute name="provisional-distance-between-starts">
1213
1198
  <xsl:choose>
1214
- <xsl:when test="@display-section = 'false' or @section = ''">0mm</xsl:when>
1199
+ <xsl:when test="@section = ''">0mm</xsl:when>
1215
1200
  <xsl:when test="@level = 1">8mm</xsl:when>
1216
1201
  <xsl:when test="@level = 2">15mm</xsl:when>
1217
1202
  <xsl:when test="@level = 3">19mm</xsl:when>
@@ -1221,22 +1206,17 @@
1221
1206
  <fo:list-item>
1222
1207
  <fo:list-item-label end-indent="label-end()">
1223
1208
  <fo:block>
1224
- <xsl:if test="not(@display-section = 'false')">
1225
- <xsl:value-of select="@section"/>
1226
- </xsl:if>
1209
+ <xsl:value-of select="@section"/>
1227
1210
  </fo:block>
1228
1211
  </fo:list-item-label>
1229
1212
  <fo:list-item-body start-indent="body-start()">
1230
1213
  <fo:block text-align-last="justify">
1231
1214
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
1232
- <xsl:if test="@type = 'annex'">
1233
- <fo:inline><xsl:value-of select="@section"/></fo:inline>
1234
- <xsl:if test="@addon != ''">
1235
- <fo:inline> (<xsl:value-of select="@addon"/>) </fo:inline>
1236
- </xsl:if>
1237
- </xsl:if>
1215
+ <xsl:variable name="title">
1216
+ <xsl:apply-templates/>
1217
+ </xsl:variable>
1238
1218
  <xsl:call-template name="addLetterSpacing">
1239
- <xsl:with-param name="text" select="text()"/>
1219
+ <xsl:with-param name="text" select="$title"/>
1240
1220
  </xsl:call-template>
1241
1221
  <xsl:text> </xsl:text>
1242
1222
  <fo:inline keep-together.within-line="always">
@@ -1251,17 +1231,12 @@
1251
1231
  </fo:block>
1252
1232
  </xsl:for-each>
1253
1233
 
1254
- <xsl:if test="xalan:nodeset($contents)//item[@type = 'figure']">
1255
- <fo:block margin-bottom="5pt"> </fo:block>
1256
- <!-- <fo:block margin-top="5pt" margin-bottom="10pt">&#xA0;</fo:block> -->
1257
- <xsl:for-each select="xalan:nodeset($contents)//item[@type = 'figure']">
1234
+ <xsl:if test="//iec:figure[@id and iec:name]">
1235
+ <fo:block margin-bottom="5pt"> </fo:block>
1236
+ <xsl:for-each select="//iec:figure[@id and iec:name]">
1258
1237
  <fo:block text-align-last="justify" margin-bottom="5pt" margin-left="8mm" text-indent="-8mm">
1259
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{@section}">
1260
- <xsl:value-of select="@section"/>
1261
- <xsl:if test="text() != ''">
1262
- <xsl:text> – </xsl:text>
1263
- <xsl:value-of select="text()"/><xsl:text> </xsl:text>
1264
- </xsl:if>
1238
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="Figure {@id}">
1239
+ <xsl:apply-templates select="iec:name" mode="contents"/>
1265
1240
  <fo:inline keep-together.within-line="always">
1266
1241
  <fo:leader leader-pattern="dots"/>
1267
1242
  <fo:page-number-citation ref-id="{@id}"/>
@@ -1271,17 +1246,12 @@
1271
1246
  </xsl:for-each>
1272
1247
  </xsl:if>
1273
1248
 
1274
- <xsl:if test="xalan:nodeset($contents)//item[@type = 'table']">
1275
- <fo:block margin-bottom="5pt"> </fo:block>
1276
- <!-- <fo:block margin-top="5pt" margin-bottom="10pt">&#xA0;</fo:block> -->
1277
- <xsl:for-each select="xalan:nodeset($contents)//item[@type = 'table' and @display = 'true']">
1249
+ <xsl:if test="//iec:table[@id and iec:name]">
1250
+ <fo:block margin-bottom="5pt"> </fo:block>
1251
+ <xsl:for-each select="//iec:table[@id and iec:name]">
1278
1252
  <fo:block text-align-last="justify" margin-bottom="5pt" margin-left="8mm" text-indent="-8mm">
1279
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{@section}">
1280
- <xsl:value-of select="@section"/>
1281
- <xsl:if test="text() != ''">
1282
- <xsl:text> – </xsl:text>
1283
- <xsl:value-of select="text()"/><xsl:text> </xsl:text>
1284
- </xsl:if>
1253
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="Table {@id}">
1254
+ <xsl:apply-templates select="iec:name" mode="contents"/>
1285
1255
  <fo:inline keep-together.within-line="always">
1286
1256
  <fo:leader leader-pattern="dots"/>
1287
1257
  <fo:page-number-citation ref-id="{@id}"/>
@@ -1290,7 +1260,7 @@
1290
1260
  </fo:block>
1291
1261
  </xsl:for-each>
1292
1262
  </xsl:if>
1293
-
1263
+
1294
1264
  </fo:block-container>
1295
1265
  </xsl:template>
1296
1266
 
@@ -1322,7 +1292,7 @@
1322
1292
  </fo:block-container>
1323
1293
 
1324
1294
  <!-- Foreword, Introduction -->
1325
- <xsl:apply-templates select="/iec:iec-standard/iec:preface/*"/>
1295
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
1326
1296
  </xsl:template>
1327
1297
 
1328
1298
 
@@ -1362,253 +1332,83 @@
1362
1332
  </fo:block>
1363
1333
  </fo:block-container>
1364
1334
 
1365
- <!-- Clause(s) -->
1366
- <fo:block>
1367
-
1368
-
1369
- <!-- Scope -->
1370
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]">
1371
- <xsl:with-param name="sectionNum" select="'1'"/>
1372
- </xsl:apply-templates>
1373
-
1374
- <!-- Normative references -->
1375
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]">
1376
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + 1"/>
1377
- </xsl:apply-templates>
1378
-
1379
- <!-- Terms and definitions -->
1380
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/iec:terms">
1381
- <xsl:with-param name="sectionNum" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + 1"/>
1382
- </xsl:apply-templates>
1383
-
1384
- <!-- main sections -->
1385
- <!-- *[position() &gt; 1] -->
1386
- <xsl:apply-templates select="/iec:iec-standard/iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]">
1387
- <xsl:with-param name="sectionNumSkew" select="count(/iec:iec-standard/iec:sections/iec:clause[starts-with(@id, '_scope')]) + count(/iec:iec-standard/iec:bibliography/iec:references[starts-with(@id, '_normative_references') or starts-with(@id, '_references')]) + count(/iec:iec-standard/iec:sections/iec:terms)"/>
1388
- </xsl:apply-templates>
1389
-
1390
- <!-- Annex(s) -->
1391
- <xsl:apply-templates select="/iec:iec-standard/iec:annex"/>
1392
-
1393
- <!-- Bibliography -->
1394
- <xsl:apply-templates select="/iec:iec-standard/iec:bibliography/iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]"/>
1395
-
1335
+ <!-- Main sections -->
1336
+ <fo:block>
1337
+ <xsl:call-template name="processMainSectionsDefault"/>
1396
1338
  </fo:block>
1397
1339
 
1398
1340
  </fo:flow>
1399
1341
  </fo:page-sequence>
1400
1342
  </xsl:template>
1401
1343
 
1402
- <!-- for pass the paremeter 'sectionNum' over templates, like 'tunnel' parameter in XSLT 2.0 -->
1403
- <xsl:template match="node()">
1404
- <xsl:param name="sectionNum"/>
1405
- <xsl:param name="sectionNumSkew"/>
1406
- <xsl:apply-templates>
1407
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1408
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
1409
- </xsl:apply-templates>
1344
+
1345
+ <xsl:template match="node()">
1346
+ <xsl:apply-templates/>
1410
1347
  </xsl:template>
1411
1348
 
1412
1349
  <!-- ============================= -->
1413
1350
  <!-- CONTENTS -->
1414
1351
  <!-- ============================= -->
1415
- <xsl:template match="node()" mode="contents">
1416
- <xsl:param name="sectionNum"/>
1417
- <xsl:param name="sectionNumSkew"/>
1418
- <xsl:apply-templates mode="contents">
1419
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1420
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
1421
- </xsl:apply-templates>
1422
- </xsl:template>
1423
-
1424
-
1425
- <!-- calculate main section number (1,2,3) and pass it deep into templates -->
1426
- <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
1427
- <xsl:template match="iec:iec-standard/iec:sections/*" mode="contents">
1428
- <xsl:param name="sectionNum"/>
1429
- <xsl:param name="sectionNumSkew" select="0"/>
1430
- <xsl:variable name="sectionNum_">
1431
- <xsl:choose>
1432
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1433
- <xsl:when test="$sectionNumSkew != 0">
1434
- <xsl:variable name="number"><xsl:number count="iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]"/></xsl:variable><!-- <xsl:number count="*"/> -->
1435
- <xsl:value-of select="$number + $sectionNumSkew"/>
1436
- </xsl:when>
1437
- <xsl:otherwise>
1438
- <xsl:number count="*"/>
1439
- </xsl:otherwise>
1440
- </xsl:choose>
1441
- </xsl:variable>
1442
- <xsl:apply-templates mode="contents">
1443
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1444
- </xsl:apply-templates>
1352
+ <xsl:template match="node()" mode="contents">
1353
+ <xsl:apply-templates mode="contents"/>
1445
1354
  </xsl:template>
1446
1355
 
1447
- <!-- Any node with title element - clause, definition, annex,... -->
1448
- <xsl:template match="iec:title | iec:preferred" mode="contents">
1449
- <xsl:param name="sectionNum"/>
1450
- <!-- sectionNum=<xsl:value-of select="$sectionNum"/> -->
1451
- <xsl:variable name="id">
1452
- <xsl:call-template name="getId"/>
1453
- </xsl:variable>
1454
-
1356
+ <!-- element with title -->
1357
+ <xsl:template match="*[iec:title]" mode="contents">
1455
1358
  <xsl:variable name="level">
1456
- <xsl:call-template name="getLevel"/>
1457
- </xsl:variable>
1458
-
1459
- <xsl:variable name="section">
1460
- <xsl:call-template name="getSection">
1461
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1359
+ <xsl:call-template name="getLevel">
1360
+ <xsl:with-param name="depth" select="iec:title/@depth"/>
1462
1361
  </xsl:call-template>
1463
1362
  </xsl:variable>
1464
1363
 
1465
- <xsl:variable name="display">
1466
- <xsl:choose>
1467
- <xsl:when test="ancestor::iec:bibitem">false</xsl:when>
1468
- <xsl:when test="ancestor::iec:term">false</xsl:when>
1469
- <!-- <xsl:when test="ancestor::iec:annex and $level &gt;= 2">false</xsl:when> -->
1470
- <xsl:when test="$level &lt;= 3">true</xsl:when>
1471
- <xsl:otherwise>false</xsl:otherwise>
1472
- </xsl:choose>
1473
- </xsl:variable>
1474
-
1475
- <xsl:variable name="display-section">
1476
- <xsl:choose>
1477
- <xsl:when test="ancestor::iec:appendix">false</xsl:when>
1478
- <xsl:when test="ancestor::iec:annex and $level = 1">false</xsl:when>
1479
- <xsl:otherwise>true</xsl:otherwise>
1480
- </xsl:choose>
1364
+ <xsl:variable name="section">
1365
+ <xsl:call-template name="getSection"/>
1481
1366
  </xsl:variable>
1482
1367
 
1483
1368
  <xsl:variable name="type">
1484
- <xsl:value-of select="local-name(..)"/>
1369
+ <xsl:value-of select="local-name()"/>
1485
1370
  </xsl:variable>
1486
-
1487
- <xsl:variable name="root">
1371
+
1372
+ <xsl:variable name="display">
1488
1373
  <xsl:choose>
1489
- <xsl:when test="ancestor::iec:annex">annex</xsl:when>
1374
+ <xsl:when test="ancestor-or-self::iec:bibitem">false</xsl:when>
1375
+ <xsl:when test="ancestor-or-self::iec:term">false</xsl:when>
1376
+ <xsl:when test="$level &gt; 3">false</xsl:when>
1377
+ <xsl:when test="$section = '' and $type = 'clause'">false</xsl:when><!-- don't show clause with number only in title -->
1378
+ <xsl:otherwise>true</xsl:otherwise>
1490
1379
  </xsl:choose>
1491
1380
  </xsl:variable>
1492
1381
 
1493
- <item id="{$id}" level="{$level}" section="{$section}" display-section="{$display-section}" display="{$display}" type="{$type}" root="{$root}">
1494
- <xsl:attribute name="addon">
1495
- <xsl:if test="local-name(..) = 'annex'"><xsl:value-of select="../@obligation"/></xsl:if>
1496
- </xsl:attribute>
1497
- <xsl:choose>
1498
- <xsl:when test="ancestor::iec:preface">
1499
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
1500
- </xsl:when>
1501
- <xsl:otherwise>
1502
- <xsl:value-of select="."/>
1503
- </xsl:otherwise>
1504
- </xsl:choose>
1505
- </item>
1506
-
1507
- <xsl:apply-templates mode="contents">
1508
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1509
- </xsl:apply-templates>
1382
+ <xsl:if test="$display = 'true'">
1510
1383
 
1511
- </xsl:template>
1512
-
1513
-
1514
- <xsl:template match="iec:figure" mode="contents">
1515
- <xsl:param name="sectionNum"/>
1516
- <xsl:apply-templates mode="contents">
1517
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1518
- </xsl:apply-templates>
1519
- <item level="" id="{@id}" display="false" type="figure">
1520
- <xsl:attribute name="section">
1521
- <xsl:variable name="title-figure">
1522
- <xsl:call-template name="getTitle">
1523
- <xsl:with-param name="name" select="'title-figure'"/>
1524
- </xsl:call-template>
1525
- </xsl:variable>
1526
- <xsl:value-of select="$title-figure"/>
1384
+ <xsl:variable name="title">
1385
+ <xsl:call-template name="getName"/>
1386
+ </xsl:variable>
1387
+
1388
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}">
1389
+ <xsl:if test="$type ='appendix'">
1390
+ <xsl:attribute name="section"/>
1391
+ </xsl:if>
1527
1392
  <xsl:choose>
1528
- <xsl:when test="ancestor::iec:annex">
1529
- <xsl:choose>
1530
- <xsl:when test="count(//iec:annex) = 1">
1531
- <xsl:value-of select="/iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:annexid"/><xsl:number format="-1" level="any" count="iec:annex//iec:figure"/>
1532
- </xsl:when>
1533
- <xsl:otherwise>
1534
- <xsl:number format="A.1-1" level="multiple" count="iec:annex | iec:figure"/>
1535
- </xsl:otherwise>
1536
- </xsl:choose>
1537
- </xsl:when>
1538
- <xsl:when test="ancestor::iec:figure">
1539
- <xsl:for-each select="parent::*[1]">
1540
- <xsl:number format="1" level="any" count="iec:figure[not(parent::iec:figure)]"/>
1541
- </xsl:for-each>
1542
- <xsl:number format="-a" count="iec:figure"/>
1393
+ <xsl:when test="$type = 'foreword' or $type = 'introduction'">
1394
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title))"/>
1543
1395
  </xsl:when>
1544
- <xsl:otherwise>
1545
- <xsl:number format="1" level="any" count="iec:figure[not(parent::iec:figure)]"/>
1546
- </xsl:otherwise>
1547
- </xsl:choose>
1548
- </xsl:attribute>
1549
- <xsl:value-of select="iec:name"/>
1550
- </item>
1551
- </xsl:template>
1552
-
1553
-
1554
- <xsl:template match="iec:table" mode="contents">
1555
- <xsl:param name="sectionNum"/>
1556
- <xsl:variable name="annex-id" select="ancestor::iec:annex/@id"/>
1557
- <item level="" id="{@id}" display="true" type="table">
1558
- <xsl:if test="ancestor::iec:preface">
1559
- <xsl:attribute name="display">false</xsl:attribute>
1560
- </xsl:if>
1561
- <xsl:attribute name="section">
1562
- <xsl:variable name="title-table">
1563
- <xsl:call-template name="getTitle">
1564
- <xsl:with-param name="name" select="'title-table'"/>
1565
- </xsl:call-template>
1566
- </xsl:variable>
1567
- <xsl:value-of select="$title-table"/>
1568
- <xsl:choose>
1569
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
1570
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table']"/>
1571
- </xsl:when>
1572
- <xsl:when test="ancestor::*[local-name()='annex']">
1573
- <xsl:number format="A." count="iec:annex"/>
1574
- <xsl:number format="1" level="any" count="iec:table[ancestor::iec:annex[@id = $annex-id]]"/>
1396
+ <xsl:when test="$type = 'appendix'">
1397
+ <xsl:apply-templates select="iec:title" mode="contents_item"/>
1575
1398
  </xsl:when>
1576
1399
  <xsl:otherwise>
1577
- <!-- <xsl:number format="1"/> -->
1578
- <!-- <xsl:number format="1" level="any" count="*[local-name()='sections']//*[local-name()='table']"/> -->
1579
- <!-- <xsl:number format="1" level="any" count="*[local-name()='table'][not(ancestor::*[local-name()='annex'])]"/> -->
1580
- <!-- <xsl:number format="1" level="any" count="*[not(local-name()='annex') and not(local-name()='executivesummary')]//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/> -->
1581
- <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']"/>
1400
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
1582
1401
  </xsl:otherwise>
1583
1402
  </xsl:choose>
1584
- </xsl:attribute>
1585
- <xsl:value-of select="iec:name/text()"/>
1586
- </item>
1403
+
1404
+ </item>
1405
+ <xsl:apply-templates mode="contents"/>
1406
+ </xsl:if>
1407
+
1587
1408
  </xsl:template>
1588
1409
 
1589
1410
 
1590
-
1591
- <xsl:template match="iec:formula" mode="contents">
1592
- <xsl:param name="sectionNum"/>
1593
- <item level="" id="{@id}" display="false" type="formula">
1594
- <xsl:attribute name="section">
1595
- <!-- Formula -->
1596
- <xsl:variable name="title-equation">
1597
- <xsl:call-template name="getTitle">
1598
- <xsl:with-param name="name" select="'title-equation'"/>
1599
- </xsl:call-template>
1600
- </xsl:variable>
1601
- <xsl:value-of select="$title-equation"/><xsl:number format="(A.1)" level="multiple" count="iec:annex | iec:formula"/>
1602
- </xsl:attribute>
1603
- <xsl:attribute name="parentsection">
1604
- <xsl:for-each select="parent::*[1]/iec:title">
1605
- <xsl:call-template name="getSection">
1606
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1607
- </xsl:call-template>
1608
- </xsl:for-each>
1609
- </xsl:attribute>
1610
- </item>
1611
- </xsl:template>
1411
+
1612
1412
  <!-- ============================= -->
1613
1413
  <!-- ============================= -->
1614
1414
 
@@ -1665,7 +1465,7 @@
1665
1465
  </xsl:template>
1666
1466
 
1667
1467
 
1668
- <xsl:template match="iec:iec-standard/iec:preface/iec:foreword" priority="2">
1468
+ <xsl:template match="iec:iec-standard/iec:preface/iec:foreword" priority="3">
1669
1469
  <fo:block id="{@id}" margin-bottom="12pt" font-size="12pt" text-align="center">
1670
1470
  <xsl:call-template name="addLetterSpacing">
1671
1471
  <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(iec:title))"/>
@@ -1679,68 +1479,26 @@
1679
1479
  </fo:block>
1680
1480
  </xsl:template>
1681
1481
 
1682
- <xsl:template match="iec:iec-standard/iec:preface/iec:introduction" priority="2">
1683
- <fo:block break-after="page"/>
1684
- <fo:block id="{@id}" margin-bottom="12pt" font-size="12pt" text-align="center">
1685
- <xsl:call-template name="addLetterSpacing">
1686
- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(iec:title))"/>
1687
- </xsl:call-template>
1688
- </fo:block>
1689
- <fo:block>
1690
- <xsl:apply-templates select="*[not(local-name() = 'title')]"/>
1691
- </fo:block>
1692
- </xsl:template>
1693
-
1694
- <!-- Foreword, Introduction -->
1695
- <xsl:template match="iec:iec-standard/iec:preface/*">
1482
+ <!-- <xsl:template match="iec:iec-standard/iec:preface/iec:introduction" priority="3">
1696
1483
  <fo:block break-after="page"/>
1697
- <fo:block>
1698
- <xsl:apply-templates/>
1484
+ <fo:block id="{@id}">
1485
+ <xsl:apply-templates />
1699
1486
  </fo:block>
1700
- </xsl:template>
1487
+ </xsl:template> -->
1701
1488
 
1702
1489
 
1703
- <!-- clause, terms, clause, ...-->
1704
- <xsl:template match="iec:iec-standard/iec:sections/*">
1705
- <xsl:param name="sectionNum"/>
1706
- <xsl:param name="sectionNumSkew" select="0"/>
1707
- <fo:block>
1708
- <xsl:variable name="pos"><xsl:number count="iec:sections/iec:clause | iec:sections/iec:terms"/></xsl:variable>
1709
- <!-- <xsl:if test="$pos &gt;= 2">
1710
- <xsl:attribute name="space-before">18pt</xsl:attribute>
1711
- </xsl:if> -->
1712
- <!-- pos=<xsl:value-of select="$pos" /> -->
1713
- <xsl:variable name="sectionNum_">
1714
- <xsl:choose>
1715
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1716
- <xsl:when test="$sectionNumSkew != 0">
1717
- <!-- <xsl:variable name="number"><xsl:number count="iec:sections/iec:clause | iec:sections/iec:terms"/></xsl:variable> -->
1718
- <xsl:variable name="number"><xsl:number count="iec:sections/*[local-name() != 'terms' and not(starts-with(@id, '_scope'))]"/></xsl:variable>
1719
- <xsl:value-of select="$number + $sectionNumSkew"/>
1720
- </xsl:when>
1721
- </xsl:choose>
1722
- </xsl:variable>
1723
- <xsl:if test="not(iec:title)">
1724
- <fo:block margin-top="3pt" margin-bottom="12pt">
1725
- <xsl:value-of select="$sectionNum_"/><xsl:number format=".1 " level="multiple" count="iec:clause"/>
1726
- </fo:block>
1727
- </xsl:if>
1728
- <xsl:apply-templates>
1729
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1730
- </xsl:apply-templates>
1490
+ <xsl:template match="iec:annex//iec:clause" priority="2">
1491
+ <fo:block id="{@id}" margin-top="5pt" margin-bottom="10pt" text-align="justify">
1492
+ <xsl:apply-templates/>
1731
1493
  </fo:block>
1732
1494
  </xsl:template>
1733
1495
 
1734
- <xsl:template match="iec:annex//iec:clause">
1735
- <xsl:param name="sectionNum"/>
1736
- <fo:block margin-top="5pt" margin-bottom="10pt" text-align="justify">
1737
- <xsl:apply-templates>
1738
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1739
- </xsl:apply-templates>
1496
+ <xsl:template match="iec:clause//iec:clause" priority="2">
1497
+ <fo:block id="{@id}" space-after="10pt">
1498
+ <xsl:apply-templates/>
1740
1499
  </fo:block>
1741
1500
  </xsl:template>
1742
-
1743
- <xsl:template match="iec:clause//iec:clause[not(iec:title)]">
1501
+ <!-- <xsl:template match="iec:clause//iec:clause[not(iec:title)]">
1744
1502
  <xsl:param name="sectionNum"/>
1745
1503
  <xsl:variable name="section">
1746
1504
  <xsl:call-template name="getSection">
@@ -1753,44 +1511,51 @@
1753
1511
  </fo:block>
1754
1512
  <fo:block margin-bottom="10pt">
1755
1513
  <xsl:apply-templates>
1756
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1757
- <!-- <xsl:with-param name="inline" select="'true'"/> -->
1514
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
1758
1515
  </xsl:apply-templates>
1759
1516
  </fo:block>
1760
- <!-- <fo:block margin-top="3pt" >
1761
- <fo:inline font-weight="bold" padding-right="3mm">
1762
- <xsl:value-of select="$section"/>
1763
- </fo:inline>
1764
- <xsl:apply-templates>
1765
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1766
- <xsl:with-param name="inline" select="'true'"/>
1767
- </xsl:apply-templates>
1768
- </fo:block> -->
1517
+
1518
+ </xsl:template> -->
1519
+
1520
+ <!-- ====== -->
1521
+ <!-- title -->
1522
+ <!-- ====== -->
1523
+ <xsl:template match="iec:introduction/iec:title">
1524
+ <fo:block font-size="12pt" text-align="center" margin-bottom="12pt">
1525
+ <xsl:apply-templates/>
1526
+ </fo:block>
1527
+ </xsl:template>
1528
+ <xsl:template match="iec:introduction/iec:title/text()">
1529
+ <xsl:call-template name="addLetterSpacing">
1530
+ <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/>
1531
+ </xsl:call-template>
1532
+ </xsl:template>
1533
+
1534
+ <xsl:template match="iec:annex/iec:title">
1535
+ <fo:block font-size="12pt" text-align="center" margin-bottom="32pt" keep-with-next="always">
1536
+ <xsl:apply-templates/>
1537
+ </fo:block>
1538
+ </xsl:template>
1539
+
1540
+ <!-- Bibliography -->
1541
+ <xsl:template match="iec:references[not(@normative='true')]/iec:title">
1542
+ <fo:block font-size="12pt" text-align="center" margin-bottom="12pt" keep-with-next="always">
1543
+ <xsl:apply-templates/>
1544
+ </fo:block>
1545
+ </xsl:template>
1546
+ <xsl:template match="iec:references[not(@normative='true')]/iec:title/text()">
1547
+ <xsl:call-template name="addLetterSpacing">
1548
+ <xsl:with-param name="text" select="."/>
1549
+ </xsl:call-template>
1769
1550
  </xsl:template>
1770
1551
 
1771
1552
 
1772
1553
  <xsl:template match="iec:title">
1773
- <xsl:param name="sectionNum"/>
1774
-
1775
- <xsl:variable name="parent-name" select="local-name(..)"/>
1776
- <!-- <xsl:variable name="references_num_current">
1777
- <xsl:number level="any" count="iec:references"/>
1778
- </xsl:variable> -->
1779
-
1780
- <xsl:variable name="id">
1781
- <xsl:call-template name="getId"/>
1782
- </xsl:variable>
1783
1554
 
1784
1555
  <xsl:variable name="level">
1785
1556
  <xsl:call-template name="getLevel"/>
1786
1557
  </xsl:variable>
1787
-
1788
- <xsl:variable name="section">
1789
- <xsl:call-template name="getSection">
1790
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1791
- </xsl:call-template>
1792
- </xsl:variable>
1793
-
1558
+
1794
1559
  <xsl:variable name="font-size">
1795
1560
  <xsl:choose>
1796
1561
  <xsl:when test="ancestor::iec:sections and $level = 1">11pt</xsl:when>
@@ -1799,123 +1564,38 @@
1799
1564
  <xsl:otherwise>10pt</xsl:otherwise>
1800
1565
  </xsl:choose>
1801
1566
  </xsl:variable>
1802
- <!-- <xsl:choose>
1803
- <xsl:when test="ancestor::iec:annex and $level = 1">12pt</xsl:when>
1804
- <xsl:when test="ancestor::iec:annex and $level &gt;= 2">10pt</xsl:when>
1805
- <xsl:when test="ancestor::iec:preface">16pt</xsl:when>
1806
- <xsl:when test="$level = 2">12pt</xsl:when>
1807
- <xsl:when test="$level &gt;= 3">11pt</xsl:when>
1808
- <xsl:otherwise>13pt</xsl:otherwise>
1809
- </xsl:choose>
1810
- </xsl:variable> -->
1811
-
1812
- <xsl:variable name="element-name">
1813
- <xsl:choose>
1814
- <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
1815
- <xsl:otherwise>fo:block</xsl:otherwise>
1816
- </xsl:choose>
1817
- </xsl:variable>
1818
-
1567
+
1819
1568
  <xsl:choose>
1820
- <xsl:when test="$parent-name = 'annex'">
1821
- <fo:block id="{$id}" font-size="12pt" font-weight="bold" text-align="center" margin-bottom="32pt" keep-with-next="always">
1822
- <xsl:value-of select="$section"/>
1823
- <xsl:if test=" ../@obligation">
1824
- <xsl:value-of select="$linebreak"/>
1825
- <fo:inline font-weight="normal">(<xsl:value-of select="../@obligation"/>)</fo:inline>
1826
- </xsl:if>
1827
- <xsl:value-of select="$linebreak"/>
1828
- <xsl:value-of select="$linebreak"/>
1569
+ <xsl:when test="../@inline-header = 'true'">
1570
+ <fo:inline font-size="{$font-size}" font-weight="bold">
1829
1571
  <xsl:apply-templates/>
1830
- </fo:block>
1831
- </xsl:when>
1832
- <xsl:when test="$parent-name = 'references' and not(starts-with(../@id, '_normative_references') or starts-with(../@id, '_references'))"> <!-- Bibliography -->
1833
- <fo:block id="{$id}" font-size="12pt" text-align="center" margin-bottom="12pt" keep-with-next="always">
1834
- <xsl:call-template name="addLetterSpacing">
1835
- <xsl:with-param name="text" select="."/>
1836
- </xsl:call-template>
1837
- <!-- <xsl:apply-templates /> -->
1838
- </fo:block>
1839
- </xsl:when>
1840
- <xsl:when test="$parent-name = 'introduction'">
1841
- <fo:block id="{$id}" font-size="12pt" text-align="center" margin-bottom="10pt">
1842
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(text()))"/>
1843
- </fo:block>
1572
+ </fo:inline>
1844
1573
  </xsl:when>
1845
1574
  <xsl:otherwise>
1846
-
1847
- <xsl:variable name="padding-right">
1848
- <xsl:choose>
1849
- <xsl:when test="$level = 2 and ancestor::iec:annex">6mm</xsl:when>
1850
- <xsl:when test="$level = 2">7mm</xsl:when>
1851
- <xsl:otherwise>5mm</xsl:otherwise>
1852
- </xsl:choose>
1853
- </xsl:variable>
1854
-
1855
- <xsl:element name="{$element-name}">
1856
- <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
1857
- <xsl:attribute name="font-size">
1858
- <xsl:value-of select="$font-size"/>
1575
+ <fo:block font-size="{$font-size}" font-weight="bold" keep-with-next="always">
1576
+ <xsl:attribute name="space-before"> <!-- margin-top -->
1577
+ <xsl:choose>
1578
+ <xsl:when test="$level = 2 and ancestor::iec:annex">22pt</xsl:when>
1579
+ <xsl:when test="$level &gt;= 2 and ancestor::iec:annex">5pt</xsl:when>
1580
+ <!-- <xsl:when test="$level &gt;= 4">5pt</xsl:when> -->
1581
+ <xsl:when test="$level = '' or $level = 1">18pt</xsl:when><!-- 13.5pt -->
1582
+ <xsl:otherwise>10pt</xsl:otherwise>
1583
+ </xsl:choose>
1859
1584
  </xsl:attribute>
1860
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1861
-
1862
- <xsl:if test="$element-name = 'fo:block'">
1863
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1864
- <xsl:attribute name="space-before"> <!-- margin-top -->
1865
- <xsl:choose>
1866
- <xsl:when test="$level = 2 and ancestor::iec:annex">22pt</xsl:when>
1867
- <xsl:when test="$level &gt;= 2 and ancestor::iec:annex">5pt</xsl:when>
1868
- <xsl:when test="$level = '' or $level = 1">18pt</xsl:when><!-- 13.5pt -->
1869
- <xsl:otherwise>10pt</xsl:otherwise>
1870
- </xsl:choose>
1871
- </xsl:attribute>
1872
- <xsl:attribute name="margin-bottom">
1873
- <xsl:choose>
1874
- <xsl:when test="$level = '' or $level = 1">14pt</xsl:when>
1875
- <xsl:when test="$level = 2 and ancestor::iec:annex">14pt</xsl:when>
1876
- <xsl:otherwise>5pt</xsl:otherwise>
1877
- </xsl:choose>
1878
- </xsl:attribute>
1879
-
1880
- <fo:inline>
1881
- <xsl:if test="$section != ''">
1882
- <xsl:attribute name="padding-right">
1883
- <xsl:value-of select="$padding-right"/>
1884
- </xsl:attribute>
1885
- </xsl:if>
1886
- <xsl:value-of select="$section"/>
1887
- </fo:inline>
1888
- <xsl:apply-templates/>
1889
- </xsl:if>
1890
-
1891
- <xsl:if test="$element-name = 'fo:inline'">
1892
- <xsl:if test="$section != ''">
1893
- <xsl:attribute name="padding-right">
1894
- <xsl:value-of select="$padding-right"/>
1895
- </xsl:attribute>
1896
- </xsl:if>
1897
- <xsl:value-of select="$section"/>
1898
- </xsl:if>
1899
- </xsl:element>
1900
-
1901
-
1902
- <xsl:if test="$element-name = 'fo:inline'">
1903
- <fo:inline font-size="{$font-size}" font-weight="bold">
1904
- <xsl:apply-templates/>
1905
- </fo:inline>
1906
-
1907
- </xsl:if>
1908
-
1909
- <!-- <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::iec:p)">
1910
- <fo:block>
1911
- <xsl:value-of select="$linebreak"/>
1912
- </fo:block>
1913
- </xsl:if> -->
1585
+ <xsl:attribute name="margin-bottom">
1586
+ <xsl:choose>
1587
+ <xsl:when test="$level = '' or $level = 1">14pt</xsl:when>
1588
+ <xsl:when test="$level = 2 and ancestor::iec:annex">14pt</xsl:when>
1589
+ <xsl:otherwise>5pt</xsl:otherwise>
1590
+ </xsl:choose>
1591
+ </xsl:attribute>
1592
+ <xsl:apply-templates/>
1593
+ </fo:block>
1914
1594
  </xsl:otherwise>
1915
1595
  </xsl:choose>
1916
-
1917
1596
  </xsl:template>
1918
-
1597
+ <!-- ====== -->
1598
+ <!-- ====== -->
1919
1599
 
1920
1600
 
1921
1601
  <xsl:template match="iec:p">
@@ -2031,90 +1711,8 @@
2031
1711
  <fo:block margin-bottom="10pt"><xsl:apply-templates/></fo:block>
2032
1712
  </xsl:template>
2033
1713
 
2034
- <xsl:template match="iec:review">
2035
- <!-- comment 2019-11-29 -->
2036
- <!-- <fo:block font-weight="bold">Review:</fo:block>
2037
- <xsl:apply-templates /> -->
2038
- </xsl:template>
2039
-
2040
- <xsl:template match="text()">
2041
- <xsl:value-of select="."/>
2042
- </xsl:template>
2043
-
2044
1714
 
2045
1715
 
2046
- <xsl:template match="iec:image">
2047
- <fo:block-container text-align="center">
2048
- <fo:block>
2049
- <fo:external-graphic src="{@src}" fox:alt-text="Image"/>
2050
- </fo:block>
2051
- <xsl:variable name="title-figure">
2052
- <xsl:call-template name="getTitle">
2053
- <xsl:with-param name="name" select="'title-figure'"/>
2054
- </xsl:call-template>
2055
- </xsl:variable>
2056
- <fo:block font-weight="bold" margin-top="12pt" margin-bottom="12pt"><xsl:value-of select="$title-figure"/><xsl:number format="1" level="any"/></fo:block>
2057
- </fo:block-container>
2058
-
2059
- </xsl:template>
2060
-
2061
- <xsl:template match="iec:figure">
2062
- <fo:block-container id="{@id}">
2063
- <fo:block>
2064
- <xsl:apply-templates/>
2065
- </fo:block>
2066
- <xsl:call-template name="fn_display_figure"/>
2067
- <xsl:for-each select="iec:note//iec:p">
2068
- <xsl:call-template name="note"/>
2069
- </xsl:for-each>
2070
- <fo:block font-weight="bold" text-align="center" margin-top="12pt" margin-bottom="12pt" keep-with-previous="always">
2071
- <xsl:variable name="title-figure">
2072
- <xsl:call-template name="getTitle">
2073
- <xsl:with-param name="name" select="'title-figure'"/>
2074
- </xsl:call-template>
2075
- </xsl:variable>
2076
- <xsl:choose>
2077
- <xsl:when test="ancestor::iec:annex">
2078
-
2079
- <!-- <xsl:choose>
2080
-
2081
- <xsl:when test="local-name(..) = 'figure'">
2082
- <xsl:number format="a) "/>
2083
- </xsl:when>
2084
- <xsl:otherwise> -->
2085
-
2086
- <xsl:value-of select="$title-figure"/><xsl:number format="A.1-1" level="multiple" count="iec:annex | iec:figure"/>
2087
- <!-- </xsl:otherwise>
2088
- </xsl:choose> -->
2089
-
2090
- </xsl:when>
2091
- <xsl:otherwise>
2092
- <xsl:value-of select="$title-figure"/><xsl:number format="1" level="any"/>
2093
- </xsl:otherwise>
2094
- </xsl:choose>
2095
- <xsl:if test="iec:name">
2096
- <!-- <xsl:if test="not(local-name(..) = 'figure')"> -->
2097
- <xsl:text> — </xsl:text>
2098
- <!-- </xsl:if> -->
2099
- <xsl:value-of select="iec:name"/>
2100
- </xsl:if>
2101
- </fo:block>
2102
- </fo:block-container>
2103
- </xsl:template>
2104
-
2105
- <xsl:template match="iec:figure/iec:name"/>
2106
- <xsl:template match="iec:figure/iec:fn" priority="2"/>
2107
- <xsl:template match="iec:figure/iec:note"/>
2108
-
2109
-
2110
- <xsl:template match="iec:figure/iec:image">
2111
- <fo:block text-align="center">
2112
- <fo:external-graphic src="{@src}" width="75%" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image"/> <!-- content-width="100%" -->
2113
- </fo:block>
2114
- </xsl:template>
2115
-
2116
-
2117
-
2118
1716
 
2119
1717
  <xsl:template match="iec:bibitem">
2120
1718
  <fo:block id="{@id}" margin-top="5pt" margin-bottom="10pt"> <!-- letter-spacing="0.4pt" -->
@@ -2141,7 +1739,7 @@
2141
1739
  </xsl:template>
2142
1740
 
2143
1741
 
2144
- <xsl:template match="iec:bibitem/iec:note">
1742
+ <xsl:template match="iec:bibitem/iec:note" priority="2">
2145
1743
  <fo:footnote>
2146
1744
  <xsl:variable name="number">
2147
1745
  <xsl:number level="any" count="iec:bibitem/iec:note"/>
@@ -2205,7 +1803,9 @@
2205
1803
  </fo:block>
2206
1804
  </fo:list-item-label>
2207
1805
  <fo:list-item-body start-indent="body-start()">
2208
- <xsl:apply-templates/>
1806
+ <fo:block>
1807
+ <xsl:apply-templates/>
1808
+ </fo:block>
2209
1809
  </fo:list-item-body>
2210
1810
  </fo:list-item>
2211
1811
  </xsl:template>
@@ -2222,22 +1822,12 @@
2222
1822
  </fo:block>
2223
1823
  </xsl:template>
2224
1824
 
2225
- <xsl:template match="iec:term">
2226
- <xsl:param name="sectionNum"/>
2227
- <fo:block id="{@id}">
2228
- <xsl:apply-templates>
2229
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
2230
- </xsl:apply-templates>
2231
- </fo:block>
2232
- </xsl:template>
2233
1825
 
2234
1826
  <xsl:template match="iec:preferred">
2235
- <xsl:param name="sectionNum"/>
1827
+
2236
1828
  <fo:block line-height="1.1" space-before="14pt">
2237
1829
  <fo:block font-weight="bold" keep-with-next="always">
2238
- <fo:inline>
2239
- <xsl:value-of select="$sectionNum"/>.<xsl:number count="iec:term"/>
2240
- </fo:inline>
1830
+ <xsl:apply-templates select="ancestor::iec:term/iec:name" mode="presentation"/>
2241
1831
  </fo:block>
2242
1832
  <fo:block font-weight="bold" keep-with-next="always">
2243
1833
  <xsl:apply-templates/>
@@ -2245,109 +1835,17 @@
2245
1835
  </fo:block>
2246
1836
  </xsl:template>
2247
1837
 
2248
- <xsl:template match="iec:admitted">
2249
- <fo:block>
2250
- <xsl:apply-templates/>
2251
- </fo:block>
2252
- </xsl:template>
2253
-
2254
- <xsl:template match="iec:deprecates">
2255
- <xsl:variable name="title-deprecated">
2256
- <xsl:call-template name="getTitle">
2257
- <xsl:with-param name="name" select="'title-deprecated'"/>
2258
- </xsl:call-template>
2259
- </xsl:variable>
2260
- <fo:block font-size="8pt" margin-top="5pt" margin-bottom="5pt"><xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/></fo:block>
2261
- </xsl:template>
2262
-
2263
- <xsl:template match="iec:definition[preceding-sibling::iec:domain]">
2264
- <xsl:apply-templates/>
2265
- </xsl:template>
2266
- <xsl:template match="iec:definition[preceding-sibling::iec:domain]/iec:p">
2267
- <fo:inline> <xsl:apply-templates/></fo:inline>
2268
- <fo:block> </fo:block>
2269
- </xsl:template>
2270
-
2271
- <xsl:template match="iec:definition">
2272
- <fo:block margin-bottom="6pt">
2273
- <xsl:apply-templates/>
2274
- </fo:block>
2275
- </xsl:template>
2276
-
2277
- <xsl:template match="iec:termsource">
2278
- <fo:block margin-bottom="8pt" keep-with-previous="always">
2279
- <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
2280
- <fo:basic-link internal-destination="{iec:origin/@bibitemid}" fox:alt-text="{iec:origin/@citeas}">
2281
- <xsl:text>[</xsl:text>
2282
- <xsl:variable name="title-source">
2283
- <xsl:call-template name="getTitle">
2284
- <xsl:with-param name="name" select="'title-source'"/>
2285
- </xsl:call-template>
2286
- </xsl:variable>
2287
- <xsl:value-of select="$title-source"/>
2288
- <xsl:text>: </xsl:text>
2289
- <xsl:value-of select="iec:origin/@citeas"/>
2290
- <xsl:apply-templates select="iec:origin/iec:localityStack"/>
2291
- </fo:basic-link>
2292
- <xsl:apply-templates select="iec:modification"/>
2293
- <xsl:text>]</xsl:text>
2294
- </fo:block>
2295
- </xsl:template>
2296
-
2297
1838
 
2298
- <xsl:template match="iec:modification/iec:p">
2299
- <fo:inline><xsl:apply-templates/></fo:inline>
2300
- </xsl:template>
2301
-
2302
- <xsl:template match="iec:termnote">
2303
- <fo:block font-size="8pt" margin-top="5pt" margin-bottom="5pt">
2304
- <xsl:variable name="num"><xsl:number/></xsl:variable>
2305
- <xsl:variable name="title-note-to-entry">
2306
- <xsl:call-template name="getTitle">
2307
- <xsl:with-param name="name" select="'title-note-to-entry'"/>
2308
- </xsl:call-template>
2309
- </xsl:variable>
2310
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($title-note-to-entry),'#',$num)"/>
2311
- <xsl:apply-templates/>
2312
- </fo:block>
2313
- </xsl:template>
2314
-
2315
- <xsl:template match="iec:termnote/iec:p">
2316
- <fo:inline><xsl:apply-templates/></fo:inline>
2317
- </xsl:template>
2318
1839
 
2319
- <xsl:template match="iec:domain">
2320
- <fo:inline>&lt;<xsl:apply-templates/>&gt;</fo:inline>
2321
- </xsl:template>
2322
-
2323
-
2324
- <xsl:template match="iec:termexample">
2325
- <fo:block margin-top="14pt" margin-bottom="10pt">
2326
- <xsl:variable name="title-example">
2327
- <xsl:call-template name="getTitle">
2328
- <xsl:with-param name="name" select="'title-example'"/>
2329
- </xsl:call-template>
2330
- </xsl:variable>
2331
- <fo:inline padding-right="10mm"><xsl:value-of select="normalize-space($title-example)"/></fo:inline>
2332
- <xsl:apply-templates/>
2333
- </fo:block>
2334
- </xsl:template>
2335
1840
 
2336
- <xsl:template match="iec:termexample/iec:p">
2337
- <fo:inline><xsl:apply-templates/></fo:inline>
2338
- </xsl:template>
2339
1841
 
2340
-
2341
- <xsl:template match="iec:annex">
2342
- <fo:block break-after="page"/>
2343
- <xsl:apply-templates/>
2344
- </xsl:template>
2345
1842
 
2346
-
2347
1843
  <!-- <xsl:template match="iec:references[@id = '_bibliography']"> -->
2348
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]">
1844
+ <xsl:template match="iec:references[not(@normative='true')]">
2349
1845
  <fo:block break-after="page"/>
2350
- <xsl:apply-templates/>
1846
+ <fo:block id="{@id}">
1847
+ <xsl:apply-templates/>
1848
+ </fo:block>
2351
1849
  <fo:block-container text-align="center" margin-top="10mm">
2352
1850
  <fo:block>_____________</fo:block>
2353
1851
  </fo:block-container>
@@ -2356,7 +1854,7 @@
2356
1854
 
2357
1855
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
2358
1856
  <!-- <xsl:template match="iec:references[@id = '_bibliography']/iec:bibitem"> -->
2359
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]/iec:bibitem">
1857
+ <xsl:template match="iec:references[not(@normative='true')]/iec:bibitem">
2360
1858
  <fo:list-block margin-top="5pt" margin-bottom="14pt" provisional-distance-between-starts="0mm"> <!-- provisional-distance-between-starts="12mm" -->
2361
1859
  <fo:list-item>
2362
1860
  <fo:list-item-label end-indent="label-end()">
@@ -2389,146 +1887,17 @@
2389
1887
  </xsl:template>
2390
1888
 
2391
1889
  <!-- <xsl:template match="iec:references[@id = '_bibliography']/iec:bibitem" mode="contents"/> -->
2392
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]/iec:bibitem" mode="contents"/>
1890
+ <xsl:template match="iec:references[not(@normative='true')]/iec:bibitem" mode="contents"/>
2393
1891
 
2394
1892
  <!-- <xsl:template match="iec:references[@id = '_bibliography']/iec:bibitem/iec:title"> -->
2395
- <xsl:template match="iec:references[not(starts-with(@id, '_normative_references') or starts-with(@id, '_references'))]/iec:bibitem/iec:title">
1893
+ <xsl:template match="iec:references[not(@normative='true')]/iec:bibitem/iec:title">
2396
1894
  <fo:inline font-style="italic">
2397
1895
  <xsl:apply-templates/>
2398
1896
  </fo:inline>
2399
1897
  </xsl:template>
2400
1898
 
2401
- <xsl:template match="iec:quote">
2402
- <fo:block margin-top="5pt" margin-bottom="10pt" margin-left="12mm" margin-right="12mm">
2403
- <xsl:apply-templates select=".//iec:p"/>
2404
- <fo:block text-align="right" margin-top="15pt">
2405
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
2406
- <xsl:text>— </xsl:text><xsl:value-of select="iec:author"/>
2407
- <xsl:if test="iec:source">
2408
- <xsl:text>, </xsl:text>
2409
- <xsl:apply-templates select="iec:source"/>
2410
- </xsl:if>
2411
- </fo:block>
2412
- </fo:block>
2413
- </xsl:template>
2414
-
2415
- <xsl:template match="iec:source">
2416
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
2417
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
2418
- <xsl:apply-templates select="iec:localityStack"/>
2419
- </fo:basic-link>
2420
- </xsl:template>
2421
-
2422
-
2423
- <xsl:template match="iec:xref">
2424
-
2425
- <xsl:variable name="docid">
2426
- <xsl:call-template name="getDocumentId"/>
2427
- </xsl:variable>
2428
- <xsl:variable name="contents" select="xalan:nodeset($contents)/doc[@id = $docid]"/>
2429
- <!-- <xsl:call-template name="generateContents"/>
2430
- </xsl:variable>
2431
- -->
2432
-
2433
- <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
2434
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{$section}">
2435
- <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
2436
- <xsl:variable name="root" select="xalan:nodeset($contents)//item[@id = current()/@target]/@root"/>
2437
- <xsl:variable name="parentsection" select="xalan:nodeset($contents)//item[@id = current()/@target]/@parentsection"/>
2438
- <xsl:variable name="title-clause">
2439
- <xsl:call-template name="getTitle">
2440
- <xsl:with-param name="name" select="'title-clause'"/>
2441
- </xsl:call-template>
2442
- </xsl:variable>
2443
- <xsl:choose>
2444
- <xsl:when test="$type = 'clause' and $root != 'annex'"><xsl:value-of select="$title-clause"/></xsl:when><!-- and not (ancestor::annex) -->
2445
- <xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
2446
- </xsl:choose>
2447
- <xsl:variable name="currentsection">
2448
- <xsl:for-each select="ancestor::iec:clause[1]/iec:title">
2449
- <xsl:call-template name="getSection"/>
2450
- </xsl:for-each>
2451
- </xsl:variable>
2452
- <xsl:if test="$type = 'formula' and $parentsection != '' and not(contains($parentsection, $currentsection))">
2453
- <xsl:value-of select="$parentsection"/><xsl:text>, </xsl:text>
2454
- </xsl:if>
2455
- <xsl:value-of select="$section"/>
2456
- </fo:basic-link>
2457
- </xsl:template>
2458
1899
 
2459
- <xsl:template match="iec:example/iec:p">
2460
- <fo:block>
2461
- <xsl:variable name="title-example">
2462
- <xsl:call-template name="getTitle">
2463
- <xsl:with-param name="name" select="'title-example'"/>
2464
- </xsl:call-template>
2465
- </xsl:variable>
2466
- <fo:inline padding-right="9mm"><xsl:value-of select="normalize-space($title-example)"/></fo:inline>
2467
- <xsl:apply-templates/>
2468
- </fo:block>
2469
- </xsl:template>
2470
-
2471
- <xsl:template match="iec:note/iec:p" name="note">
2472
- <fo:block margin-top="5pt" margin-bottom="5pt" font-size="8pt">
2473
- <xsl:if test="../following-sibling::iec:note">
2474
- <xsl:attribute name="margin-bottom">9pt</xsl:attribute>
2475
- </xsl:if>
2476
- <fo:inline padding-right="6mm">
2477
- <xsl:variable name="title-note">
2478
- <xsl:call-template name="getTitle">
2479
- <xsl:with-param name="name" select="'title-note'"/>
2480
- </xsl:call-template>
2481
- </xsl:variable>
2482
- <xsl:value-of select="$title-note"/>
2483
- <xsl:if test="ancestor::iec:figure">
2484
- <xsl:variable name="id" select="ancestor::iec:figure[1]/@id"/>
2485
- <xsl:if test="count(//iec:note[ancestor::*[@id = $id]]) &gt; 1">
2486
- <xsl:number count="iec:note[ancestor::*[@id = $id]]" level="any"/>
2487
- </xsl:if>
2488
- </xsl:if>
2489
- </fo:inline>
2490
- <xsl:apply-templates/>
2491
- </fo:block>
2492
- </xsl:template>
2493
1900
 
2494
- <!-- <eref type="inline" bibitemid="ISO20483" citeas="ISO 20483:2013"><locality type="annex"><referenceFrom>C</referenceFrom></locality></eref> -->
2495
- <xsl:template match="iec:eref">
2496
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
2497
- <xsl:if test="@type = 'footnote'">
2498
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
2499
- <xsl:attribute name="font-size">80%</xsl:attribute>
2500
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2501
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2502
- </xsl:if>
2503
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
2504
- <xsl:apply-templates select="iec:localityStack"/>
2505
- </fo:basic-link>
2506
- </xsl:template>
2507
-
2508
- <xsl:template match="iec:locality">
2509
- <xsl:variable name="title-clause">
2510
- <xsl:call-template name="getTitle">
2511
- <xsl:with-param name="name" select="'title-clause'"/>
2512
- </xsl:call-template>
2513
- </xsl:variable>
2514
- <xsl:variable name="title-annex">
2515
- <xsl:call-template name="getTitle">
2516
- <xsl:with-param name="name" select="'title-annex'"/>
2517
- </xsl:call-template>
2518
- </xsl:variable>
2519
- <xsl:variable name="title-table">
2520
- <xsl:call-template name="getTitle">
2521
- <xsl:with-param name="name" select="'title-table'"/>
2522
- </xsl:call-template>
2523
- </xsl:variable>
2524
- <xsl:choose>
2525
- <xsl:when test="@type ='clause'"><xsl:value-of select="$title-clause"/></xsl:when>
2526
- <xsl:when test="@type ='annex'"><xsl:value-of select="$title-annex"/></xsl:when>
2527
- <xsl:when test="@type ='table'"><xsl:value-of select="$title-table"/></xsl:when>
2528
- <xsl:otherwise><xsl:value-of select="@type"/></xsl:otherwise>
2529
- </xsl:choose>
2530
- <xsl:text> </xsl:text><xsl:value-of select="iec:referenceFrom"/>
2531
- </xsl:template>
2532
1901
 
2533
1902
  <xsl:template match="iec:admonition">
2534
1903
  <fo:block-container border="0.5pt solid black" margin-left="-2mm" margin-right="-2mm" space-before="18pt" space-after="12pt">
@@ -2553,23 +1922,8 @@
2553
1922
  </xsl:call-template>
2554
1923
  </xsl:template>
2555
1924
 
2556
- <xsl:template match="iec:formula">
2557
- <fo:block id="{@id}">
2558
- <xsl:apply-templates/>
2559
- </fo:block>
2560
- </xsl:template>
2561
1925
 
2562
- <xsl:template match="iec:formula/iec:dt/iec:stem">
2563
- <fo:inline>
2564
- <xsl:apply-templates/>
2565
- </fo:inline>
2566
- </xsl:template>
2567
1926
 
2568
- <xsl:template match="iec:admitted/iec:stem">
2569
- <fo:inline> <!-- padding-left="6mm" -->
2570
- <xsl:apply-templates/>
2571
- </fo:inline>
2572
- </xsl:template>
2573
1927
 
2574
1928
  <xsl:template match="iec:formula/iec:stem">
2575
1929
  <fo:block margin-top="6pt" margin-bottom="12pt">
@@ -2579,35 +1933,22 @@
2579
1933
  <fo:table-body>
2580
1934
  <fo:table-row>
2581
1935
  <fo:table-cell display-align="center">
2582
- <fo:block text-align="center"> <!-- left margin-left="5mm" -->
1936
+ <fo:block text-align="center">
2583
1937
  <xsl:apply-templates/>
2584
1938
  </fo:block>
2585
1939
  </fo:table-cell>
2586
1940
  <fo:table-cell display-align="center">
2587
1941
  <fo:block text-align="right" margin-right="-10mm">
2588
- <xsl:choose>
2589
- <xsl:when test="ancestor::iec:annex">
2590
- <xsl:number format="(A.1)" level="multiple" count="iec:annex | iec:formula"/>
2591
- </xsl:when>
2592
- <xsl:otherwise> <!-- not(ancestor::iec:annex) -->
2593
- <xsl:text>(</xsl:text><xsl:number level="any" count="iec:formula"/><xsl:text>)</xsl:text>
2594
- </xsl:otherwise>
2595
- </xsl:choose>
1942
+ <xsl:apply-templates select="../iec:name" mode="presentation"/>
2596
1943
  </fo:block>
2597
1944
  </fo:table-cell>
2598
1945
  </fo:table-row>
2599
1946
  </fo:table-body>
2600
- </fo:table>
2601
- <fo:inline keep-together.within-line="always">
2602
- </fo:inline>
1947
+ </fo:table>
2603
1948
  </fo:block>
2604
1949
  </xsl:template>
2605
1950
 
2606
-
2607
- <xsl:template match="iec:br" priority="2">
2608
- <!-- <fo:block>&#xA0;</fo:block> -->
2609
- <xsl:value-of select="$linebreak"/>
2610
- </xsl:template>
1951
+
2611
1952
 
2612
1953
  <xsl:template name="insertHeaderFooter">
2613
1954
  <fo:static-content flow-name="header-even">
@@ -2662,95 +2003,6 @@
2662
2003
  </xsl:template>
2663
2004
 
2664
2005
 
2665
- <xsl:template name="getSection">
2666
- <xsl:param name="sectionNum"/>
2667
- <xsl:variable name="level">
2668
- <xsl:call-template name="getLevel"/>
2669
- </xsl:variable>
2670
- <xsl:variable name="section">
2671
- <xsl:choose>
2672
- <xsl:when test="ancestor::iec:bibliography">
2673
- <xsl:value-of select="$sectionNum"/>
2674
- </xsl:when>
2675
- <xsl:when test="ancestor::iec:sections">
2676
- <!-- 1, 2, 3, 4, ... from main section (not annex, bibliography, ...) -->
2677
- <xsl:choose>
2678
- <xsl:when test="$level = 1">
2679
- <xsl:value-of select="$sectionNum"/>
2680
- </xsl:when>
2681
- <xsl:when test="$level &gt;= 2">
2682
- <xsl:variable name="num">
2683
- <xsl:call-template name="getSubSection"/>
2684
- </xsl:variable>
2685
- <xsl:value-of select="concat($sectionNum, $num)"/>
2686
- </xsl:when>
2687
- <xsl:otherwise>
2688
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
2689
- </xsl:otherwise>
2690
- </xsl:choose>
2691
- </xsl:when>
2692
- <!-- <xsl:when test="ancestor::iec:annex[@obligation = 'informative']">
2693
- <xsl:choose>
2694
- <xsl:when test="$level = 1">
2695
- <xsl:text>Annex </xsl:text>
2696
- <xsl:number format="I" level="any" count="iec:annex[@obligation = 'informative']"/>
2697
- </xsl:when>
2698
- <xsl:otherwise>
2699
- <xsl:number format="I.1" level="multiple" count="iec:annex[@obligation = 'informative'] | iec:clause"/>
2700
- </xsl:otherwise>
2701
- </xsl:choose>
2702
- </xsl:when> -->
2703
- <xsl:when test="ancestor::iec:annex">
2704
- <xsl:choose>
2705
- <xsl:when test="$level = 1">
2706
- <xsl:variable name="title-annex">
2707
- <xsl:call-template name="getTitle">
2708
- <xsl:with-param name="name" select="'title-annex'"/>
2709
- </xsl:call-template>
2710
- </xsl:variable>
2711
- <xsl:value-of select="$title-annex"/>
2712
- <xsl:choose>
2713
- <xsl:when test="count(//iec:annex) = 1">
2714
- <xsl:value-of select="/iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:annexid"/>
2715
- </xsl:when>
2716
- <xsl:otherwise>
2717
- <xsl:number format="A" level="any" count="iec:annex"/>
2718
- </xsl:otherwise>
2719
- </xsl:choose>
2720
- </xsl:when>
2721
- <xsl:otherwise>
2722
- <xsl:choose>
2723
- <xsl:when test="count(//iec:annex) = 1">
2724
- <xsl:value-of select="/iec:iec-standard/iec:bibdata/iec:ext/iec:structuredidentifier/iec:annexid"/><xsl:number format=".1" level="multiple" count="iec:clause"/>
2725
- </xsl:when>
2726
- <xsl:otherwise>
2727
- <xsl:number format="A.1" level="multiple" count="iec:annex | iec:clause"/>
2728
- </xsl:otherwise>
2729
- </xsl:choose>
2730
- </xsl:otherwise>
2731
- </xsl:choose>
2732
- </xsl:when>
2733
- <xsl:when test="ancestor::iec:preface"> <!-- if preface and there is clause(s) -->
2734
- <xsl:choose>
2735
- <xsl:when test="$level = 1 and ..//iec:clause">0</xsl:when>
2736
- <xsl:when test="$level &gt;= 2">
2737
- <xsl:variable name="num">
2738
- <xsl:number format=".1" level="multiple" count="iec:clause"/>
2739
- </xsl:variable>
2740
- <xsl:value-of select="concat('0', $num)"/>
2741
- </xsl:when>
2742
- <xsl:otherwise>
2743
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
2744
- </xsl:otherwise>
2745
- </xsl:choose>
2746
- </xsl:when>
2747
- <xsl:otherwise>
2748
- </xsl:otherwise>
2749
- </xsl:choose>
2750
- </xsl:variable>
2751
- <xsl:value-of select="$section"/>
2752
- </xsl:template>
2753
-
2754
2006
  <xsl:variable name="Image-Logo-IEC">
2755
2007
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAMAAAC9ZjJ/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjNTIxY2ZhYi04NGZmLWZiNDctYWQwZi0xMDQxODQ5MjJlNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjFDQzJCRTE4MzA2MTFFQTlENjc4RjAzNEJDNTMwNUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjFDQzJCRTA4MzA2MTFFQTlENjc4RjAzNEJDNTMwNUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZjkyOWQwNjktMzcxYy0xMzRlLWExMTEtMDFjMzM4ZTc0NzZjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NTEwYjk4MGQtODMwNi0xMWVhLWFhOGEt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</xsl:text>
2756
2008
  </xsl:variable>
@@ -2861,46 +2113,6 @@
2861
2113
  </xsl:template> -->
2862
2114
 
2863
2115
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
2864
-
2865
- <title-table lang="en">Table </title-table>
2866
- <title-table lang="fr">Tableau </title-table>
2867
-
2868
- <title-table lang="zh">Table </title-table>
2869
-
2870
-
2871
-
2872
- <title-note lang="en">NOTE </title-note>
2873
- <title-note lang="fr">NOTE </title-note>
2874
-
2875
- <title-note lang="zh">NOTE </title-note>
2876
-
2877
-
2878
-
2879
- <title-figure lang="en">Figure </title-figure>
2880
- <title-figure lang="fr">Figure </title-figure>
2881
-
2882
- <title-figure lang="zh">Figure </title-figure>
2883
-
2884
-
2885
-
2886
- <title-example lang="en">EXAMPLE </title-example>
2887
- <title-example lang="fr">EXEMPLE </title-example>
2888
-
2889
- <title-example lang="zh">EXAMPLE </title-example>
2890
-
2891
-
2892
-
2893
- <title-example-xref lang="en">Example </title-example-xref>
2894
- <title-example-xref lang="fr">Exemple </title-example-xref>
2895
-
2896
- <title-section lang="en">Section </title-section>
2897
- <title-section lang="fr">Section </title-section>
2898
-
2899
- <title-inequality lang="en">Inequality </title-inequality>
2900
- <title-inequality lang="fr">Inequality </title-inequality>
2901
-
2902
- <title-equation lang="en">Equation </title-equation>
2903
- <title-equation lang="fr">Equation </title-equation>
2904
2116
 
2905
2117
  <title-annex lang="en">Annex </title-annex>
2906
2118
  <title-annex lang="fr">Annexe </title-annex>
@@ -2908,17 +2120,7 @@
2908
2120
  <title-annex lang="zh">Annex </title-annex>
2909
2121
 
2910
2122
 
2911
-
2912
- <title-appendix lang="en">Appendix </title-appendix>
2913
- <title-appendix lang="fr">Appendix </title-appendix>
2914
-
2915
- <title-clause lang="en">Clause </title-clause>
2916
- <title-clause lang="fr">Article </title-clause>
2917
-
2918
- <title-clause lang="zh">Clause </title-clause>
2919
-
2920
-
2921
-
2123
+
2922
2124
  <title-edition lang="en">
2923
2125
 
2924
2126
  <xsl:text>Edition </xsl:text>
@@ -2926,9 +2128,7 @@
2926
2128
 
2927
2129
  </title-edition>
2928
2130
 
2929
- <title-formula lang="en">Formula </title-formula>
2930
- <title-formula lang="fr">Formula </title-formula>
2931
-
2131
+
2932
2132
  <title-toc lang="en">
2933
2133
 
2934
2134
  <xsl:text>Contents</xsl:text>
@@ -2967,13 +2167,6 @@
2967
2167
  </title-part>
2968
2168
  <title-part lang="zh">第 # 部分:</title-part>
2969
2169
 
2970
- <title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
2971
- <title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
2972
-
2973
- <title-note-to-entry lang="zh">Note # to entry: </title-note-to-entry>
2974
-
2975
-
2976
-
2977
2170
  <title-modified lang="en">modified</title-modified>
2978
2171
  <title-modified lang="fr">modifiée</title-modified>
2979
2172
 
@@ -2987,14 +2180,12 @@
2987
2180
 
2988
2181
  <title-deprecated lang="en">DEPRECATED</title-deprecated>
2989
2182
  <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2990
-
2991
- <title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
2992
-
2183
+
2993
2184
  <title-list-tables lang="en">List of Tables</title-list-tables>
2994
2185
 
2995
2186
  <title-list-figures lang="en">List of Figures</title-list-figures>
2996
2187
 
2997
- <title-recommendation lang="en">Recommendation </title-recommendation>
2188
+ <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
2998
2189
 
2999
2190
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
3000
2191
 
@@ -3004,8 +2195,6 @@
3004
2195
 
3005
2196
  <title-in lang="en">in </title-in>
3006
2197
 
3007
- <title-box lang="en">Box </title-box>
3008
-
3009
2198
  <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
3010
2199
  <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
3011
2200
 
@@ -3028,7 +2217,7 @@
3028
2217
  <title-warning lang="zh">警告</title-warning>
3029
2218
 
3030
2219
  <title-amendment lang="en">AMENDMENT</title-amendment>
3031
- </xsl:variable><xsl:template name="getTitle">
2220
+ </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
3032
2221
  <xsl:param name="name"/>
3033
2222
  <xsl:variable name="lang">
3034
2223
  <xsl:call-template name="getLang"/>
@@ -3046,6 +2235,8 @@
3046
2235
 
3047
2236
 
3048
2237
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2238
+ <xsl:attribute name="white-space">pre</xsl:attribute>
2239
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
3049
2240
 
3050
2241
 
3051
2242
 
@@ -3059,9 +2250,116 @@
3059
2250
 
3060
2251
 
3061
2252
 
2253
+ </xsl:attribute-set><xsl:attribute-set name="permission-style">
2254
+
2255
+ </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
2256
+
2257
+ </xsl:attribute-set><xsl:attribute-set name="permission-label-style">
2258
+
2259
+ </xsl:attribute-set><xsl:attribute-set name="requirement-style">
2260
+
2261
+ </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
2262
+
2263
+ </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
2264
+
2265
+ </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
2266
+ </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
2267
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
2268
+
2269
+
2270
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
2271
+
2272
+
2273
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
2274
+
2275
+ </xsl:attribute-set><xsl:attribute-set name="termexample-style">
2276
+
2277
+ <xsl:attribute name="margin-top">14pt</xsl:attribute>
2278
+ <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2279
+
2280
+
2281
+
2282
+
2283
+
2284
+
2285
+
2286
+ </xsl:attribute-set><xsl:attribute-set name="example-style">
2287
+
2288
+
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+ </xsl:attribute-set><xsl:attribute-set name="example-body-style">
2298
+
2299
+
2300
+
2301
+ </xsl:attribute-set><xsl:attribute-set name="example-name-style">
2302
+
2303
+
2304
+
2305
+
2306
+ <xsl:attribute name="padding-right">9mm</xsl:attribute>
2307
+
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+
2317
+
2318
+
2319
+
2320
+
2321
+ </xsl:attribute-set><xsl:attribute-set name="example-p-style">
2322
+
2323
+
2324
+
2325
+
2326
+
2327
+
2328
+
2329
+
2330
+
2331
+
2332
+
2333
+
2334
+
2335
+ </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
2336
+
2337
+ <xsl:attribute name="padding-right">10mm</xsl:attribute>
2338
+
2339
+
2340
+
2341
+
2342
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2343
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2344
+
2345
+
2346
+
2347
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2348
+ <xsl:attribute name="text-align">center</xsl:attribute>
2349
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2350
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
2351
+
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
3062
2360
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
3063
2361
 
3064
-
2362
+
3065
2363
  <xsl:attribute name="font-weight">bold</xsl:attribute>
3066
2364
  <xsl:attribute name="margin-top">5pt</xsl:attribute>
3067
2365
  <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
@@ -3074,153 +2372,309 @@
3074
2372
  <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
3075
2373
 
3076
2374
 
3077
- </xsl:attribute-set><xsl:template match="text()">
3078
- <xsl:value-of select="."/>
3079
- </xsl:template><xsl:template match="*[local-name()='br']">
3080
- <xsl:value-of select="$linebreak"/>
3081
- </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
3082
- <!-- <xsl:call-template name="add-zero-spaces"/> -->
3083
- <xsl:call-template name="add-zero-spaces-java"/>
3084
- </xsl:template><xsl:template match="*[local-name()='table']">
3085
-
3086
- <xsl:variable name="simple-table">
3087
- <!-- <xsl:copy> -->
3088
- <xsl:call-template name="getSimpleTable"/>
3089
- <!-- </xsl:copy> -->
3090
- </xsl:variable>
3091
-
3092
- <!-- DEBUG -->
3093
- <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
3094
- <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
3095
-
3096
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2375
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
3097
2376
 
3098
- <!-- <xsl:if test="$namespace = 'iso'">
3099
- <fo:block space-before="6pt">&#xA0;</fo:block>
3100
- </xsl:if> -->
2377
+
2378
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
3101
2379
 
3102
- <xsl:if test="not(ancestor::*[local-name() = 'preface'])">
3103
- <!-- <fo:block space-before="2pt">&#xA0;</fo:block> -->
3104
- </xsl:if>
3105
2380
 
3106
- <xsl:choose>
3107
- <xsl:when test="@unnumbered = 'true'"/>
3108
- <xsl:otherwise>
3109
-
3110
-
3111
-
3112
- <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
3113
-
3114
-
3115
- <xsl:if test="ancestor::*[local-name() = 'preface']">
3116
- <xsl:attribute name="visibility">hidden</xsl:attribute>
3117
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3118
- <xsl:attribute name="font-size">1pt</xsl:attribute>
3119
- </xsl:if>
3120
- <xsl:if test="not(ancestor::*[local-name() = 'preface'])">
3121
- <xsl:attribute name="space-before">12pt</xsl:attribute>
3122
- </xsl:if>
3123
-
3124
-
3125
-
3126
-
3127
-
3128
-
3129
-
3130
- <xsl:variable name="title-table">
3131
- <xsl:call-template name="getTitle">
3132
- <xsl:with-param name="name" select="'title-table'"/>
3133
- </xsl:call-template>
3134
- </xsl:variable>
3135
- <xsl:value-of select="$title-table"/>
3136
-
3137
- <xsl:call-template name="getTableNumber"/>
3138
-
3139
-
3140
- <xsl:if test="*[local-name()='name']">
3141
-
3142
-
3143
-
3144
- <xsl:text> — </xsl:text>
3145
-
3146
- <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
3147
- </xsl:if>
3148
- </fo:block>
3149
-
3150
-
3151
- <xsl:call-template name="fn_name_display"/>
2381
+
2382
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
2383
+
2384
+
2385
+
2386
+
2387
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2388
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2389
+ <xsl:attribute name="margin-bottom">9pt</xsl:attribute>
3152
2390
 
3153
- </xsl:otherwise>
3154
- </xsl:choose>
3155
2391
 
3156
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3157
2392
 
3158
- <!-- <xsl:variable name="cols-count">
3159
- <xsl:choose>
3160
- <xsl:when test="*[local-name()='thead']">
3161
- <xsl:call-template name="calculate-columns-numbers">
3162
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
3163
- </xsl:call-template>
3164
- </xsl:when>
3165
- <xsl:otherwise>
3166
- <xsl:call-template name="calculate-columns-numbers">
3167
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
3168
- </xsl:call-template>
3169
- </xsl:otherwise>
3170
- </xsl:choose>
3171
- </xsl:variable> -->
3172
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
3173
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
3174
2393
 
3175
2394
 
3176
2395
 
3177
- <xsl:variable name="colwidths">
3178
- <xsl:call-template name="calculate-column-widths">
3179
- <xsl:with-param name="cols-count" select="$cols-count"/>
3180
- <xsl:with-param name="table" select="$simple-table"/>
3181
- </xsl:call-template>
3182
- </xsl:variable>
3183
2396
 
3184
- <!-- <xsl:variable name="colwidths2">
3185
- <xsl:call-template name="calculate-column-widths">
3186
- <xsl:with-param name="cols-count" select="$cols-count"/>
3187
- </xsl:call-template>
3188
- </xsl:variable> -->
3189
2397
 
3190
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
3191
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
3192
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
3193
2398
 
3194
- <xsl:variable name="margin-left">
3195
- <xsl:choose>
3196
- <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
3197
- <xsl:otherwise>0</xsl:otherwise>
3198
- </xsl:choose>
3199
- </xsl:variable>
3200
2399
 
3201
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
3202
-
3203
-
3204
- <xsl:attribute name="space-after">12pt</xsl:attribute>
3205
- <xsl:if test="ancestor::*[local-name() = 'preface']">
3206
- <xsl:attribute name="space-after">16pt</xsl:attribute>
3207
- </xsl:if>
3208
-
3209
-
3210
-
3211
-
3212
-
3213
-
3214
-
3215
- <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">
3216
-
3217
-
3218
- <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3219
-
3220
-
3221
-
3222
-
3223
-
2400
+
2401
+
2402
+ </xsl:attribute-set><xsl:attribute-set name="note-name-style">
2403
+
2404
+
2405
+
2406
+
2407
+ <xsl:attribute name="padding-right">6mm</xsl:attribute>
2408
+
2409
+
2410
+
2411
+
2412
+
2413
+
2414
+
2415
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
2416
+
2417
+
2418
+
2419
+
2420
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2421
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2422
+
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+
2432
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2433
+
2434
+
2435
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2436
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2437
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2438
+
2439
+
2440
+
2441
+
2442
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
2443
+
2444
+
2445
+
2446
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2447
+ <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2448
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2449
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2450
+
2451
+
2452
+
2453
+
2454
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2455
+
2456
+
2457
+
2458
+ <xsl:attribute name="text-align">right</xsl:attribute>
2459
+ <xsl:attribute name="margin-top">15pt</xsl:attribute>
2460
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2461
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2462
+
2463
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2464
+
2465
+
2466
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2467
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2468
+
2469
+
2470
+
2471
+
2472
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
2473
+
2474
+
2475
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
2476
+
2477
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2478
+
2479
+
2480
+
2481
+
2482
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2483
+ <xsl:attribute name="text-align">center</xsl:attribute>
2484
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2485
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2486
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2487
+
2488
+
2489
+
2490
+
2491
+
2492
+
2493
+
2494
+
2495
+
2496
+
2497
+
2498
+
2499
+
2500
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
2501
+
2502
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
2503
+ <xsl:attribute name="text-align">center</xsl:attribute>
2504
+
2505
+
2506
+
2507
+
2508
+
2509
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2510
+
2511
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2512
+
2513
+
2514
+
2515
+ <xsl:attribute name="width">75%</xsl:attribute>
2516
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
2517
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
2518
+
2519
+
2520
+
2521
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
2522
+
2523
+
2524
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
2525
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2526
+
2527
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
2528
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2529
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2530
+ <xsl:attribute name="text-align">center</xsl:attribute>
2531
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2532
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
2533
+
2534
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
2535
+
2536
+
2537
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2538
+
2539
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2540
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
2541
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
2542
+
2543
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
2544
+
2545
+
2546
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2547
+
2548
+ </xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
2549
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2550
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2551
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2552
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2553
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2554
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2555
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2556
+
2557
+ <!-- Normative references -->
2558
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
2559
+ <!-- Terms and definitions -->
2560
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
2561
+ <!-- Another main sections -->
2562
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
2563
+ <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2564
+ <!-- Bibliography -->
2565
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
2566
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2567
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2568
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2569
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2570
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2571
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2572
+ </xsl:template><xsl:template name="processMainSectionsDefault">
2573
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2574
+
2575
+ <!-- Normative references -->
2576
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2577
+ <!-- Terms and definitions -->
2578
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
2579
+ <!-- Another main sections -->
2580
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
2581
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2582
+ <!-- Bibliography -->
2583
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2584
+ </xsl:template><xsl:template match="text()">
2585
+ <xsl:value-of select="."/>
2586
+ </xsl:template><xsl:template match="*[local-name()='br']">
2587
+ <xsl:value-of select="$linebreak"/>
2588
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2589
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
2590
+ <xsl:call-template name="add-zero-spaces-java"/>
2591
+ </xsl:template><xsl:template match="*[local-name()='table']">
2592
+
2593
+ <xsl:variable name="simple-table">
2594
+ <xsl:call-template name="getSimpleTable"/>
2595
+ </xsl:variable>
2596
+
2597
+
2598
+
2599
+
2600
+
2601
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2602
+
2603
+
2604
+
2605
+ <xsl:call-template name="fn_name_display"/>
2606
+
2607
+
2608
+
2609
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2610
+
2611
+ <!-- <xsl:variable name="cols-count">
2612
+ <xsl:choose>
2613
+ <xsl:when test="*[local-name()='thead']">
2614
+ <xsl:call-template name="calculate-columns-numbers">
2615
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2616
+ </xsl:call-template>
2617
+ </xsl:when>
2618
+ <xsl:otherwise>
2619
+ <xsl:call-template name="calculate-columns-numbers">
2620
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2621
+ </xsl:call-template>
2622
+ </xsl:otherwise>
2623
+ </xsl:choose>
2624
+ </xsl:variable> -->
2625
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2626
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2627
+
2628
+
2629
+
2630
+ <xsl:variable name="colwidths">
2631
+ <xsl:call-template name="calculate-column-widths">
2632
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2633
+ <xsl:with-param name="table" select="$simple-table"/>
2634
+ </xsl:call-template>
2635
+ </xsl:variable>
2636
+
2637
+ <!-- <xsl:variable name="colwidths2">
2638
+ <xsl:call-template name="calculate-column-widths">
2639
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2640
+ </xsl:call-template>
2641
+ </xsl:variable> -->
2642
+
2643
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2644
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
2645
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2646
+
2647
+ <xsl:variable name="margin-left">
2648
+ <xsl:choose>
2649
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2650
+ <xsl:otherwise>0</xsl:otherwise>
2651
+ </xsl:choose>
2652
+ </xsl:variable>
2653
+
2654
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2655
+
2656
+
2657
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
2658
+ <xsl:if test="ancestor::*[local-name() = 'preface']">
2659
+ <xsl:attribute name="space-after">16pt</xsl:attribute>
2660
+ </xsl:if>
2661
+
2662
+
2663
+
2664
+
2665
+
2666
+
2667
+
2668
+
2669
+ <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">
2670
+
2671
+
2672
+ <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
2673
+
2674
+
2675
+
2676
+
2677
+
3224
2678
 
3225
2679
 
3226
2680
 
@@ -3229,6 +2683,7 @@
3229
2683
  <xsl:attribute name="font-size">8pt</xsl:attribute>
3230
2684
 
3231
2685
 
2686
+
3232
2687
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
3233
2688
  <xsl:choose>
3234
2689
  <xsl:when test=". = 1 or . = 0">
@@ -3253,33 +2708,15 @@
3253
2708
 
3254
2709
 
3255
2710
 
2711
+
2712
+
3256
2713
  </fo:block-container>
3257
- </xsl:template><xsl:template name="getTableNumber">
3258
- <xsl:choose>
3259
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
3260
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
3261
- </xsl:when>
3262
- <xsl:when test="ancestor::*[local-name()='annex']">
3263
-
3264
-
3265
-
3266
- <xsl:number format="A." count="*[local-name()='annex']"/><xsl:number format="1"/>
3267
-
3268
-
3269
-
3270
-
3271
-
3272
-
3273
- </xsl:when>
3274
- <xsl:otherwise>
3275
-
3276
- <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']"/>
3277
-
3278
-
3279
- </xsl:otherwise>
3280
- </xsl:choose>
3281
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
3282
- <xsl:apply-templates/>
2714
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2715
+ <xsl:if test="normalize-space() != ''">
2716
+ <fo:block xsl:use-attribute-sets="table-name-style">
2717
+ <xsl:apply-templates/>
2718
+ </fo:block>
2719
+ </xsl:if>
3283
2720
  </xsl:template><xsl:template name="calculate-columns-numbers">
3284
2721
  <xsl:param name="table-row"/>
3285
2722
  <xsl:variable name="columns-count" select="count($table-row/*)"/>
@@ -3515,6 +2952,14 @@
3515
2952
  </fo:table-row>
3516
2953
  </xsl:template><xsl:template match="*[local-name()='th']">
3517
2954
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2955
+ <xsl:attribute name="text-align">
2956
+ <xsl:choose>
2957
+ <xsl:when test="@align">
2958
+ <xsl:value-of select="@align"/>
2959
+ </xsl:when>
2960
+ <xsl:otherwise>center</xsl:otherwise>
2961
+ </xsl:choose>
2962
+ </xsl:attribute>
3518
2963
 
3519
2964
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
3520
2965
 
@@ -3530,6 +2975,8 @@
3530
2975
 
3531
2976
 
3532
2977
 
2978
+
2979
+
3533
2980
  <xsl:if test="@colspan">
3534
2981
  <xsl:attribute name="number-columns-spanned">
3535
2982
  <xsl:value-of select="@colspan"/>
@@ -3546,6 +2993,14 @@
3546
2993
  </fo:table-cell>
3547
2994
  </xsl:template><xsl:template match="*[local-name()='td']">
3548
2995
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2996
+ <xsl:attribute name="text-align">
2997
+ <xsl:choose>
2998
+ <xsl:when test="@align">
2999
+ <xsl:value-of select="@align"/>
3000
+ </xsl:when>
3001
+ <xsl:otherwise>left</xsl:otherwise>
3002
+ </xsl:choose>
3003
+ </xsl:attribute>
3549
3004
  <!-- and ancestor::*[local-name() = 'thead'] -->
3550
3005
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3551
3006
 
@@ -3555,8 +3010,7 @@
3555
3010
  <xsl:attribute name="border">solid black 0</xsl:attribute>
3556
3011
  </xsl:if>
3557
3012
 
3558
-
3559
-
3013
+
3560
3014
 
3561
3015
  <xsl:attribute name="border">solid black 0.5pt</xsl:attribute>
3562
3016
  <xsl:if test="ancestor::*[local-name()='preface']">
@@ -3566,6 +3020,7 @@
3566
3020
 
3567
3021
 
3568
3022
 
3023
+
3569
3024
  <xsl:if test="@colspan">
3570
3025
  <xsl:attribute name="number-columns-spanned">
3571
3026
  <xsl:value-of select="@colspan"/>
@@ -3579,21 +3034,9 @@
3579
3034
  <fo:block>
3580
3035
 
3581
3036
  <xsl:apply-templates/>
3582
- </fo:block>
3583
- <!-- <xsl:choose>
3584
- <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
3585
- <xsl:apply-templates />
3586
- </xsl:when>
3587
- <xsl:otherwise>
3588
- <fo:block>
3589
- <xsl:apply-templates />
3590
- </fo:block>
3591
- </xsl:otherwise>
3592
- </xsl:choose> -->
3593
-
3594
-
3037
+ </fo:block>
3595
3038
  </fo:table-cell>
3596
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3039
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3597
3040
 
3598
3041
 
3599
3042
  <fo:block font-size="10pt" margin-bottom="12pt">
@@ -3607,26 +3050,15 @@
3607
3050
  <fo:inline padding-right="2mm">
3608
3051
 
3609
3052
 
3610
- <xsl:variable name="title-note">
3611
- <xsl:call-template name="getTitle">
3612
- <xsl:with-param name="name" select="'title-note'"/>
3613
- </xsl:call-template>
3614
- </xsl:variable>
3615
- <xsl:value-of select="$title-note"/>
3616
3053
 
3617
- <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
3618
- <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
3619
- <xsl:number count="*[local-name()='note'][ancestor::*[@id = $id]]" level="any"/>
3620
- </xsl:if>
3054
+
3055
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3621
3056
 
3622
-
3623
-
3624
-
3625
3057
  </fo:inline>
3626
3058
  <xsl:apply-templates mode="process"/>
3627
3059
  </fo:block>
3628
3060
 
3629
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3061
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3630
3062
  <xsl:apply-templates/>
3631
3063
  </xsl:template><xsl:template name="fn_display">
3632
3064
  <xsl:variable name="references">
@@ -3692,7 +3124,7 @@
3692
3124
  true <!-- and (not(@class) or @class !='pseudocode') -->
3693
3125
  </xsl:variable>
3694
3126
  <xsl:variable name="references">
3695
- <xsl:for-each select=".//*[local-name()='fn']">
3127
+ <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3696
3128
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3697
3129
  <xsl:apply-templates/>
3698
3130
  </fn>
@@ -3990,7 +3422,7 @@
3990
3422
  <xsl:value-of select="string-length(normalize-space(.))"/>
3991
3423
  </xsl:if>
3992
3424
  </xsl:for-each>
3993
- </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
3425
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
3994
3426
  <xsl:param name="key_iso"/>
3995
3427
 
3996
3428
  <!-- <tr>
@@ -4006,12 +3438,7 @@
4006
3438
  <xsl:if test="normalize-space($key_iso) = 'true'">
4007
3439
  <xsl:attribute name="margin-top">0</xsl:attribute>
4008
3440
  </xsl:if>
4009
- <xsl:variable name="title-note">
4010
- <xsl:call-template name="getTitle">
4011
- <xsl:with-param name="name" select="'title-note'"/>
4012
- </xsl:call-template>
4013
- </xsl:variable>
4014
- <xsl:value-of select="$title-note"/>
3441
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4015
3442
  </fo:block>
4016
3443
  </fo:table-cell>
4017
3444
  <fo:table-cell>
@@ -4084,7 +3511,7 @@
4084
3511
  <fo:inline font-style="italic">
4085
3512
  <xsl:apply-templates/>
4086
3513
  </fo:inline>
4087
- </xsl:template><xsl:template match="*[local-name()='strong']">
3514
+ </xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
4088
3515
  <fo:inline font-weight="bold">
4089
3516
  <xsl:apply-templates/>
4090
3517
  </fo:inline>
@@ -4097,7 +3524,7 @@
4097
3524
  <xsl:apply-templates/>
4098
3525
  </fo:inline>
4099
3526
  </xsl:template><xsl:template match="*[local-name()='tt']">
4100
- <fo:inline font-family="Courier" font-size="10pt">
3527
+ <fo:inline xsl:use-attribute-sets="tt-style">
4101
3528
  <xsl:apply-templates/>
4102
3529
  </fo:inline>
4103
3530
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -4428,13 +3855,7 @@
4428
3855
  <xsl:copy-of select="."/>
4429
3856
  </fo:instream-foreign-object>
4430
3857
  </fo:inline>
4431
- </xsl:template><xsl:template match="*[local-name()='localityStack']">
4432
- <xsl:for-each select="*[local-name()='locality']">
4433
- <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
4434
- <xsl:apply-templates select="."/>
4435
- <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
4436
- </xsl:for-each>
4437
- </xsl:template><xsl:template match="*[local-name()='link']" name="link">
3858
+ </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
4438
3859
  <xsl:variable name="target">
4439
3860
  <xsl:choose>
4440
3861
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -4464,51 +3885,20 @@
4464
3885
  </xsl:otherwise>
4465
3886
  </xsl:choose>
4466
3887
  </fo:inline>
4467
- </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4468
- <fo:block xsl:use-attribute-sets="sourcecode-style">
4469
- <!-- <xsl:choose>
4470
- <xsl:when test="@lang = 'en'"></xsl:when>
4471
- <xsl:otherwise> -->
4472
- <xsl:attribute name="white-space">pre</xsl:attribute>
4473
- <xsl:attribute name="wrap-option">wrap</xsl:attribute>
4474
- <!-- </xsl:otherwise>
4475
- </xsl:choose> -->
4476
- <xsl:apply-templates/>
4477
- </fo:block>
4478
3888
  </xsl:template><xsl:template match="*[local-name()='bookmark']">
4479
3889
  <fo:inline id="{@id}"/>
4480
3890
  </xsl:template><xsl:template match="*[local-name()='appendix']">
4481
3891
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4482
- <xsl:variable name="title-appendix">
4483
- <xsl:call-template name="getTitle">
4484
- <xsl:with-param name="name" select="'title-appendix'"/>
4485
- </xsl:call-template>
4486
- </xsl:variable>
4487
- <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
4488
3892
  <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4489
3893
  </fo:block>
4490
3894
  <xsl:apply-templates/>
4491
3895
  </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4492
3896
  <fo:inline><xsl:apply-templates/></fo:inline>
4493
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
4494
- <fo:block xsl:use-attribute-sets="appendix-example-style">
4495
- <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
4496
- <xsl:variable name="title-example">
4497
- <xsl:call-template name="getTitle">
4498
- <xsl:with-param name="name" select="'title-example'"/>
4499
- </xsl:call-template>
4500
- </xsl:variable>
4501
- <xsl:value-of select="$title-example"/>
4502
- <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
4503
- <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
4504
- </xsl:if>
4505
- <xsl:if test="*[local-name()='name']">
4506
- <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
4507
- </xsl:if>
3897
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3898
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3899
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4508
3900
  </fo:block>
4509
3901
  <xsl:apply-templates/>
4510
- </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">
4511
- <fo:inline><xsl:apply-templates/></fo:inline>
4512
3902
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
4513
3903
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4514
3904
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -4539,17 +3929,775 @@
4539
3929
  <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
4540
3930
  </xsl:choose>
4541
3931
  <xsl:apply-templates/>
4542
- </xsl:template><xsl:template name="convertDate">
4543
- <xsl:param name="date"/>
4544
- <xsl:param name="format" select="'short'"/>
4545
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
4546
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
4547
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
4548
- <xsl:variable name="monthStr">
4549
- <xsl:choose>
4550
- <xsl:when test="$month = '01'">January</xsl:when>
4551
- <xsl:when test="$month = '02'">February</xsl:when>
4552
- <xsl:when test="$month = '03'">March</xsl:when>
3932
+ </xsl:template><xsl:template match="*[local-name() = 'xref']">
3933
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3934
+
3935
+ <xsl:apply-templates/>
3936
+ </fo:basic-link>
3937
+ </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
3938
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
3939
+ <xsl:apply-templates/>
3940
+ </fo:block>
3941
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
3942
+ <fo:inline>
3943
+ <xsl:apply-templates/>
3944
+ </fo:inline>
3945
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']/*[local-name() = 'stem']">
3946
+ <fo:inline>
3947
+ <xsl:apply-templates/>
3948
+ </fo:inline>
3949
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
3950
+ <xsl:if test="normalize-space() != ''">
3951
+ <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3952
+ </xsl:if>
3953
+ </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3954
+
3955
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
3956
+
3957
+
3958
+
3959
+
3960
+ <fo:block-container margin-left="0mm">
3961
+
3962
+
3963
+
3964
+
3965
+
3966
+
3967
+
3968
+
3969
+ <fo:block>
3970
+
3971
+
3972
+
3973
+
3974
+ <fo:inline xsl:use-attribute-sets="note-name-style">
3975
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3976
+ </fo:inline>
3977
+ <xsl:apply-templates/>
3978
+ </fo:block>
3979
+
3980
+
3981
+ </fo:block-container>
3982
+ </fo:block-container>
3983
+
3984
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
3985
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
3986
+ <xsl:choose>
3987
+ <xsl:when test="$num = 1">
3988
+ <fo:inline xsl:use-attribute-sets="note-p-style">
3989
+ <xsl:apply-templates/>
3990
+ </fo:inline>
3991
+ </xsl:when>
3992
+ <xsl:otherwise>
3993
+ <fo:block xsl:use-attribute-sets="note-p-style">
3994
+ <xsl:apply-templates/>
3995
+ </fo:block>
3996
+ </xsl:otherwise>
3997
+ </xsl:choose>
3998
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']">
3999
+ <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
4000
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4001
+ <xsl:apply-templates/>
4002
+ </fo:block>
4003
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
4004
+ <xsl:param name="sfx"/>
4005
+ <xsl:variable name="suffix">
4006
+ <xsl:choose>
4007
+ <xsl:when test="$sfx != ''">
4008
+ <xsl:value-of select="$sfx"/>
4009
+ </xsl:when>
4010
+ <xsl:otherwise>
4011
+
4012
+
4013
+ </xsl:otherwise>
4014
+ </xsl:choose>
4015
+ </xsl:variable>
4016
+ <xsl:if test="normalize-space() != ''">
4017
+ <xsl:apply-templates/>
4018
+ <xsl:value-of select="$suffix"/>
4019
+ </xsl:if>
4020
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
4021
+ <xsl:param name="sfx"/>
4022
+ <xsl:variable name="suffix">
4023
+ <xsl:choose>
4024
+ <xsl:when test="$sfx != ''">
4025
+ <xsl:value-of select="$sfx"/>
4026
+ </xsl:when>
4027
+ <xsl:otherwise>
4028
+
4029
+ <xsl:text>:</xsl:text>
4030
+
4031
+
4032
+ </xsl:otherwise>
4033
+ </xsl:choose>
4034
+ </xsl:variable>
4035
+ <xsl:if test="normalize-space() != ''">
4036
+ <xsl:apply-templates/>
4037
+ <xsl:value-of select="$suffix"/>
4038
+ </xsl:if>
4039
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
4040
+ <fo:inline><xsl:apply-templates/></fo:inline>
4041
+ </xsl:template><xsl:template match="*[local-name() = 'terms']">
4042
+ <fo:block id="{@id}">
4043
+ <xsl:apply-templates/>
4044
+ </fo:block>
4045
+ </xsl:template><xsl:template match="*[local-name() = 'term']">
4046
+ <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4047
+
4048
+
4049
+
4050
+ <xsl:apply-templates/>
4051
+ </fo:block>
4052
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4053
+ <xsl:if test="normalize-space() != ''">
4054
+ <fo:inline>
4055
+ <xsl:apply-templates/>
4056
+ <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4057
+ <xsl:text>.</xsl:text>
4058
+ </xsl:if> -->
4059
+ </fo:inline>
4060
+ </xsl:if>
4061
+ </xsl:template><xsl:template match="*[local-name() = 'figure']">
4062
+ <fo:block-container id="{@id}">
4063
+ <fo:block>
4064
+ <xsl:apply-templates/>
4065
+ </fo:block>
4066
+ <xsl:call-template name="fn_display_figure"/>
4067
+ <xsl:for-each select="*[local-name() = 'note']">
4068
+ <xsl:call-template name="note"/>
4069
+ </xsl:for-each>
4070
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4071
+ </fo:block-container>
4072
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4073
+ <fo:block id="{@id}">
4074
+ <xsl:apply-templates/>
4075
+ </fo:block>
4076
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4077
+ <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4078
+ <xsl:apply-templates/>
4079
+ </fo:block>
4080
+ </xsl:template><xsl:template match="*[local-name() = 'image']">
4081
+ <fo:block xsl:use-attribute-sets="image-style">
4082
+
4083
+
4084
+ <xsl:variable name="src">
4085
+ <xsl:choose>
4086
+ <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
4087
+ <xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
4088
+ </xsl:when>
4089
+ <xsl:otherwise>
4090
+ <xsl:value-of select="@src"/>
4091
+ </xsl:otherwise>
4092
+ </xsl:choose>
4093
+ </xsl:variable>
4094
+
4095
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
4096
+ </fo:block>
4097
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4098
+ <xsl:apply-templates mode="contents"/>
4099
+ <xsl:text> </xsl:text>
4100
+ </xsl:template><xsl:template match="text()" mode="contents">
4101
+ <xsl:value-of select="."/>
4102
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
4103
+ <xsl:if test="normalize-space() != ''">
4104
+ <fo:block xsl:use-attribute-sets="figure-name-style">
4105
+
4106
+ <xsl:apply-templates/>
4107
+ </fo:block>
4108
+ </xsl:if>
4109
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
4110
+ <xsl:apply-templates mode="contents_item"/>
4111
+ <!-- <xsl:text> </xsl:text> -->
4112
+ </xsl:template><xsl:template name="getSection">
4113
+ <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4114
+ </xsl:template><xsl:template name="getName">
4115
+ <xsl:choose>
4116
+ <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
4117
+ <xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
4118
+ </xsl:when>
4119
+ <xsl:otherwise>
4120
+ <xsl:copy-of select="*[local-name() = 'title']/node()"/>
4121
+ </xsl:otherwise>
4122
+ </xsl:choose>
4123
+ </xsl:template><xsl:template name="insertTitleAsListItem">
4124
+ <xsl:param name="provisional-distance-between-starts" select="'9.5mm'"/>
4125
+ <xsl:variable name="section">
4126
+ <xsl:for-each select="..">
4127
+ <xsl:call-template name="getSection"/>
4128
+ </xsl:for-each>
4129
+ </xsl:variable>
4130
+ <fo:list-block provisional-distance-between-starts="{$provisional-distance-between-starts}">
4131
+ <fo:list-item>
4132
+ <fo:list-item-label end-indent="label-end()">
4133
+ <fo:block>
4134
+ <xsl:value-of select="$section"/>
4135
+ </fo:block>
4136
+ </fo:list-item-label>
4137
+ <fo:list-item-body start-indent="body-start()">
4138
+ <fo:block>
4139
+ <xsl:choose>
4140
+ <xsl:when test="*[local-name() = 'tab']">
4141
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4142
+ </xsl:when>
4143
+ <xsl:otherwise>
4144
+ <xsl:apply-templates/>
4145
+ </xsl:otherwise>
4146
+ </xsl:choose>
4147
+ </fo:block>
4148
+ </fo:list-item-body>
4149
+ </fo:list-item>
4150
+ </fo:list-block>
4151
+ </xsl:template><xsl:template name="extractTitle">
4152
+ <xsl:choose>
4153
+ <xsl:when test="*[local-name() = 'tab']">
4154
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4155
+ </xsl:when>
4156
+ <xsl:otherwise>
4157
+ <xsl:apply-templates/>
4158
+ </xsl:otherwise>
4159
+ </xsl:choose>
4160
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
4161
+ <xsl:text> </xsl:text>
4162
+ </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
4163
+ <xsl:copy>
4164
+ <xsl:apply-templates mode="contents_item"/>
4165
+ </xsl:copy>
4166
+ </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4167
+ <xsl:text> </xsl:text>
4168
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4169
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
4170
+ <xsl:apply-templates/>
4171
+ </fo:block>
4172
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4173
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
4174
+ <xsl:variable name="text">
4175
+ <xsl:call-template name="add-zero-spaces-equal"/>
4176
+ </xsl:variable>
4177
+ <xsl:call-template name="add-zero-spaces">
4178
+ <xsl:with-param name="text" select="$text"/>
4179
+ </xsl:call-template>
4180
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
4181
+ <xsl:if test="normalize-space() != ''">
4182
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
4183
+
4184
+ <xsl:apply-templates/>
4185
+ </fo:block>
4186
+ </xsl:if>
4187
+ </xsl:template><xsl:template match="*[local-name() = 'permission']">
4188
+ <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
4189
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4190
+ <xsl:apply-templates/>
4191
+ </fo:block>
4192
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
4193
+ <xsl:if test="normalize-space() != ''">
4194
+ <fo:block xsl:use-attribute-sets="permission-name-style">
4195
+ <xsl:apply-templates/>
4196
+
4197
+ </fo:block>
4198
+ </xsl:if>
4199
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'label']">
4200
+ <fo:block xsl:use-attribute-sets="permission-label-style">
4201
+ <xsl:apply-templates/>
4202
+ </fo:block>
4203
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']">
4204
+ <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
4205
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4206
+ <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
4207
+ <xsl:apply-templates select="@obligation" mode="presentation"/>
4208
+ <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
4209
+ <xsl:apply-templates/>
4210
+ </fo:block>
4211
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
4212
+ <xsl:if test="normalize-space() != ''">
4213
+ <fo:block xsl:use-attribute-sets="requirement-name-style">
4214
+
4215
+ <xsl:apply-templates/>
4216
+
4217
+ </fo:block>
4218
+ </xsl:if>
4219
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
4220
+ <fo:block xsl:use-attribute-sets="requirement-label-style">
4221
+ <xsl:apply-templates/>
4222
+ </fo:block>
4223
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
4224
+ <fo:block>
4225
+ <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4226
+ </fo:block>
4227
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4228
+ <fo:block xsl:use-attribute-sets="requirement-subject-style">
4229
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4230
+ </fo:block>
4231
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
4232
+ <fo:block xsl:use-attribute-sets="requirement-inherit-style">
4233
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4234
+ </fo:block>
4235
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4236
+ <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4237
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4238
+ <xsl:apply-templates/>
4239
+ </fo:block>
4240
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
4241
+ <xsl:if test="normalize-space() != ''">
4242
+ <fo:block xsl:use-attribute-sets="recommendation-name-style">
4243
+ <xsl:apply-templates/>
4244
+
4245
+ </fo:block>
4246
+ </xsl:if>
4247
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'label']">
4248
+ <fo:block xsl:use-attribute-sets="recommendation-label-style">
4249
+ <xsl:apply-templates/>
4250
+ </fo:block>
4251
+ </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4252
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
4253
+ <fo:block-container margin-left="0mm" margin-right="0mm">
4254
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
4255
+ <xsl:variable name="simple-table">
4256
+ <xsl:call-template name="getSimpleTable"/>
4257
+ </xsl:variable>
4258
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4259
+ <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
4260
+ <fo:table-column column-width="35mm"/>
4261
+ <fo:table-column column-width="115mm"/>
4262
+ </xsl:if>
4263
+ <xsl:apply-templates mode="requirement"/>
4264
+ </fo:table>
4265
+ <!-- fn processing -->
4266
+ <xsl:if test=".//*[local-name() = 'fn']">
4267
+ <xsl:for-each select="*[local-name() = 'tbody']">
4268
+ <fo:block font-size="90%" border-bottom="1.pt solid black">
4269
+ <xsl:call-template name="fn_display"/>
4270
+ </fo:block>
4271
+ </xsl:for-each>
4272
+ </xsl:if>
4273
+ </fo:block-container>
4274
+ </fo:block-container>
4275
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
4276
+ <fo:table-header>
4277
+ <xsl:apply-templates mode="requirement"/>
4278
+ </fo:table-header>
4279
+ </xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
4280
+ <fo:table-body>
4281
+ <xsl:apply-templates mode="requirement"/>
4282
+ </fo:table-body>
4283
+ </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
4284
+ <fo:table-row>
4285
+ <xsl:apply-templates mode="requirement"/>
4286
+ </fo:table-row>
4287
+ </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
4288
+ <fo:table-cell text-align="{@align}">
4289
+ <xsl:attribute name="text-align">
4290
+ <xsl:choose>
4291
+ <xsl:when test="@align">
4292
+ <xsl:value-of select="@align"/>
4293
+ </xsl:when>
4294
+ <xsl:otherwise>center</xsl:otherwise>
4295
+ </xsl:choose>
4296
+ </xsl:attribute>
4297
+ <xsl:if test="@colspan">
4298
+ <xsl:attribute name="number-columns-spanned">
4299
+ <xsl:value-of select="@colspan"/>
4300
+ </xsl:attribute>
4301
+ </xsl:if>
4302
+ <xsl:if test="@rowspan">
4303
+ <xsl:attribute name="number-rows-spanned">
4304
+ <xsl:value-of select="@rowspan"/>
4305
+ </xsl:attribute>
4306
+ </xsl:if>
4307
+
4308
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4309
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4310
+ <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
4311
+ </xsl:if>
4312
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
4313
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4314
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4315
+ </xsl:if>
4316
+
4317
+ <fo:block>
4318
+ <xsl:apply-templates/>
4319
+ </fo:block>
4320
+ </fo:table-cell>
4321
+ </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
4322
+ <fo:table-cell text-align="{@align}">
4323
+ <xsl:attribute name="text-align">
4324
+ <xsl:choose>
4325
+ <xsl:when test="@align">
4326
+ <xsl:value-of select="@align"/>
4327
+ </xsl:when>
4328
+ <xsl:otherwise>left</xsl:otherwise>
4329
+ </xsl:choose>
4330
+ </xsl:attribute>
4331
+ <xsl:if test="@colspan">
4332
+ <xsl:attribute name="number-columns-spanned">
4333
+ <xsl:value-of select="@colspan"/>
4334
+ </xsl:attribute>
4335
+ </xsl:if>
4336
+ <xsl:if test="@rowspan">
4337
+ <xsl:attribute name="number-rows-spanned">
4338
+ <xsl:value-of select="@rowspan"/>
4339
+ </xsl:attribute>
4340
+ </xsl:if>
4341
+
4342
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4343
+ <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
4344
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4345
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
4346
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4347
+ </xsl:if>
4348
+ </xsl:if>
4349
+
4350
+ <fo:block>
4351
+ <xsl:apply-templates/>
4352
+ </fo:block>
4353
+ </fo:table-cell>
4354
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
4355
+ <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
4356
+ <xsl:apply-templates/>
4357
+ </fo:block>
4358
+ </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
4359
+ <fo:block margin-bottom="10pt">
4360
+ <xsl:apply-templates/>
4361
+ </fo:block>
4362
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']">
4363
+ <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
4364
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4365
+ <xsl:apply-templates/>
4366
+ </fo:block>
4367
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
4368
+ <xsl:if test="normalize-space() != ''">
4369
+ <fo:inline xsl:use-attribute-sets="termexample-name-style">
4370
+ <xsl:apply-templates/>
4371
+ </fo:inline>
4372
+ </xsl:if>
4373
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
4374
+ <fo:inline><xsl:apply-templates/></fo:inline>
4375
+ </xsl:template><xsl:template match="*[local-name() = 'example']">
4376
+ <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
4377
+
4378
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4379
+
4380
+ <xsl:variable name="element">
4381
+
4382
+ inline
4383
+ </xsl:variable>
4384
+
4385
+ <xsl:choose>
4386
+ <xsl:when test="normalize-space($element) = 'block'">
4387
+ <fo:block xsl:use-attribute-sets="example-body-style">
4388
+ <xsl:apply-templates/>
4389
+ </fo:block>
4390
+ </xsl:when>
4391
+ <xsl:otherwise>
4392
+ <fo:inline>
4393
+ <xsl:apply-templates/>
4394
+ </fo:inline>
4395
+ </xsl:otherwise>
4396
+ </xsl:choose>
4397
+
4398
+ </fo:block>
4399
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
4400
+
4401
+ <xsl:variable name="element">
4402
+
4403
+ inline
4404
+ </xsl:variable>
4405
+ <xsl:choose>
4406
+ <xsl:when test="ancestor::*[local-name() = 'appendix']">
4407
+ <fo:inline>
4408
+ <xsl:apply-templates/>
4409
+ </fo:inline>
4410
+ </xsl:when>
4411
+ <xsl:when test="normalize-space($element) = 'block'">
4412
+ <fo:block xsl:use-attribute-sets="example-name-style">
4413
+ <xsl:apply-templates/>
4414
+ </fo:block>
4415
+ </xsl:when>
4416
+ <xsl:otherwise>
4417
+ <fo:inline xsl:use-attribute-sets="example-name-style">
4418
+ <xsl:apply-templates/>
4419
+ </fo:inline>
4420
+ </xsl:otherwise>
4421
+ </xsl:choose>
4422
+
4423
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
4424
+ <fo:block xsl:use-attribute-sets="example-p-style">
4425
+
4426
+ <xsl:apply-templates/>
4427
+ </fo:block>
4428
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']">
4429
+ <fo:block xsl:use-attribute-sets="termsource-style">
4430
+ <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
4431
+ <xsl:variable name="termsource_text">
4432
+ <xsl:apply-templates/>
4433
+ </xsl:variable>
4434
+ <xsl:choose>
4435
+ <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
4436
+ <xsl:apply-templates/>
4437
+ </xsl:when>
4438
+ <xsl:otherwise>
4439
+ <xsl:text>[</xsl:text>
4440
+ <xsl:apply-templates/>
4441
+ <xsl:text>]</xsl:text>
4442
+ </xsl:otherwise>
4443
+ </xsl:choose>
4444
+ </fo:block>
4445
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
4446
+ <xsl:if test="normalize-space() != ''">
4447
+ <xsl:value-of select="."/>
4448
+ </xsl:if>
4449
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
4450
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4451
+
4452
+ <xsl:call-template name="getTitle">
4453
+ <xsl:with-param name="name" select="'title-source'"/>
4454
+ </xsl:call-template>
4455
+ <xsl:text>: </xsl:text>
4456
+
4457
+ <fo:inline xsl:use-attribute-sets="origin-style">
4458
+ <xsl:apply-templates/>
4459
+ </fo:inline>
4460
+ </fo:basic-link>
4461
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
4462
+ <fo:inline><xsl:apply-templates/></fo:inline>
4463
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
4464
+ <xsl:if test="normalize-space() != ''">
4465
+ <xsl:value-of select="."/>
4466
+ </xsl:if>
4467
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
4468
+
4469
+ <fo:block xsl:use-attribute-sets="quote-style">
4470
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
4471
+ </fo:block>
4472
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
4473
+ <fo:block xsl:use-attribute-sets="quote-source-style">
4474
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
4475
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
4476
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
4477
+ </fo:block>
4478
+ </xsl:if>
4479
+ </xsl:template><xsl:template match="*[local-name() = 'source']">
4480
+ <xsl:if test="../*[local-name() = 'author']">
4481
+ <xsl:text>, </xsl:text>
4482
+ </xsl:if>
4483
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4484
+ <xsl:apply-templates/>
4485
+ </fo:basic-link>
4486
+ </xsl:template><xsl:template match="*[local-name() = 'author']">
4487
+ <xsl:text>— </xsl:text>
4488
+ <xsl:apply-templates/>
4489
+ </xsl:template><xsl:template match="*[local-name() = 'eref']">
4490
+ <fo:inline xsl:use-attribute-sets="eref-style">
4491
+ <xsl:if test="@type = 'footnote'">
4492
+
4493
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4494
+ <xsl:attribute name="font-size">80%</xsl:attribute>
4495
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4496
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
4497
+
4498
+
4499
+ </xsl:if>
4500
+
4501
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4502
+
4503
+ <xsl:if test="@type = 'inline'">
4504
+
4505
+
4506
+ </xsl:if>
4507
+
4508
+
4509
+ <xsl:apply-templates/>
4510
+ </fo:basic-link>
4511
+ </fo:inline>
4512
+ </xsl:template><xsl:template match="*[local-name() = 'tab']">
4513
+ <!-- zero-space char -->
4514
+ <xsl:variable name="depth">
4515
+ <xsl:call-template name="getLevel">
4516
+ <xsl:with-param name="depth" select="../@depth"/>
4517
+ </xsl:call-template>
4518
+ </xsl:variable>
4519
+
4520
+ <xsl:variable name="padding">
4521
+
4522
+
4523
+
4524
+
4525
+ <xsl:choose>
4526
+ <xsl:when test="parent::iec:appendix">5</xsl:when>
4527
+ <xsl:when test="$depth = 2 and ancestor::iec:annex">6</xsl:when>
4528
+ <xsl:when test="$depth = 2">7</xsl:when>
4529
+ <xsl:otherwise>5</xsl:otherwise>
4530
+ </xsl:choose>
4531
+
4532
+
4533
+
4534
+
4535
+
4536
+
4537
+
4538
+
4539
+
4540
+
4541
+
4542
+
4543
+
4544
+
4545
+ </xsl:variable>
4546
+
4547
+ <xsl:variable name="padding-right">
4548
+ <xsl:choose>
4549
+ <xsl:when test="normalize-space($padding) = ''">0</xsl:when>
4550
+ <xsl:otherwise>
4551
+ <xsl:value-of select="normalize-space($padding)"/>
4552
+ </xsl:otherwise>
4553
+ </xsl:choose>
4554
+ </xsl:variable>
4555
+
4556
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
4557
+
4558
+ <xsl:choose>
4559
+ <xsl:when test="$language = 'zh'">
4560
+ <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
4561
+ </xsl:when>
4562
+ <xsl:when test="../../@inline-header = 'true'">
4563
+ <fo:inline font-size="90%">
4564
+ <xsl:call-template name="insertNonBreakSpaces">
4565
+ <xsl:with-param name="count" select="$padding-right"/>
4566
+ </xsl:call-template>
4567
+ </fo:inline>
4568
+ </xsl:when>
4569
+ <xsl:otherwise>
4570
+ <fo:inline padding-right="{$padding-right}mm">​</fo:inline>
4571
+ </xsl:otherwise>
4572
+ </xsl:choose>
4573
+
4574
+ </xsl:template><xsl:template name="insertNonBreakSpaces">
4575
+ <xsl:param name="count"/>
4576
+ <xsl:if test="$count &gt; 0">
4577
+ <xsl:text> </xsl:text>
4578
+ <xsl:call-template name="insertNonBreakSpaces">
4579
+ <xsl:with-param name="count" select="$count - 1"/>
4580
+ </xsl:call-template>
4581
+ </xsl:if>
4582
+ </xsl:template><xsl:template match="*[local-name() = 'domain']">
4583
+ <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
4584
+ <xsl:text> </xsl:text>
4585
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']">
4586
+ <fo:block xsl:use-attribute-sets="admitted-style">
4587
+ <xsl:apply-templates/>
4588
+ </fo:block>
4589
+ </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
4590
+ <xsl:variable name="title-deprecated">
4591
+ <xsl:call-template name="getTitle">
4592
+ <xsl:with-param name="name" select="'title-deprecated'"/>
4593
+ </xsl:call-template>
4594
+ </xsl:variable>
4595
+ <fo:block xsl:use-attribute-sets="deprecates-style">
4596
+ <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
4597
+ </fo:block>
4598
+ </xsl:template><xsl:template match="*[local-name() = 'definition']">
4599
+ <fo:block xsl:use-attribute-sets="definition-style">
4600
+ <xsl:apply-templates/>
4601
+ </fo:block>
4602
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]">
4603
+ <xsl:apply-templates/>
4604
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p']">
4605
+ <fo:inline> <xsl:apply-templates/></fo:inline>
4606
+ <fo:block> </fo:block>
4607
+ </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
4608
+
4609
+ <fo:block>
4610
+ <xsl:call-template name="setId"/>
4611
+
4612
+
4613
+
4614
+
4615
+
4616
+
4617
+
4618
+
4619
+
4620
+
4621
+ <xsl:apply-templates/>
4622
+ </fo:block>
4623
+
4624
+
4625
+
4626
+ </xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
4627
+ <fo:block break-after="page"/>
4628
+ <fo:block>
4629
+ <xsl:call-template name="setId"/>
4630
+ <xsl:apply-templates/>
4631
+ </fo:block>
4632
+ </xsl:template><xsl:template match="*[local-name() = 'clause']">
4633
+ <fo:block>
4634
+ <xsl:call-template name="setId"/>
4635
+ <xsl:apply-templates/>
4636
+ </fo:block>
4637
+ </xsl:template><xsl:template match="*[local-name() = 'definitions']">
4638
+ <fo:block id="{@id}">
4639
+ <xsl:apply-templates/>
4640
+ </fo:block>
4641
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
4642
+
4643
+ <fo:block id="{@id}">
4644
+ <xsl:apply-templates/>
4645
+ </fo:block>
4646
+ </xsl:template><xsl:template match="*[local-name() = 'annex']">
4647
+ <fo:block break-after="page"/>
4648
+ <fo:block id="{@id}">
4649
+
4650
+ </fo:block>
4651
+ <xsl:apply-templates/>
4652
+ </xsl:template><xsl:template match="*[local-name() = 'review']">
4653
+ <!-- comment 2019-11-29 -->
4654
+ <!-- <fo:block font-weight="bold">Review:</fo:block>
4655
+ <xsl:apply-templates /> -->
4656
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
4657
+ <!-- 0xA0 to space replacement -->
4658
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
4659
+ </xsl:template><xsl:template match="*[local-name() = 'errata']">
4660
+ <!-- <row>
4661
+ <date>05-07-2013</date>
4662
+ <type>Editorial</type>
4663
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
4664
+ <pages>D-3</pages>
4665
+ </row>
4666
+ -->
4667
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
4668
+ <fo:table-column column-width="20mm"/>
4669
+ <fo:table-column column-width="23mm"/>
4670
+ <fo:table-column column-width="107mm"/>
4671
+ <fo:table-column column-width="15mm"/>
4672
+ <fo:table-body>
4673
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
4674
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
4675
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
4676
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
4677
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
4678
+ </fo:table-row>
4679
+ <xsl:apply-templates/>
4680
+ </fo:table-body>
4681
+ </fo:table>
4682
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']">
4683
+ <fo:table-row>
4684
+ <xsl:apply-templates/>
4685
+ </fo:table-row>
4686
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
4687
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
4688
+ <fo:block><xsl:apply-templates/></fo:block>
4689
+ </fo:table-cell>
4690
+ </xsl:template><xsl:template name="convertDate">
4691
+ <xsl:param name="date"/>
4692
+ <xsl:param name="format" select="'short'"/>
4693
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
4694
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
4695
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
4696
+ <xsl:variable name="monthStr">
4697
+ <xsl:choose>
4698
+ <xsl:when test="$month = '01'">January</xsl:when>
4699
+ <xsl:when test="$month = '02'">February</xsl:when>
4700
+ <xsl:when test="$month = '03'">March</xsl:when>
4553
4701
  <xsl:when test="$month = '04'">April</xsl:when>
4554
4702
  <xsl:when test="$month = '05'">May</xsl:when>
4555
4703
  <xsl:when test="$month = '06'">June</xsl:when>
@@ -4669,27 +4817,49 @@
4669
4817
  </xsl:otherwise>
4670
4818
  </xsl:choose>
4671
4819
  </xsl:template><xsl:template name="getLevel">
4672
- <xsl:variable name="level_total" select="count(ancestor::*)"/>
4673
- <xsl:variable name="level">
4674
- <xsl:choose>
4675
- <xsl:when test="ancestor::*[local-name() = 'preface']">
4676
- <xsl:value-of select="$level_total - 2"/>
4677
- </xsl:when>
4678
- <xsl:when test="ancestor::*[local-name() = 'sections']">
4679
- <xsl:value-of select="$level_total - 2"/>
4680
- </xsl:when>
4681
- <xsl:when test="ancestor::*[local-name() = 'bibliography']">
4682
- <xsl:value-of select="$level_total - 2"/>
4683
- </xsl:when>
4684
- <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
4685
- <xsl:otherwise>
4686
- <xsl:value-of select="$level_total - 1"/>
4687
- </xsl:otherwise>
4688
- </xsl:choose>
4689
- </xsl:variable>
4690
- <xsl:value-of select="$level"/>
4691
- </xsl:template><xsl:template name="getSubSection">
4692
- <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']"/>
4820
+ <xsl:param name="depth"/>
4821
+ <xsl:choose>
4822
+ <xsl:when test="normalize-space(@depth) != ''">
4823
+ <xsl:value-of select="@depth"/>
4824
+ </xsl:when>
4825
+ <xsl:when test="normalize-space($depth) != ''">
4826
+ <xsl:value-of select="$depth"/>
4827
+ </xsl:when>
4828
+ <xsl:otherwise>
4829
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
4830
+ <xsl:variable name="level">
4831
+ <xsl:choose>
4832
+ <xsl:when test="parent::*[local-name() = 'preface']">
4833
+ <xsl:value-of select="$level_total - 1"/>
4834
+ </xsl:when>
4835
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
4836
+ <xsl:value-of select="$level_total - 2"/>
4837
+ </xsl:when>
4838
+ <!-- <xsl:when test="parent::*[local-name() = 'sections']">
4839
+ <xsl:value-of select="$level_total - 1"/>
4840
+ </xsl:when> -->
4841
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
4842
+ <xsl:value-of select="$level_total - 1"/>
4843
+ </xsl:when>
4844
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
4845
+ <xsl:value-of select="$level_total - 1"/>
4846
+ </xsl:when>
4847
+ <xsl:when test="parent::*[local-name() = 'annex']">
4848
+ <xsl:value-of select="$level_total - 1"/>
4849
+ </xsl:when>
4850
+ <xsl:when test="ancestor::*[local-name() = 'annex']">
4851
+ <xsl:value-of select="$level_total"/>
4852
+ </xsl:when>
4853
+ <xsl:when test="local-name() = 'annex'">1</xsl:when>
4854
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
4855
+ <xsl:otherwise>
4856
+ <xsl:value-of select="$level_total - 1"/>
4857
+ </xsl:otherwise>
4858
+ </xsl:choose>
4859
+ </xsl:variable>
4860
+ <xsl:value-of select="$level"/>
4861
+ </xsl:otherwise>
4862
+ </xsl:choose>
4693
4863
  </xsl:template><xsl:template name="split">
4694
4864
  <xsl:param name="pText" select="."/>
4695
4865
  <xsl:param name="sep" select="','"/>
@@ -4704,4 +4874,47 @@
4704
4874
  </xsl:if>
4705
4875
  </xsl:template><xsl:template name="getDocumentId">
4706
4876
  <xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
4877
+ </xsl:template><xsl:template name="namespaceCheck">
4878
+ <xsl:variable name="documentNS" select="namespace-uri(/*)"/>
4879
+ <xsl:variable name="XSLNS">
4880
+
4881
+
4882
+ <xsl:value-of select="document('')//*/namespace::iec"/>
4883
+
4884
+
4885
+
4886
+
4887
+
4888
+
4889
+
4890
+
4891
+
4892
+
4893
+
4894
+
4895
+ </xsl:variable>
4896
+ <xsl:if test="$documentNS != $XSLNS">
4897
+ <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
4898
+ </xsl:if>
4899
+ </xsl:template><xsl:template name="getLanguage">
4900
+ <xsl:param name="lang"/>
4901
+ <xsl:variable name="language" select="java:toLowerCase(java:java.lang.String.new($lang))"/>
4902
+ <xsl:choose>
4903
+ <xsl:when test="$language = 'en'">English</xsl:when>
4904
+ <xsl:when test="$language = 'fr'">French</xsl:when>
4905
+ <xsl:when test="$language = 'de'">Deutsch</xsl:when>
4906
+ <xsl:when test="$language = 'cn'">Chinese</xsl:when>
4907
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
4908
+ </xsl:choose>
4909
+ </xsl:template><xsl:template name="setId">
4910
+ <xsl:attribute name="id">
4911
+ <xsl:choose>
4912
+ <xsl:when test="@id">
4913
+ <xsl:value-of select="@id"/>
4914
+ </xsl:when>
4915
+ <xsl:otherwise>
4916
+ <xsl:value-of select="generate-id()"/>
4917
+ </xsl:otherwise>
4918
+ </xsl:choose>
4919
+ </xsl:attribute>
4707
4920
  </xsl:template></xsl:stylesheet>