metanorma-itu 1.4.3 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +4 -32
  3. data/.gitignore +3 -0
  4. data/bin/console +1 -1
  5. data/lib/isodoc/itu/base_convert.rb +1 -0
  6. data/lib/isodoc/itu/html/_coverpage.css +9 -0
  7. data/lib/isodoc/itu/html/htmlstyle.css +54 -32
  8. data/lib/isodoc/itu/html/htmlstyle.scss +14 -8
  9. data/lib/isodoc/itu/html/scripts.html +0 -1
  10. data/lib/isodoc/itu/html/wordstyle.css +30 -18
  11. data/lib/isodoc/itu/html/wordstyle.scss +30 -18
  12. data/lib/isodoc/itu/itu.implementers-guide.xsl +1611 -1313
  13. data/lib/isodoc/itu/itu.in-force.xsl +1611 -1313
  14. data/lib/isodoc/itu/itu.recommendation-annex.xsl +1611 -1313
  15. data/lib/isodoc/itu/itu.recommendation-supplement.xsl +1611 -1313
  16. data/lib/isodoc/itu/itu.recommendation.xsl +1611 -1313
  17. data/lib/isodoc/itu/itu.resolution.xsl +1611 -1313
  18. data/lib/isodoc/itu/itu.service-publication.xsl +1611 -1313
  19. data/lib/isodoc/itu/itu.technical-paper.xsl +1611 -1313
  20. data/lib/isodoc/itu/itu.technical-report.xsl +1611 -1313
  21. data/lib/isodoc/itu/ref.rb +2 -2
  22. data/lib/{asciidoctor → metanorma}/itu/basicdoc.rng +0 -0
  23. data/lib/{asciidoctor → metanorma}/itu/biblio.rng +0 -0
  24. data/lib/{asciidoctor → metanorma}/itu/boilerplate.xml +0 -0
  25. data/lib/{asciidoctor → metanorma}/itu/cleanup.rb +1 -1
  26. data/lib/{asciidoctor → metanorma}/itu/converter.rb +3 -3
  27. data/lib/{asciidoctor → metanorma}/itu/front.rb +2 -2
  28. data/lib/{asciidoctor → metanorma}/itu/front_id.rb +1 -1
  29. data/lib/{asciidoctor → metanorma}/itu/isodoc.rng +49 -2
  30. data/lib/{asciidoctor → metanorma}/itu/itu.rng +1 -0
  31. data/lib/{asciidoctor → metanorma}/itu/reqt.rng +0 -0
  32. data/lib/{asciidoctor → metanorma}/itu/validate.rb +1 -1
  33. data/lib/metanorma/itu/version.rb +1 -1
  34. data/lib/metanorma/itu.rb +1 -0
  35. data/lib/metanorma-itu.rb +0 -1
  36. data/metanorma-itu.gemspec +1 -1
  37. metadata +16 -17
  38. data/lib/asciidoctor/itu.rb +0 -6
@@ -9,7 +9,7 @@
9
9
 
10
10
 
11
11
 
12
- <xsl:key name="kfn" match="itu:fn[local-name(..) = 'p' or ancestor::*[local-name() = 'title']]" use="@reference"/>
12
+ <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
13
13
 
14
14
 
15
15
 
@@ -540,6 +540,7 @@
540
540
  </fo:block>
541
541
  </fo:block-container>
542
542
  <fo:block-container font-family="Arial">
543
+ <xsl:variable name="annexid" select="normalize-space(/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid)"/>
543
544
  <fo:table width="100%" table-layout="fixed"> <!-- 175.4mm-->
544
545
  <fo:table-column column-width="25.2mm"/>
545
546
  <fo:table-column column-width="44.4mm"/>
@@ -638,16 +639,15 @@
638
639
  </fo:block-container>
639
640
  </fo:table-cell>
640
641
  <fo:table-cell text-align="right">
641
- <xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
642
+ <xsl:if test="$annexid != ''">
642
643
  <fo:block-container>
643
- <xsl:call-template name="setWritingMode"/>
644
+ <xsl:call-template name="setWritingMode"/>
644
645
  <fo:block font-size="18pt" font-weight="bold">
645
- <xsl:variable name="title-annex">
646
- <xsl:call-template name="getTitle">
647
- <xsl:with-param name="name" select="'title-annex'"/>
648
- </xsl:call-template>
649
- </xsl:variable>
650
- <xsl:value-of select="$title-annex"/><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
646
+ <xsl:call-template name="getLocalizedString">
647
+ <xsl:with-param name="key">annex</xsl:with-param>
648
+ </xsl:call-template>
649
+ <xsl:text> </xsl:text>
650
+ <xsl:value-of select="$annexid"/>
651
651
  </fo:block>
652
652
  </fo:block-container>
653
653
  </xsl:if>
@@ -709,14 +709,14 @@
709
709
  </xsl:choose>
710
710
  </xsl:variable>
711
711
  <xsl:variable name="meeting-date_from_str">
712
- <xsl:call-template name="convertDateLocalized">
712
+ <xsl:call-template name="convertDate">
713
713
  <xsl:with-param name="date" select="$meeting-date_from"/>
714
714
  <xsl:with-param name="format" select="$date_format"/>
715
715
  </xsl:call-template>
716
716
  </xsl:variable>
717
717
 
718
718
  <xsl:variable name="meeting-date_to_str">
719
- <xsl:call-template name="convertDateLocalized">
719
+ <xsl:call-template name="convertDate">
720
720
  <xsl:with-param name="date" select="$meeting-date_to"/>
721
721
  <xsl:with-param name="format" select="'ddMMyyyy'"/>
722
722
  </xsl:call-template>
@@ -888,13 +888,13 @@
888
888
  </xsl:otherwise>
889
889
  </xsl:choose>
890
890
 
891
- <xsl:if test="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid">
892
- <xsl:variable name="title-annex">
893
- <xsl:call-template name="getTitle">
894
- <xsl:with-param name="name" select="'title-annex'"/>
895
- </xsl:call-template>
896
- </xsl:variable>
897
- <xsl:text> — </xsl:text><xsl:value-of select="$title-annex"/><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:annexid"/>
891
+ <xsl:if test="$annexid != ''">
892
+ <xsl:text> — </xsl:text>
893
+ <xsl:call-template name="getLocalizedString">
894
+ <xsl:with-param name="key">annex</xsl:with-param>
895
+ </xsl:call-template>
896
+ <xsl:text> </xsl:text>
897
+ <xsl:value-of select="$annexid"/>
898
898
  </xsl:if>
899
899
  </fo:block>
900
900
  </fo:block-container>
@@ -963,12 +963,9 @@
963
963
  <xsl:value-of select="$linebreak"/>
964
964
  </fo:block>
965
965
  <fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
966
- <xsl:variable name="title-keywords">
967
- <xsl:call-template name="getTitle">
968
- <xsl:with-param name="name" select="'title-keywords'"/>
969
- </xsl:call-template>
970
- </xsl:variable>
971
- <xsl:value-of select="$title-keywords"/>
966
+ <xsl:call-template name="getLocalizedString">
967
+ <xsl:with-param name="key">keywords</xsl:with-param>
968
+ </xsl:call-template>
972
969
  </fo:block>
973
970
  <fo:block>
974
971
  <xsl:call-template name="insertKeywords"/>
@@ -1015,7 +1012,7 @@
1015
1012
  <xsl:if test="@level = 1">
1016
1013
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
1017
1014
  </xsl:if>
1018
- <xsl:if test="@level = 2">
1015
+ <xsl:if test="@level &gt;= 2">
1019
1016
  <xsl:attribute name="margin-top">4pt</xsl:attribute>
1020
1017
  <!-- <xsl:attribute name="margin-left">12mm</xsl:attribute> -->
1021
1018
  </xsl:if>
@@ -1031,15 +1028,15 @@
1031
1028
  <xsl:otherwise>12mm</xsl:otherwise>
1032
1029
  </xsl:choose>
1033
1030
  </xsl:if>
1034
- <xsl:if test="@level = 2">26mm</xsl:if>
1031
+ <xsl:if test="@level &gt;= 2"><xsl:value-of select="(@level - 1) * 26"/>mm</xsl:if>
1035
1032
  </xsl:when> <!-- -->
1036
1033
  <xsl:otherwise>0mm</xsl:otherwise>
1037
1034
  </xsl:choose>
1038
1035
  </xsl:attribute>
1039
1036
  <fo:list-item>
1040
1037
  <fo:list-item-label end-indent="label-end()">
1041
- <xsl:if test="@level =2">
1042
- <xsl:attribute name="start-indent">12mm</xsl:attribute>
1038
+ <xsl:if test="@level &gt;= 2">
1039
+ <xsl:attribute name="start-indent"><xsl:value-of select="(@level - 1) * 12"/>mm</xsl:attribute>
1043
1040
  </xsl:if>
1044
1041
  <fo:block>
1045
1042
  <xsl:if test="@section">
@@ -1233,9 +1230,6 @@
1233
1230
  <!-- ============================= -->
1234
1231
  <!-- CONTENTS -->
1235
1232
  <!-- ============================= -->
1236
- <xsl:template match="node()" mode="contents">
1237
- <xsl:apply-templates mode="contents"/>
1238
- </xsl:template>
1239
1233
 
1240
1234
  <!-- element with title -->
1241
1235
  <xsl:template match="*[itu:title]" mode="contents">
@@ -1258,7 +1252,7 @@
1258
1252
 
1259
1253
  <xsl:variable name="display">
1260
1254
  <xsl:choose>
1261
- <xsl:when test="$level &gt;= 3">false</xsl:when>
1255
+ <xsl:when test="$level &gt; $toc_level">false</xsl:when>
1262
1256
  <xsl:when test="$section = '' and $type = 'clause' and $level &gt;= 2">false</xsl:when>
1263
1257
  <xsl:otherwise>true</xsl:otherwise>
1264
1258
  </xsl:choose>
@@ -1298,10 +1292,7 @@
1298
1292
  <xsl:template match="itu:br" mode="contents_item" priority="2">
1299
1293
  <fo:inline> </fo:inline>
1300
1294
  </xsl:template>
1301
-
1302
1295
 
1303
-
1304
- <xsl:template match="itu:bibitem" mode="contents"/>
1305
1296
 
1306
1297
  <xsl:template match="itu:references" mode="contents">
1307
1298
  <xsl:apply-templates mode="contents"/>
@@ -1411,7 +1402,7 @@
1411
1402
  <!-- ============================= -->
1412
1403
  <!-- PARAGRAPHS -->
1413
1404
  <!-- ============================= -->
1414
- <xsl:template match="itu:p | itu:sections/itu:p">
1405
+ <xsl:template match="itu:p | itu:sections/itu:p" name="paragraph">
1415
1406
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
1416
1407
  <xsl:variable name="element-name">
1417
1408
  <xsl:choose>
@@ -1471,115 +1462,6 @@
1471
1462
  </xsl:if>
1472
1463
  </xsl:template>
1473
1464
 
1474
- <!-- <xsl:template match="itu:note">
1475
- <fo:block id="{@id}">
1476
- <xsl:apply-templates />
1477
- </fo:block>
1478
- </xsl:template>
1479
-
1480
- <xsl:template match="itu:note/itu:p" name="note">
1481
- <fo:block font-size="11pt" space-before="4pt" text-align="justify">
1482
- <xsl:if test="ancestor::itu:figure">
1483
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1484
- </xsl:if>
1485
- <xsl:apply-templates select="../itu:name" mode="presentation"/>
1486
- <xsl:apply-templates />
1487
- </fo:block>
1488
- </xsl:template> -->
1489
-
1490
-
1491
- <!-- ============================= -->
1492
- <!-- ============================= -->
1493
-
1494
-
1495
- <!-- ============================= -->
1496
- <!-- Bibliography -->
1497
- <!-- ============================= -->
1498
-
1499
- <!-- Example: [ITU-T A.23] ITU-T A.23, Recommendation ITU-T A.23, Annex A (2014), Guide for ITU-T and ISO/IEC JTC 1 cooperation. -->
1500
- <xsl:template match="itu:bibitem">
1501
- <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
1502
- <xsl:if test="$doctype = 'implementers-guide'">
1503
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1504
- <xsl:attribute name="text-indent">0mm</xsl:attribute>
1505
- </xsl:if>
1506
-
1507
- <xsl:variable name="bibitem_label">
1508
- <xsl:choose>
1509
- <xsl:when test="itu:docidentifier[@type = 'metanorma']">
1510
- <xsl:value-of select="itu:docidentifier[@type = 'metanorma']"/>
1511
- </xsl:when>
1512
- <xsl:otherwise>
1513
- <fo:inline padding-right="5mm">
1514
- <xsl:text>[</xsl:text>
1515
- <xsl:value-of select="itu:docidentifier"/>
1516
- <xsl:text>] </xsl:text>
1517
- </fo:inline>
1518
- </xsl:otherwise>
1519
- </xsl:choose>
1520
- </xsl:variable>
1521
-
1522
- <xsl:variable name="bibitem_body">
1523
- <xsl:text> </xsl:text>
1524
- <xsl:choose>
1525
- <xsl:when test="itu:docidentifier[@type = 'metanorma']">
1526
- <xsl:if test="itu:docidentifier[not(@type) or not(@type = 'metanorma')]">
1527
- <xsl:value-of select="itu:docidentifier[not(@type) or not(@type = 'metanorma')]"/>
1528
- <xsl:text>, </xsl:text>
1529
- </xsl:if>
1530
- </xsl:when>
1531
- <xsl:otherwise>
1532
- <xsl:value-of select="itu:docidentifier"/>
1533
- <xsl:if test="itu:title">
1534
- <xsl:text>, </xsl:text>
1535
- </xsl:if>
1536
- </xsl:otherwise>
1537
- </xsl:choose>
1538
- <xsl:if test="itu:title">
1539
- <fo:inline font-style="italic">
1540
- <xsl:choose>
1541
- <xsl:when test="itu:title[@type = 'main' and @language = 'en']">
1542
- <xsl:value-of select="itu:title[@type = 'main' and @language = 'en']"/>
1543
- </xsl:when>
1544
- <xsl:otherwise>
1545
- <xsl:value-of select="itu:title"/>
1546
- </xsl:otherwise>
1547
- </xsl:choose>
1548
- </fo:inline>
1549
- </xsl:if>
1550
- <xsl:if test="itu:formattedref and not(itu:docidentifier[@type = 'metanorma'])">, </xsl:if>
1551
- <xsl:apply-templates select="itu:formattedref"/>
1552
- </xsl:variable>
1553
-
1554
- <xsl:choose>
1555
- <xsl:when test="$doctype = 'implementers-guide'">
1556
- <fo:table width="100%" table-layout="fixed">
1557
- <fo:table-column column-width="20%"/>
1558
- <fo:table-column column-width="80%"/>
1559
- <fo:table-body>
1560
- <fo:table-row>
1561
- <fo:table-cell><fo:block><xsl:copy-of select="$bibitem_label"/></fo:block></fo:table-cell>
1562
- <fo:table-cell><fo:block><xsl:copy-of select="$bibitem_body"/></fo:block></fo:table-cell>
1563
- </fo:table-row>
1564
- </fo:table-body>
1565
- </fo:table>
1566
- </xsl:when>
1567
- <xsl:otherwise>
1568
- <xsl:copy-of select="$bibitem_label"/>
1569
- <xsl:copy-of select="$bibitem_body"/>
1570
- </xsl:otherwise>
1571
- </xsl:choose>
1572
-
1573
- </fo:block>
1574
- </xsl:template>
1575
- <xsl:template match="itu:bibitem/itu:docidentifier"/>
1576
-
1577
- <xsl:template match="itu:bibitem/itu:title"/>
1578
-
1579
- <xsl:template match="itu:formattedref">
1580
- <xsl:apply-templates/>
1581
- </xsl:template>
1582
-
1583
1465
 
1584
1466
  <!-- ============================= -->
1585
1467
  <!-- ============================= -->
@@ -1636,7 +1518,7 @@
1636
1518
  </fo:block>
1637
1519
  </xsl:template>
1638
1520
 
1639
- <xsl:template match="itu:title">
1521
+ <xsl:template match="itu:title" name="title">
1640
1522
 
1641
1523
  <xsl:variable name="level">
1642
1524
  <xsl:call-template name="getLevel"/>
@@ -1768,7 +1650,7 @@
1768
1650
  <xsl:otherwise>5mm</xsl:otherwise>
1769
1651
  </xsl:choose>
1770
1652
  </xsl:attribute>
1771
- <xsl:apply-templates select="ancestor::itu:term[1]/itu:name" mode="presentation"/>
1653
+ <xsl:apply-templates select="ancestor::itu:term[1]/itu:name"/>
1772
1654
  </fo:inline>
1773
1655
  <fo:inline font-weight="bold">
1774
1656
  <xsl:call-template name="setStyle_preferred"/>
@@ -1846,58 +1728,6 @@
1846
1728
  </fo:footnote>
1847
1729
  </xsl:template>
1848
1730
 
1849
- <xsl:variable name="p_fn">
1850
- <xsl:for-each select="//itu:fn[local-name(..) = 'p' or ancestor::*[local-name() = 'title']][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
1851
- <!-- copy unique fn -->
1852
- <fn gen_id="{generate-id(.)}">
1853
- <xsl:copy-of select="@*"/>
1854
- <xsl:copy-of select="node()"/>
1855
- </fn>
1856
- </xsl:for-each>
1857
- </xsl:variable>
1858
-
1859
- <xsl:template match="itu:fn[local-name(..) = 'p' or ancestor::*[local-name() = 'title']]" priority="2">
1860
- <xsl:variable name="gen_id" select="generate-id(.)"/>
1861
- <xsl:variable name="reference" select="@reference"/>
1862
- <xsl:variable name="number">
1863
- <!-- <xsl:number level="any" count="itu:p/itu:fn"/> -->
1864
- <xsl:value-of select="count(xalan:nodeset($p_fn)//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
1865
- </xsl:variable>
1866
- <xsl:variable name="count_title_footnotes" select="count(/itu:itu-standard/itu:bibdata/itu:note[@type='title-footnote'])"/>
1867
- <xsl:variable name="count_bibitem_notes" select="count(//itu:bibitem/itu:note)"/>
1868
- <xsl:variable name="current_fn_number" select="$number + $count_title_footnotes + $count_bibitem_notes"/>
1869
- <xsl:choose>
1870
- <xsl:when test="xalan:nodeset($p_fn)//fn[@gen_id = $gen_id]">
1871
- <fo:footnote>
1872
- <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
1873
- <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
1874
- <xsl:value-of select="$current_fn_number"/>
1875
- </fo:basic-link>
1876
- </fo:inline>
1877
- <fo:footnote-body>
1878
- <fo:block font-size="11pt" margin-bottom="12pt" text-align="justify" font-style="normal" font-weight="normal">
1879
- <xsl:if test="$doctype = 'service-publication'">
1880
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1881
- </xsl:if>
1882
- <fo:inline id="footnote_{@reference}_{$number}" font-size="85%" padding-right="2mm" keep-with-next.within-line="always" baseline-shift="30%">
1883
- <xsl:value-of select="$current_fn_number"/>
1884
- </fo:inline>
1885
- <xsl:for-each select="itu:p">
1886
- <xsl:apply-templates/>
1887
- </xsl:for-each>
1888
- </fo:block>
1889
- </fo:footnote-body>
1890
- </fo:footnote>
1891
- </xsl:when>
1892
- <xsl:otherwise>
1893
- <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
1894
- <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
1895
- <xsl:value-of select="$current_fn_number"/>
1896
- </fo:basic-link>
1897
- </fo:inline>
1898
- </xsl:otherwise>
1899
- </xsl:choose>
1900
- </xsl:template>
1901
1731
 
1902
1732
 
1903
1733
  <xsl:template match="*[local-name()='tt']" priority="2">
@@ -1928,11 +1758,11 @@
1928
1758
  [b-ASM] b-ASM, http://www.eecs.umich.edu/gasm/ (accessed 20 March 2018).
1929
1759
  [b-Börger & Stärk] b-Börger & Stärk, Börger, E., and Stärk, R. S. (2003), Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag.
1930
1760
  -->
1931
- <xsl:template match="itu:annex//itu:bibitem">
1761
+ <xsl:template match="itu:annex//itu:bibitem" priority="3">
1932
1762
  <fo:block margin-top="6pt" margin-left="10mm" text-indent="-10mm">
1933
- <fo:inline id="{@id}" padding-right="5mm">[<xsl:value-of select="itu:docidentifier"/>]</fo:inline>
1763
+ <fo:inline id="{@id}" padding-right="5mm">[<xsl:value-of select="itu:docidentifier[not(@type = 'metanorma-ordinal')]"/>]</fo:inline>
1934
1764
  <xsl:text> </xsl:text>
1935
- <xsl:apply-templates select="itu:docidentifier" mode="content"/>
1765
+ <xsl:apply-templates select="itu:docidentifier[not(@type = 'metanorma-ordinal')]" mode="content"/>
1936
1766
  <xsl:if test="node()[local-name(.) != current()/itu:docidentifier]">, </xsl:if>
1937
1767
  <xsl:apply-templates/>
1938
1768
  </fo:block>
@@ -1970,8 +1800,8 @@
1970
1800
  <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" priority="2"/>
1971
1801
  <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" mode="process">
1972
1802
  <fo:block id="{@id}">
1973
- <xsl:apply-templates select="itu:name" mode="presentation"/>
1974
- <xsl:apply-templates mode="process"/>
1803
+ <xsl:apply-templates select="itu:name"/>
1804
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
1975
1805
  </fo:block>
1976
1806
  </xsl:template>
1977
1807
  <xsl:template match="itu:ul//itu:note/itu:name | itu:ol//itu:note/itu:name" mode="process" priority="2"/>
@@ -2116,7 +1946,7 @@
2116
1946
  </fo:table-cell>
2117
1947
  <fo:table-cell display-align="center">
2118
1948
  <fo:block text-align="right" margin-left="0mm">
2119
- <xsl:apply-templates select="../itu:name" mode="presentation"/>
1949
+ <xsl:apply-templates select="../itu:name" mode="formula_number"/>
2120
1950
  </fo:block>
2121
1951
  </fo:table-cell>
2122
1952
  </fo:table-row>
@@ -2130,20 +1960,6 @@
2130
1960
  </xsl:template>
2131
1961
 
2132
1962
 
2133
- <xsl:template match="itu:references[@normative='true']">
2134
- <fo:block id="{@id}">
2135
- <xsl:apply-templates/>
2136
- </fo:block>
2137
- </xsl:template>
2138
-
2139
- <xsl:template match="itu:references[not(@normative='true')]">
2140
- <fo:block break-after="page"/>
2141
- <fo:block id="{@id}">
2142
- <xsl:apply-templates/>
2143
- </fo:block>
2144
- </xsl:template>
2145
-
2146
-
2147
1963
 
2148
1964
  <xsl:template name="insertHeaderFooter">
2149
1965
  <fo:static-content flow-name="footer-even" font-family="Times New Roman" font-size="11pt" role="artifact">
@@ -2348,55 +2164,32 @@
2348
2164
  </xsl:if>
2349
2165
  </xsl:template>
2350
2166
 
2351
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
2352
-
2353
- <title-annex lang="en">Annex </title-annex>
2354
- <title-annex lang="fr">Annexe </title-annex>
2355
-
2356
- <title-annex lang="zh">Annex </title-annex>
2357
-
2358
-
2167
+ <xsl:variable name="titles_">
2359
2168
 
2360
2169
  <title-edition lang="en">
2361
2170
 
2362
- <xsl:text>Edition </xsl:text>
2363
-
2364
-
2171
+ <xsl:text>Edition </xsl:text>
2172
+
2365
2173
  </title-edition>
2366
2174
 
2367
2175
  <title-edition lang="fr">
2368
-
2369
- <xsl:text>Édition </xsl:text>
2370
-
2176
+ <xsl:text>Édition </xsl:text>
2371
2177
  </title-edition>
2372
2178
 
2373
-
2179
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
2374
2180
  <title-toc lang="en">
2375
2181
 
2376
2182
 
2377
- <xsl:text>Table of Contents</xsl:text>
2378
-
2379
2183
 
2380
2184
  </title-toc>
2381
2185
  <title-toc lang="fr">
2186
+ <xsl:text>Sommaire</xsl:text>
2187
+ </title-toc>
2188
+ <title-toc lang="zh">
2382
2189
 
2383
- <xsl:text>Sommaire</xsl:text>
2384
-
2385
-
2386
- </title-toc>
2387
-
2388
- <title-toc lang="zh">Contents</title-toc>
2389
-
2390
-
2391
-
2392
- <title-page lang="en">Page</title-page>
2393
- <title-page lang="fr">Page</title-page>
2394
-
2395
- <title-key lang="en">Key</title-key>
2396
- <title-key lang="fr">Légende</title-key>
2397
-
2398
- <title-where lang="en">where</title-where>
2399
- <title-where lang="fr">où</title-where>
2190
+ <xsl:text>Contents</xsl:text>
2191
+
2192
+ </title-toc>
2400
2193
 
2401
2194
  <title-descriptors lang="en">Descriptors</title-descriptors>
2402
2195
 
@@ -2412,32 +2205,9 @@
2412
2205
  </title-part>
2413
2206
  <title-part lang="zh">第 # 部分:</title-part>
2414
2207
 
2415
- <title-subpart lang="en">
2416
-
2417
- </title-subpart>
2418
- <title-subpart lang="fr">
2419
-
2420
- </title-subpart>
2421
-
2422
- <title-modified lang="en">modified</title-modified>
2423
- <title-modified lang="fr">modifiée</title-modified>
2424
-
2425
- <title-modified lang="zh">modified</title-modified>
2426
-
2208
+ <title-subpart lang="en">Sub-part #</title-subpart>
2209
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
2427
2210
 
2428
-
2429
- <title-source lang="en">
2430
-
2431
- <xsl:text>SOURCE</xsl:text>
2432
-
2433
-
2434
- </title-source>
2435
-
2436
- <title-keywords lang="en">Keywords</title-keywords>
2437
-
2438
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
2439
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2440
-
2441
2211
  <title-list-tables lang="en">List of Tables</title-list-tables>
2442
2212
 
2443
2213
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -2446,41 +2216,12 @@
2446
2216
 
2447
2217
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
2448
2218
 
2449
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
2450
-
2451
- <title-abstract lang="en">Abstract</title-abstract>
2452
-
2453
2219
  <title-summary lang="en">Summary</title-summary>
2454
2220
 
2455
- <title-in lang="en">in </title-in>
2456
-
2457
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
2458
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
2459
-
2460
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
2461
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
2462
-
2463
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
2464
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
2465
-
2466
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
2467
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
2468
-
2469
- <title-obligation-normative lang="en">normative</title-obligation-normative>
2470
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
2471
-
2472
- <title-caution lang="en">CAUTION</title-caution>
2473
- <title-caution lang="zh">注意</title-caution>
2474
-
2475
- <title-warning lang="en">WARNING</title-warning>
2476
- <title-warning lang="zh">警告</title-warning>
2477
-
2478
- <title-amendment lang="en">AMENDMENT</title-amendment>
2479
-
2480
2221
  <title-continued lang="en">(continued)</title-continued>
2481
2222
  <title-continued lang="fr">(continué)</title-continued>
2482
2223
 
2483
- </xsl:variable><xsl:variable name="bibdata">
2224
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
2484
2225
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
2485
2226
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
2486
2227
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -2509,15 +2250,32 @@
2509
2250
  </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
2510
2251
 
2511
2252
 
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+
2512
2260
  <xsl:attribute name="font-family">Times New Roman, STIX Two Math</xsl:attribute>
2513
2261
  <xsl:attribute name="font-size">12pt</xsl:attribute>
2514
2262
 
2263
+
2264
+
2265
+
2266
+
2267
+
2268
+
2269
+
2515
2270
  </xsl:attribute-set><xsl:attribute-set name="link-style">
2516
2271
 
2517
2272
 
2518
2273
 
2519
2274
 
2520
2275
 
2276
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
2277
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2278
+
2521
2279
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2522
2280
  <xsl:attribute name="white-space">pre</xsl:attribute>
2523
2281
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -2527,14 +2285,21 @@
2527
2285
 
2528
2286
 
2529
2287
 
2288
+
2289
+
2290
+
2291
+
2530
2292
  <xsl:attribute name="font-family">Courier New</xsl:attribute>
2531
2293
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
2532
2294
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2533
2295
 
2296
+
2534
2297
 
2535
2298
 
2536
2299
 
2537
2300
 
2301
+
2302
+
2538
2303
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
2539
2304
 
2540
2305
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -2576,6 +2341,7 @@
2576
2341
 
2577
2342
 
2578
2343
 
2344
+
2579
2345
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2580
2346
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
2581
2347
 
@@ -2590,7 +2356,9 @@
2590
2356
 
2591
2357
 
2592
2358
 
2359
+
2593
2360
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
2361
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2594
2362
 
2595
2363
 
2596
2364
 
@@ -2617,6 +2385,7 @@
2617
2385
 
2618
2386
 
2619
2387
 
2388
+
2620
2389
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2621
2390
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
2622
2391
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -2637,105 +2406,109 @@
2637
2406
 
2638
2407
  </xsl:attribute-set><xsl:variable name="table-border_">
2639
2408
 
2640
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
2641
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2642
-
2409
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
2410
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2411
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2643
2412
 
2644
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2645
- <xsl:attribute name="text-align">center</xsl:attribute>
2646
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2647
2413
 
2648
2414
 
2649
2415
 
2650
2416
 
2651
-
2652
2417
 
2653
2418
 
2654
2419
 
2655
-
2656
2420
 
2657
2421
 
2422
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2423
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
2658
2424
 
2659
2425
 
2660
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2661
2426
 
2662
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2663
2427
 
2664
2428
 
2665
2429
 
2666
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2667
2430
 
2668
2431
 
2669
2432
 
2670
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
2433
+
2671
2434
 
2672
2435
 
2436
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
2437
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
2438
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
2439
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2440
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2673
2441
 
2674
- <xsl:attribute name="color">blue</xsl:attribute>
2675
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2676
2442
 
2677
2443
 
2678
2444
 
2679
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
2680
2445
 
2681
2446
 
2682
2447
 
2683
- <xsl:attribute name="color">blue</xsl:attribute>
2684
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2685
2448
 
2686
2449
 
2687
2450
 
2688
2451
 
2689
- </xsl:attribute-set><xsl:attribute-set name="note-style">
2690
2452
 
2691
2453
 
2692
2454
 
2693
2455
 
2694
-
2695
2456
 
2696
2457
 
2697
2458
 
2698
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2699
- <xsl:attribute name="space-before">4pt</xsl:attribute>
2700
- <xsl:attribute name="text-align">justify</xsl:attribute>
2701
2459
 
2702
2460
 
2461
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2462
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2463
+
2703
2464
 
2465
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2466
+ <xsl:attribute name="text-align">center</xsl:attribute>
2467
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2704
2468
 
2705
2469
 
2706
2470
 
2707
2471
 
2472
+
2708
2473
 
2709
2474
 
2710
- </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
2711
2475
 
2476
+
2712
2477
 
2713
2478
 
2714
2479
 
2715
2480
 
2481
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
2482
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
2716
2483
 
2717
2484
 
2718
2485
 
2719
2486
 
2487
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
2488
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2720
2489
 
2721
2490
 
2722
2491
 
2723
2492
 
2724
2493
 
2725
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2726
2494
 
2727
2495
 
2496
+
2728
2497
 
2498
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
2729
2499
 
2730
- </xsl:attribute-set><xsl:attribute-set name="note-p-style">
2731
2500
 
2732
2501
 
2502
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
2503
+
2504
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
2505
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2506
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2507
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2508
+ <xsl:attribute name="display-align">center</xsl:attribute>
2733
2509
 
2734
-
2735
2510
 
2736
2511
 
2737
-
2738
- <xsl:attribute name="space-before">4pt</xsl:attribute>
2739
2512
 
2740
2513
 
2741
2514
 
@@ -2743,70 +2516,272 @@
2743
2516
 
2744
2517
 
2745
2518
 
2746
- </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2747
2519
 
2748
2520
 
2749
2521
 
2522
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
2523
+ <xsl:attribute name="display-align">center</xsl:attribute>
2524
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2525
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2750
2526
 
2751
-
2752
- <xsl:attribute name="margin-top">4pt</xsl:attribute>
2753
2527
 
2754
2528
 
2755
2529
 
2756
- </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2757
2530
 
2758
-
2759
2531
 
2760
2532
 
2761
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
2762
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
2533
+ <xsl:attribute name="display-align">before</xsl:attribute>
2763
2534
 
2764
2535
 
2765
2536
 
2766
2537
 
2767
2538
 
2768
2539
 
2769
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
2770
- <xsl:attribute name="margin-left">12mm</xsl:attribute>
2771
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
2772
2540
 
2541
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2542
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2543
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2544
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2545
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2773
2546
 
2774
- </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2775
2547
 
2776
2548
 
2777
- <xsl:attribute name="text-align">right</xsl:attribute>
2778
-
2779
-
2780
- </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2781
2549
 
2782
2550
 
2783
2551
 
2784
2552
 
2553
+
2785
2554
 
2786
2555
 
2787
2556
 
2788
- </xsl:attribute-set><xsl:attribute-set name="origin-style">
2557
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
2558
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2559
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2789
2560
 
2790
2561
 
2791
2562
 
2792
2563
 
2793
- </xsl:attribute-set><xsl:attribute-set name="term-style">
2794
2564
 
2795
- </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2796
2565
 
2797
2566
 
2798
-
2799
2567
 
2568
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
2569
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2800
2570
 
2801
2571
 
2802
2572
 
2803
2573
 
2804
2574
 
2805
-
2806
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2807
- <xsl:attribute name="text-align">center</xsl:attribute>
2808
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
2809
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2575
+
2576
+ <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
2577
+ <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
2578
+ <xsl:attribute name="text-indent">-5mm</xsl:attribute>
2579
+ <xsl:attribute name="start-indent">5mm</xsl:attribute>
2580
+
2581
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
2582
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2583
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2584
+
2585
+
2586
+
2587
+
2588
+
2589
+
2590
+
2591
+
2592
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2593
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
2594
+ <xsl:attribute name="font-size">70%</xsl:attribute>
2595
+
2596
+
2597
+
2598
+
2599
+
2600
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
2601
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2602
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2603
+
2604
+
2605
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
2606
+
2607
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
2608
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2609
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2610
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2611
+
2612
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
2613
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2614
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2615
+
2616
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
2617
+
2618
+
2619
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
2620
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2621
+
2622
+
2623
+
2624
+
2625
+
2626
+
2627
+
2628
+
2629
+
2630
+
2631
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2632
+
2633
+
2634
+
2635
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2636
+
2637
+
2638
+
2639
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
2640
+
2641
+
2642
+
2643
+ <xsl:attribute name="color">blue</xsl:attribute>
2644
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2645
+
2646
+
2647
+
2648
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
2649
+
2650
+
2651
+
2652
+ <xsl:attribute name="color">blue</xsl:attribute>
2653
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2654
+
2655
+
2656
+
2657
+
2658
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
2659
+
2660
+
2661
+
2662
+
2663
+
2664
+
2665
+
2666
+
2667
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2668
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
2669
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2670
+
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
2680
+
2681
+
2682
+
2683
+
2684
+
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+
2691
+
2692
+
2693
+
2694
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2695
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
2696
+
2697
+
2698
+
2699
+
2700
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
2701
+
2702
+
2703
+
2704
+
2705
+
2706
+
2707
+
2708
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
2709
+
2710
+
2711
+
2712
+
2713
+
2714
+
2715
+
2716
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2717
+
2718
+
2719
+
2720
+
2721
+
2722
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
2723
+
2724
+
2725
+
2726
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2727
+
2728
+
2729
+
2730
+
2731
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
2732
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+
2739
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2740
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2741
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2742
+
2743
+
2744
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2745
+
2746
+
2747
+ <xsl:attribute name="text-align">right</xsl:attribute>
2748
+
2749
+
2750
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2751
+
2752
+
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
2759
+
2760
+
2761
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
2762
+
2763
+
2764
+
2765
+
2766
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
2767
+
2768
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
2769
+
2770
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2771
+
2772
+
2773
+
2774
+
2775
+
2776
+
2777
+
2778
+
2779
+
2780
+
2781
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2782
+ <xsl:attribute name="text-align">center</xsl:attribute>
2783
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2784
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2810
2785
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2811
2786
 
2812
2787
 
@@ -2814,114 +2789,373 @@
2814
2789
 
2815
2790
 
2816
2791
 
2817
-
2792
+
2793
+
2794
+
2795
+
2796
+
2797
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
2798
+
2799
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2800
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2801
+
2802
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
2803
+ <xsl:attribute name="text-align">center</xsl:attribute>
2804
+
2805
+
2806
+
2807
+
2808
+
2809
+
2810
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2811
+
2812
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2813
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2814
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2815
+
2816
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2817
+
2818
+
2819
+
2820
+
2821
+
2822
+ <xsl:attribute name="width">75%</xsl:attribute>
2823
+ <xsl:attribute name="content-height">100%</xsl:attribute>
2824
+ <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
2825
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
2826
+
2827
+
2828
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
2829
+
2830
+
2831
+
2832
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
2833
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2834
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2835
+ <xsl:attribute name="text-align">center</xsl:attribute>
2836
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2837
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2838
+
2839
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
2840
+
2841
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
2842
+
2843
+
2844
+
2845
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2846
+
2847
+
2848
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
2849
+
2850
+
2851
+
2852
+ </xsl:attribute-set><xsl:variable name="color-added-text">
2853
+ <xsl:text>rgb(0, 255, 0)</xsl:text>
2854
+ </xsl:variable><xsl:attribute-set name="add-style">
2855
+ <xsl:attribute name="color">red</xsl:attribute>
2856
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2857
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
2858
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2859
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2860
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2861
+ </xsl:attribute-set><xsl:variable name="color-deleted-text">
2862
+ <xsl:text>red</xsl:text>
2863
+ </xsl:variable><xsl:attribute-set name="del-style">
2864
+ <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
2865
+ <xsl:attribute name="text-decoration">line-through</xsl:attribute>
2866
+ </xsl:attribute-set><xsl:attribute-set name="mathml-style">
2867
+ <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
2868
+
2869
+
2870
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2871
+
2872
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
2873
+
2874
+ </xsl:attribute-set><xsl:attribute-set name="toc-style">
2875
+ <xsl:attribute name="line-height">135%</xsl:attribute>
2876
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
2877
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2878
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2879
+
2880
+
2881
+
2882
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2883
+ <xsl:attribute name="color">blue</xsl:attribute>
2884
+
2885
+
2886
+
2887
+
2888
+
2889
+
2890
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
2891
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2892
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
2893
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2894
+
2895
+
2896
+
2897
+
2898
+
2899
+
2900
+
2901
+
2902
+
2903
+ <xsl:attribute name="font-size">60%</xsl:attribute>
2904
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2905
+
2906
+
2907
+
2908
+
2909
+
2910
+
2911
+
2912
+
2913
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
2914
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2915
+ <xsl:attribute name="font-style">normal</xsl:attribute>
2916
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2917
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2918
+
2919
+
2920
+
2921
+
2922
+
2923
+
2924
+
2925
+
2926
+
2927
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2928
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2929
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2930
+
2931
+
2932
+
2933
+
2934
+
2935
+
2936
+
2937
+
2938
+
2939
+
2940
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2941
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2942
+
2943
+
2944
+
2945
+
2946
+
2947
+
2948
+
2949
+
2950
+
2951
+ <xsl:attribute name="font-size">85%</xsl:attribute>
2952
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
2953
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
2954
+
2955
+
2956
+
2957
+
2958
+
2959
+
2960
+
2961
+
2962
+
2963
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
2964
+
2965
+
2966
+
2967
+
2968
+
2969
+
2970
+
2971
+
2972
+
2973
+
2974
+
2975
+
2976
+
2977
+
2978
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2979
+
2980
+
2981
+
2982
+
2983
+
2984
+
2985
+
2986
+
2987
+
2988
+
2989
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
2990
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2991
+
2992
+
2993
+
2994
+
2995
+
2996
+
2997
+
2998
+
2999
+
3000
+
3001
+
3002
+
3003
+
3004
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
3005
+
3006
+
3007
+
3008
+
3009
+
3010
+
3011
+
3012
+
3013
+
3014
+
3015
+
3016
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
3017
+
3018
+
3019
+
3020
+
3021
+
3022
+
3023
+
3024
+
3025
+
3026
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
3027
+ <xsl:attribute name="margin-left">14mm</xsl:attribute>
3028
+ <xsl:attribute name="text-indent">-14mm</xsl:attribute>
3029
+
3030
+
3031
+
3032
+
3033
+
3034
+
3035
+
3036
+
3037
+
3038
+
3039
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
3040
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
3041
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
3042
+
3043
+
3044
+
3045
+
3046
+
3047
+
3048
+
3049
+
3050
+
3051
+
3052
+
3053
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
3054
+
3055
+
3056
+
3057
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
3058
+ <xsl:attribute name="margin-left">14mm</xsl:attribute>
3059
+ <xsl:attribute name="text-indent">-14mm</xsl:attribute>
3060
+
3061
+
3062
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
3063
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
3064
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
3065
+
3066
+
3067
+
3068
+
3069
+
3070
+
3071
+
3072
+
3073
+
3074
+
3075
+
3076
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
3077
+
3078
+
3079
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
3080
+ <xsl:attribute name="margin-left">14mm</xsl:attribute>
3081
+ <xsl:attribute name="text-indent">-14mm</xsl:attribute>
3082
+
3083
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
3084
+
2818
3085
 
3086
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
3087
+ <xsl:attribute name="margin-left">14mm</xsl:attribute>
3088
+ <xsl:attribute name="text-indent">-14mm</xsl:attribute>
2819
3089
 
3090
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
3091
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3092
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2820
3093
 
2821
-
2822
- </xsl:attribute-set><xsl:attribute-set name="formula-style">
2823
3094
 
2824
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
2825
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2826
3095
 
2827
- </xsl:attribute-set><xsl:attribute-set name="image-style">
2828
- <xsl:attribute name="text-align">center</xsl:attribute>
2829
3096
 
2830
3097
 
2831
3098
 
2832
3099
 
2833
3100
 
2834
3101
 
2835
- </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
3102
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
3103
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
2836
3104
 
2837
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2838
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
2839
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2840
3105
 
2841
- </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2842
3106
 
2843
3107
 
2844
3108
 
2845
3109
 
2846
3110
 
2847
- <xsl:attribute name="width">75%</xsl:attribute>
2848
- <xsl:attribute name="content-height">100%</xsl:attribute>
2849
- <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
2850
- <xsl:attribute name="scaling">uniform</xsl:attribute>
2851
-
2852
-
2853
- </xsl:attribute-set><xsl:attribute-set name="tt-style">
2854
3111
 
3112
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
3113
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2855
3114
 
2856
3115
 
2857
- </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
2858
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2859
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2860
- <xsl:attribute name="text-align">center</xsl:attribute>
3116
+
3117
+
3118
+
3119
+
3120
+
3121
+
3122
+
3123
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
3124
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
3125
+
3126
+
3127
+
3128
+
3129
+
3130
+
3131
+
3132
+
3133
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
3134
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2861
3135
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2862
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
3136
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
2863
3137
 
2864
- </xsl:attribute-set><xsl:attribute-set name="domain-style">
2865
-
2866
- </xsl:attribute-set><xsl:attribute-set name="admitted-style">
2867
3138
 
2868
3139
 
2869
3140
 
2870
- </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2871
3141
 
2872
3142
 
2873
- </xsl:attribute-set><xsl:attribute-set name="definition-style">
2874
3143
 
3144
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2875
3145
 
2876
3146
 
2877
- </xsl:attribute-set><xsl:variable name="color-added-text">
2878
- <xsl:text>rgb(0, 255, 0)</xsl:text>
2879
- </xsl:variable><xsl:attribute-set name="add-style">
2880
- <xsl:attribute name="color">red</xsl:attribute>
2881
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2882
- <!-- <xsl:attribute name="color">black</xsl:attribute>
2883
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2884
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2885
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2886
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
2887
- <xsl:text>red</xsl:text>
2888
- </xsl:variable><xsl:attribute-set name="del-style">
2889
- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
2890
- <xsl:attribute name="text-decoration">line-through</xsl:attribute>
2891
- </xsl:attribute-set><xsl:attribute-set name="mathml-style">
2892
- <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
2893
3147
 
2894
3148
 
2895
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2896
3149
 
2897
- </xsl:attribute-set><xsl:attribute-set name="list-style">
3150
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2898
3151
 
2899
- </xsl:attribute-set><xsl:attribute-set name="toc-style">
2900
- <xsl:attribute name="line-height">135%</xsl:attribute>
2901
- </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="OLD_processPrefaceSectionsDefault_Contents">
2902
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2903
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2904
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2905
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2906
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2907
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
3152
+
3153
+
3154
+ </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
2908
3155
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2909
3156
  <xsl:sort select="@displayorder" data-type="number"/>
2910
3157
  <xsl:apply-templates select="." mode="contents"/>
2911
3158
  </xsl:for-each>
2912
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
2913
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2914
-
2915
- <!-- Normative references -->
2916
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
2917
- <!-- Terms and definitions -->
2918
- <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"/>
2919
- <!-- Another main sections -->
2920
- <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"/>
2921
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2922
- <!-- Bibliography -->
2923
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
2924
-
2925
3159
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2926
3160
 
2927
3161
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
@@ -2938,29 +3172,11 @@
2938
3172
  <xsl:sort select="@displayorder" data-type="number"/>
2939
3173
  <xsl:apply-templates select="." mode="contents"/>
2940
3174
  </xsl:for-each>
2941
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
2942
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2943
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2944
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2945
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2946
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2947
3175
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2948
3176
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2949
3177
  <xsl:sort select="@displayorder" data-type="number"/>
2950
3178
  <xsl:apply-templates select="."/>
2951
3179
  </xsl:for-each>
2952
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
2953
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2954
-
2955
- <!-- Normative references -->
2956
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2957
- <!-- Terms and definitions -->
2958
- <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']]"/>
2959
- <!-- Another main sections -->
2960
- <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'])]"/>
2961
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2962
- <!-- Bibliography -->
2963
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2964
3180
  </xsl:template><xsl:template name="processMainSectionsDefault">
2965
3181
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
2966
3182
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -3001,43 +3217,19 @@
3001
3217
  <xsl:call-template name="getSimpleTable"/>
3002
3218
  </xsl:variable>
3003
3219
 
3004
- <!-- <xsl:if test="$namespace = 'bipm'">
3005
- <fo:block>&#xA0;</fo:block>
3006
- </xsl:if> -->
3007
-
3008
3220
 
3009
3221
  <!-- Display table's name before table as standalone block -->
3010
3222
  <!-- $namespace = 'iso' or -->
3011
3223
 
3012
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3013
-
3014
-
3015
-
3016
-
3224
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
3225
+
3017
3226
 
3018
- <xsl:call-template name="fn_name_display"/>
3019
3227
 
3228
+ <xsl:call-template name="table_name_fn_display"/>
3020
3229
 
3021
3230
 
3022
3231
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
3023
3232
 
3024
- <!-- <xsl:variable name="cols-count">
3025
- <xsl:choose>
3026
- <xsl:when test="*[local-name()='thead']">
3027
- <xsl:call-template name="calculate-columns-numbers">
3028
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
3029
- </xsl:call-template>
3030
- </xsl:when>
3031
- <xsl:otherwise>
3032
- <xsl:call-template name="calculate-columns-numbers">
3033
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
3034
- </xsl:call-template>
3035
- </xsl:otherwise>
3036
- </xsl:choose>
3037
- </xsl:variable> -->
3038
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
3039
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
3040
-
3041
3233
  <xsl:variable name="colwidths">
3042
3234
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
3043
3235
  <xsl:call-template name="calculate-column-widths">
@@ -3048,17 +3240,8 @@
3048
3240
  </xsl:variable>
3049
3241
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
3050
3242
 
3051
- <!-- <xsl:variable name="colwidths2">
3052
- <xsl:call-template name="calculate-column-widths">
3053
- <xsl:with-param name="cols-count" select="$cols-count"/>
3054
- </xsl:call-template>
3055
- </xsl:variable> -->
3056
-
3057
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
3058
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
3059
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
3060
3243
 
3061
- <xsl:variable name="margin-left">
3244
+ <xsl:variable name="margin-side">
3062
3245
  <xsl:choose>
3063
3246
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
3064
3247
  <xsl:otherwise>0</xsl:otherwise>
@@ -3066,81 +3249,69 @@
3066
3249
  </xsl:variable>
3067
3250
 
3068
3251
 
3069
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
3070
-
3071
-
3072
- <xsl:attribute name="font-size">10pt</xsl:attribute>
3073
-
3074
-
3075
- <xsl:attribute name="space-after">6pt</xsl:attribute>
3076
-
3077
-
3078
-
3079
-
3080
-
3081
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3082
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
3083
- <xsl:attribute name="space-after">18pt</xsl:attribute>
3084
-
3252
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
3253
+
3085
3254
 
3086
-
3255
+
3087
3256
 
3257
+
3088
3258
 
3259
+
3089
3260
 
3090
3261
 
3091
3262
 
3263
+ <xsl:if test="$doctype = 'service-publication' and $lang != 'ar'">
3264
+ <xsl:attribute name="font-family">Calibri</xsl:attribute>
3265
+ </xsl:if>
3092
3266
 
3267
+
3093
3268
 
3094
3269
 
3095
3270
 
3096
3271
 
3097
- <xsl:if test="$doctype = 'service-publication' and $lang != 'ar'">
3098
- <xsl:attribute name="font-family">Calibri</xsl:attribute>
3099
- </xsl:if>
3100
3272
 
3273
+ <!-- end table block-container attributes -->
3101
3274
 
3102
3275
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
3103
3276
 
3104
3277
 
3278
+ <xsl:variable name="table_width_default">100%</xsl:variable>
3105
3279
  <xsl:variable name="table_width">
3106
3280
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
3107
- 100%
3108
-
3109
-
3281
+ <xsl:value-of select="$table_width_default"/>
3110
3282
  </xsl:variable>
3111
3283
 
3284
+
3112
3285
  <xsl:variable name="table_attributes">
3113
- <attribute name="table-layout">fixed</attribute>
3114
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
3115
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
3116
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
3117
-
3118
-
3119
-
3120
-
3121
-
3122
-
3123
- <attribute name="margin-left">0mm</attribute>
3124
- <attribute name="margin-right">0mm</attribute>
3125
- <xsl:if test="$doctype = 'service-publication'">
3126
- <attribute name="border">1pt solid rgb(211,211,211)</attribute>
3127
- </xsl:if>
3128
-
3129
-
3130
-
3131
-
3132
-
3133
-
3134
-
3135
-
3136
-
3286
+
3287
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
3288
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3289
+
3290
+
3291
+
3292
+
3293
+
3294
+
3295
+
3296
+
3297
+
3298
+
3299
+ <xsl:if test="$doctype = 'service-publication'">
3300
+ <xsl:attribute name="border">1pt solid rgb(211,211,211)</xsl:attribute>
3301
+ </xsl:if>
3302
+
3303
+
3304
+
3305
+
3306
+
3307
+ </xsl:element>
3137
3308
  </xsl:variable>
3138
3309
 
3139
3310
 
3140
- <fo:table id="{@id}" table-omit-footer-at-break="true">
3311
+ <fo:table id="{@id}">
3141
3312
 
3142
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
3143
- <xsl:attribute name="{@name}">
3313
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3314
+ <xsl:attribute name="{local-name()}">
3144
3315
  <xsl:value-of select="."/>
3145
3316
  </xsl:attribute>
3146
3317
  </xsl:for-each>
@@ -3151,7 +3322,6 @@
3151
3322
  </xsl:if>
3152
3323
 
3153
3324
 
3154
-
3155
3325
  <xsl:choose>
3156
3326
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
3157
3327
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -3177,7 +3347,7 @@
3177
3347
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
3178
3348
  </xsl:when>
3179
3349
  <xsl:otherwise>
3180
- <xsl:apply-templates/>
3350
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3181
3351
  </xsl:otherwise>
3182
3352
  </xsl:choose>
3183
3353
 
@@ -3192,25 +3362,6 @@
3192
3362
  </xsl:call-template>
3193
3363
  </xsl:for-each>
3194
3364
 
3195
- <!-- insert footer as table -->
3196
- <!-- <fo:table>
3197
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
3198
- <xsl:attribute name="{@name}">
3199
- <xsl:value-of select="."/>
3200
- </xsl:attribute>
3201
- </xsl:for-each>
3202
-
3203
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
3204
- <xsl:choose>
3205
- <xsl:when test=". = 1 or . = 0">
3206
- <fo:table-column column-width="proportional-column-width(2)"/>
3207
- </xsl:when>
3208
- <xsl:otherwise>
3209
- <fo:table-column column-width="proportional-column-width({.})"/>
3210
- </xsl:otherwise>
3211
- </xsl:choose>
3212
- </xsl:for-each>
3213
- </fo:table>-->
3214
3365
 
3215
3366
 
3216
3367
 
@@ -3271,18 +3422,17 @@
3271
3422
  </xsl:otherwise>
3272
3423
  </xsl:choose>
3273
3424
 
3274
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
3425
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
3275
3426
  <xsl:param name="continued"/>
3276
3427
  <xsl:if test="normalize-space() != ''">
3277
3428
  <fo:block xsl:use-attribute-sets="table-name-style">
3278
-
3429
+
3279
3430
 
3280
3431
 
3281
3432
 
3282
3433
 
3283
3434
  <xsl:choose>
3284
3435
  <xsl:when test="$continued = 'true'">
3285
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
3286
3436
 
3287
3437
  </xsl:when>
3288
3438
  <xsl:otherwise>
@@ -3345,13 +3495,6 @@
3345
3495
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
3346
3496
  <xsl:variable name="td_text">
3347
3497
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
3348
-
3349
- <!-- <xsl:if test="$namespace = 'bipm'">
3350
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
3351
- <word><xsl:value-of select="normalize-space(.)"/></word>
3352
- </xsl:for-each>
3353
- </xsl:if> -->
3354
-
3355
3498
  </xsl:variable>
3356
3499
  <xsl:variable name="words">
3357
3500
  <xsl:variable name="string_with_added_zerospaces">
@@ -3388,7 +3531,6 @@
3388
3531
  </xsl:otherwise>
3389
3532
  </xsl:choose>
3390
3533
  </xsl:variable>
3391
-
3392
3534
 
3393
3535
  <column>
3394
3536
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -3424,7 +3566,6 @@
3424
3566
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
3425
3567
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3426
3568
  <xsl:param name="cols-count"/>
3427
- <!-- font-weight="bold" -->
3428
3569
  <fo:table-header>
3429
3570
 
3430
3571
 
@@ -3436,13 +3577,12 @@
3436
3577
  <fo:table-row>
3437
3578
  <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
3438
3579
 
3439
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
3580
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3440
3581
  <xsl:with-param name="continued">true</xsl:with-param>
3441
3582
  </xsl:apply-templates>
3442
3583
 
3443
3584
 
3444
3585
 
3445
-
3446
3586
  </fo:table-cell>
3447
3587
  </fo:table-row>
3448
3588
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3458,68 +3598,6 @@
3458
3598
  <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3459
3599
  </fo:table-footer>
3460
3600
  </xsl:if>
3461
- </xsl:template><xsl:template name="insertTableFooter2">
3462
- <xsl:param name="cols-count"/>
3463
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3464
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3465
-
3466
- <fo:table-footer>
3467
-
3468
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3469
-
3470
- <!-- if there are note(s) or fn(s) then create footer row -->
3471
- <xsl:if test="$isNoteOrFnExist = 'true'">
3472
-
3473
-
3474
-
3475
- <fo:table-row>
3476
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3477
-
3478
-
3479
-
3480
- <xsl:if test="ancestor::*[local-name()='preface']">
3481
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3482
- </xsl:if>
3483
-
3484
- <!-- fn will be processed inside 'note' processing -->
3485
-
3486
-
3487
-
3488
-
3489
-
3490
-
3491
- <!-- except gb -->
3492
-
3493
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3494
-
3495
-
3496
- <!-- show Note under table in preface (ex. abstract) sections -->
3497
- <!-- empty, because notes show at page side in main sections -->
3498
- <!-- <xsl:if test="$namespace = 'bipm'">
3499
- <xsl:choose>
3500
- <xsl:when test="ancestor::*[local-name()='preface']">
3501
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3502
- </xsl:when>
3503
- <xsl:otherwise>
3504
- <fo:block/>
3505
- </xsl:otherwise>
3506
- </xsl:choose>
3507
- </xsl:if> -->
3508
-
3509
-
3510
- <!-- horizontal row separator -->
3511
-
3512
-
3513
- <!-- fn processing -->
3514
- <xsl:call-template name="fn_display"/>
3515
-
3516
- </fo:table-cell>
3517
- </fo:table-row>
3518
-
3519
- </xsl:if>
3520
- </fo:table-footer>
3521
-
3522
- </xsl:if>
3523
3601
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
3524
3602
  <xsl:param name="table_attributes"/>
3525
3603
  <xsl:param name="colwidths"/>
@@ -3545,17 +3623,18 @@
3545
3623
  </xsl:variable>
3546
3624
 
3547
3625
  <fo:table keep-with-previous="always">
3548
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
3626
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3627
+ <xsl:variable name="name" select="local-name()"/>
3549
3628
  <xsl:choose>
3550
- <xsl:when test="@name = 'border-top'">
3551
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
3629
+ <xsl:when test="$name = 'border-top'">
3630
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3552
3631
  </xsl:when>
3553
- <xsl:when test="@name = 'border'">
3554
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3632
+ <xsl:when test="$name = 'border'">
3633
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3555
3634
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3556
3635
  </xsl:when>
3557
3636
  <xsl:otherwise>
3558
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3637
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3559
3638
  </xsl:otherwise>
3560
3639
  </xsl:choose>
3561
3640
  </xsl:for-each>
@@ -3590,22 +3669,22 @@
3590
3669
 
3591
3670
  <fo:table-body>
3592
3671
  <fo:table-row>
3593
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3594
-
3672
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3595
3673
 
3596
3674
 
3675
+
3597
3676
 
3598
3677
  <xsl:if test="ancestor::*[local-name()='preface']">
3599
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3678
+ <xsl:if test="$doctype != 'service-publication'">
3679
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3680
+ </xsl:if>
3600
3681
  </xsl:if>
3601
3682
  <xsl:if test="$doctype = 'service-publication'">
3602
3683
  <xsl:attribute name="border">none</xsl:attribute>
3603
3684
  </xsl:if>
3604
3685
 
3605
- <!-- fn will be processed inside 'note' processing -->
3606
-
3607
-
3608
3686
 
3687
+ <!-- fn will be processed inside 'note' processing -->
3609
3688
 
3610
3689
 
3611
3690
 
@@ -3619,31 +3698,17 @@
3619
3698
  <!-- for BSI (not PAS) display Notes before footnotes -->
3620
3699
 
3621
3700
 
3622
- <!-- except gb -->
3623
-
3624
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3701
+ <!-- except gb and bsi -->
3625
3702
 
3626
-
3627
- <!-- <xsl:if test="$namespace = 'bipm'">
3628
- <xsl:choose>
3629
- <xsl:when test="ancestor::*[local-name()='preface']">
3630
- show Note under table in preface (ex. abstract) sections
3631
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3632
- </xsl:when>
3633
- <xsl:otherwise>
3634
- empty, because notes show at page side in main sections
3635
- <fo:block/>
3636
- </xsl:otherwise>
3637
- </xsl:choose>
3638
- </xsl:if> -->
3703
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3704
+
3639
3705
 
3640
3706
 
3641
3707
  <!-- horizontal row separator -->
3642
3708
 
3643
3709
 
3644
3710
  <!-- fn processing -->
3645
- <xsl:call-template name="fn_display"/>
3646
-
3711
+ <xsl:call-template name="table_fn_display"/>
3647
3712
 
3648
3713
  <!-- for PAS display Notes after footnotes -->
3649
3714
 
@@ -3685,84 +3750,71 @@
3685
3750
 
3686
3751
 
3687
3752
  <xsl:apply-templates/>
3688
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3689
-
3753
+
3690
3754
  </fo:table-body>
3691
3755
 
3692
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
3693
- <xsl:choose>
3694
- <xsl:when test="substring-after(., '—') != ''">
3695
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
3696
- </xsl:when>
3697
- <xsl:otherwise>
3698
- <xsl:value-of select="."/>
3699
- </xsl:otherwise>
3700
- </xsl:choose>
3701
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
3702
- <xsl:apply-templates mode="presentation_name"/>
3703
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
3704
- <xsl:apply-templates select="."/>
3705
- </xsl:template><xsl:template match="*[local-name()='tr']">
3706
- <xsl:variable name="parent-name" select="local-name(..)"/>
3707
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3708
- <fo:table-row min-height="4mm">
3709
- <xsl:if test="$parent-name = 'thead'">
3710
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3711
-
3712
-
3713
-
3714
-
3715
-
3716
-
3717
-
3718
- <xsl:if test="$doctype = 'service-publication'">
3719
- <xsl:attribute name="border-bottom">1.1pt solid black</xsl:attribute>
3720
- </xsl:if>
3721
-
3722
-
3723
- </xsl:if>
3724
- <xsl:if test="$parent-name = 'tfoot'">
3725
-
3726
-
3727
-
3756
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3757
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3758
+
3759
+
3760
+
3761
+
3762
+
3763
+
3764
+ <xsl:if test="$doctype = 'service-publication'">
3765
+ <xsl:attribute name="border-bottom">1.1pt solid black</xsl:attribute>
3728
3766
  </xsl:if>
3729
-
3730
-
3731
-
3732
-
3733
-
3734
-
3735
-
3736
-
3737
-
3738
- <xsl:if test="$doctype = 'service-publication'">
3739
- <xsl:attribute name="min-height">5mm</xsl:attribute>
3740
- </xsl:if>
3741
-
3742
-
3743
- <!-- <xsl:if test="$namespace = 'bipm'">
3744
- <xsl:attribute name="height">8mm</xsl:attribute>
3745
- </xsl:if> -->
3746
-
3767
+
3768
+
3769
+ <xsl:call-template name="setTableRowAttributes"/>
3770
+
3771
+ <xsl:apply-templates/>
3772
+ </fo:table-row>
3773
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3774
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3775
+
3776
+ <xsl:call-template name="setTableRowAttributes"/>
3777
+ <xsl:apply-templates/>
3778
+ </fo:table-row>
3779
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3780
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3781
+
3782
+
3783
+
3784
+
3785
+
3786
+ <xsl:call-template name="setTableRowAttributes"/>
3747
3787
  <xsl:apply-templates/>
3748
3788
  </fo:table-row>
3789
+ </xsl:template><xsl:template name="setTableRowAttributes">
3790
+
3791
+
3792
+
3793
+
3794
+
3795
+
3796
+ <xsl:if test="$doctype = 'service-publication'">
3797
+ <xsl:attribute name="min-height">5mm</xsl:attribute>
3798
+ </xsl:if>
3799
+
3800
+
3801
+
3749
3802
  </xsl:template><xsl:template match="*[local-name()='th']">
3750
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3751
- <xsl:attribute name="text-align">
3752
- <xsl:choose>
3753
- <xsl:when test="@align">
3754
- <xsl:call-template name="setAlignment"/>
3755
- <!-- <xsl:value-of select="@align"/> -->
3756
- </xsl:when>
3757
- <xsl:otherwise>center</xsl:otherwise>
3758
- </xsl:choose>
3759
- </xsl:attribute>
3803
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
3804
+ <xsl:call-template name="setTextAlignment">
3805
+ <xsl:with-param name="default">center</xsl:with-param>
3806
+ </xsl:call-template>
3807
+
3808
+
3760
3809
 
3761
3810
 
3811
+
3762
3812
 
3763
3813
 
3764
3814
  <xsl:if test="ancestor::*[local-name()='preface']">
3765
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3815
+ <xsl:if test="$doctype != 'service-publication'">
3816
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3817
+ </xsl:if>
3766
3818
  </xsl:if>
3767
3819
  <xsl:if test="$doctype = 'service-publication'">
3768
3820
  <xsl:attribute name="border">1pt solid rgb(211,211,211)</xsl:attribute>
@@ -3773,30 +3825,28 @@
3773
3825
 
3774
3826
 
3775
3827
 
3776
-
3777
-
3778
-
3779
-
3780
-
3781
-
3782
3828
  <xsl:if test="$lang = 'ar'">
3783
3829
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3784
3830
  </xsl:if>
3785
- <xsl:if test="@colspan">
3786
- <xsl:attribute name="number-columns-spanned">
3787
- <xsl:value-of select="@colspan"/>
3788
- </xsl:attribute>
3789
- </xsl:if>
3790
- <xsl:if test="@rowspan">
3791
- <xsl:attribute name="number-rows-spanned">
3792
- <xsl:value-of select="@rowspan"/>
3793
- </xsl:attribute>
3794
- </xsl:if>
3795
- <xsl:call-template name="display-align"/>
3831
+
3832
+ <xsl:call-template name="setTableCellAttributes"/>
3833
+
3796
3834
  <fo:block>
3797
3835
  <xsl:apply-templates/>
3798
3836
  </fo:block>
3799
3837
  </fo:table-cell>
3838
+ </xsl:template><xsl:template name="setTableCellAttributes">
3839
+ <xsl:if test="@colspan">
3840
+ <xsl:attribute name="number-columns-spanned">
3841
+ <xsl:value-of select="@colspan"/>
3842
+ </xsl:attribute>
3843
+ </xsl:if>
3844
+ <xsl:if test="@rowspan">
3845
+ <xsl:attribute name="number-rows-spanned">
3846
+ <xsl:value-of select="@rowspan"/>
3847
+ </xsl:attribute>
3848
+ </xsl:if>
3849
+ <xsl:call-template name="display-align"/>
3800
3850
  </xsl:template><xsl:template name="display-align">
3801
3851
  <xsl:if test="@valign">
3802
3852
  <xsl:attribute name="display-align">
@@ -3809,68 +3859,64 @@
3809
3859
  </xsl:attribute>
3810
3860
  </xsl:if>
3811
3861
  </xsl:template><xsl:template match="*[local-name()='td']">
3812
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3813
- <xsl:attribute name="text-align">
3814
- <xsl:choose>
3815
- <xsl:when test="@align">
3816
- <xsl:call-template name="setAlignment"/>
3817
- <!-- <xsl:value-of select="@align"/> -->
3818
- </xsl:when>
3819
- <xsl:otherwise>left</xsl:otherwise>
3820
- </xsl:choose>
3821
- </xsl:attribute>
3862
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
3863
+ <xsl:call-template name="setTextAlignment">
3864
+ <xsl:with-param name="default">left</xsl:with-param>
3865
+ </xsl:call-template>
3866
+
3822
3867
  <xsl:if test="$lang = 'ar'">
3823
3868
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3824
3869
  </xsl:if>
3825
3870
 
3826
3871
 
3827
3872
 
3873
+ <!-- bsi -->
3874
+
3875
+
3876
+
3877
+
3878
+
3879
+
3880
+
3828
3881
 
3829
3882
  <xsl:if test="ancestor::*[local-name()='preface']">
3830
3883
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3831
3884
  </xsl:if>
3832
- <xsl:attribute name="display-align">before</xsl:attribute>
3833
3885
  <xsl:if test="$doctype = 'service-publication'">
3834
3886
  <xsl:attribute name="border">1pt solid rgb(211,211,211)</xsl:attribute>
3835
3887
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
3836
3888
  </xsl:if>
3837
3889
 
3890
+
3838
3891
 
3839
3892
 
3840
3893
 
3841
3894
 
3842
3895
 
3843
3896
 
3844
-
3845
-
3846
-
3847
-
3848
-
3849
-
3850
- <xsl:if test=".//*[local-name() = 'table']">
3897
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3851
3898
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3852
3899
  </xsl:if>
3853
- <xsl:if test="@colspan">
3854
- <xsl:attribute name="number-columns-spanned">
3855
- <xsl:value-of select="@colspan"/>
3856
- </xsl:attribute>
3857
- </xsl:if>
3858
- <xsl:if test="@rowspan">
3859
- <xsl:attribute name="number-rows-spanned">
3860
- <xsl:value-of select="@rowspan"/>
3861
- </xsl:attribute>
3862
- </xsl:if>
3863
- <xsl:call-template name="display-align"/>
3900
+
3901
+ <xsl:call-template name="setTableCellAttributes"/>
3902
+
3864
3903
  <fo:block>
3865
-
3904
+
3905
+
3906
+
3866
3907
  <xsl:apply-templates/>
3867
3908
  </fo:block>
3868
3909
  </fo:table-cell>
3869
3910
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3911
+
3912
+ <fo:block xsl:use-attribute-sets="table-note-style">
3913
+
3914
+
3915
+
3916
+
3870
3917
 
3871
-
3872
- <fo:block font-size="10pt" margin-bottom="12pt">
3873
-
3918
+ <!-- Table's note name (NOTE, for example) -->
3919
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3874
3920
 
3875
3921
 
3876
3922
 
@@ -3878,26 +3924,117 @@
3878
3924
 
3879
3925
 
3880
3926
 
3881
- <!-- Table's note name (NOTE, for example) -->
3882
-
3883
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3884
-
3927
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3885
3928
 
3886
-
3887
-
3888
-
3889
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3890
-
3891
- </fo:inline>
3892
-
3893
-
3894
-
3895
- <xsl:apply-templates mode="process"/>
3896
- </fo:block>
3929
+ </fo:inline>
3930
+
3931
+
3932
+
3933
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
3934
+ </fo:block>
3897
3935
 
3898
3936
  </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">
3899
3937
  <xsl:apply-templates/>
3900
- </xsl:template><xsl:template name="fn_display">
3938
+ </xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
3939
+
3940
+ <!-- list of footnotes to calculate actual footnotes number -->
3941
+ <xsl:variable name="p_fn_">
3942
+ <xsl:choose>
3943
+ <xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
3944
+ <fn gen_id="{generate-id(.)}">
3945
+ <xsl:copy-of select="@*"/>
3946
+ <xsl:copy-of select="node()"/>
3947
+ </fn>
3948
+ </xsl:when>
3949
+ <xsl:otherwise>
3950
+ <!-- itetation for:
3951
+ footnotes in bibdata/title
3952
+ footnotes in bibliography
3953
+ footnotes in document's body (except table's head/body/foot and figure text)
3954
+ -->
3955
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
3956
+ <fn gen_id="{generate-id(.)}">
3957
+ <xsl:copy-of select="@*"/>
3958
+ <xsl:copy-of select="node()"/>
3959
+ </fn>
3960
+ </xsl:for-each>
3961
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
3962
+ <xsl:sort select="@displayorder" data-type="number"/>
3963
+ <xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
3964
+ <!-- copy unique fn -->
3965
+ <fn gen_id="{generate-id(.)}">
3966
+ <xsl:copy-of select="@*"/>
3967
+ <xsl:copy-of select="node()"/>
3968
+ </fn>
3969
+ </xsl:for-each>
3970
+ </xsl:for-each>
3971
+ </xsl:otherwise>
3972
+ </xsl:choose>
3973
+ </xsl:variable>
3974
+ <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
3975
+
3976
+ <xsl:variable name="gen_id" select="generate-id(.)"/>
3977
+ <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
3978
+ <xsl:variable name="reference" select="@reference"/>
3979
+ <!-- fn sequence number in document -->
3980
+ <xsl:variable name="current_fn_number">
3981
+ <xsl:choose>
3982
+ <xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
3983
+ <xsl:otherwise>
3984
+ <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
3985
+ </xsl:otherwise>
3986
+ </xsl:choose>
3987
+ </xsl:variable>
3988
+ <xsl:variable name="current_fn_number_text">
3989
+ <xsl:value-of select="$current_fn_number"/>
3990
+
3991
+
3992
+ </xsl:variable>
3993
+
3994
+ <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3995
+ <xsl:variable name="footnote_inline">
3996
+ <fo:inline xsl:use-attribute-sets="fn-num-style">
3997
+
3998
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3999
+ <xsl:value-of select="$current_fn_number_text"/>
4000
+ </fo:basic-link>
4001
+ </fo:inline>
4002
+ </xsl:variable>
4003
+ <!-- DEBUG: p_fn=<xsl:copy-of select="$p_fn"/>
4004
+ gen_id=<xsl:value-of select="$gen_id"/> -->
4005
+ <xsl:choose>
4006
+ <xsl:when test="normalize-space(@skip_footnote_body) = 'true'">
4007
+ <xsl:copy-of select="$footnote_inline"/>
4008
+ </xsl:when>
4009
+ <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
4010
+ <fo:footnote xsl:use-attribute-sets="fn-style">
4011
+ <xsl:copy-of select="$footnote_inline"/>
4012
+ <fo:footnote-body>
4013
+
4014
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
4015
+
4016
+ <fo:block xsl:use-attribute-sets="fn-body-style">
4017
+
4018
+
4019
+ <xsl:if test="$doctype = 'service-publication'">
4020
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
4021
+ </xsl:if>
4022
+
4023
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
4024
+
4025
+ <xsl:value-of select="$current_fn_number_text"/>
4026
+ </fo:inline>
4027
+ <xsl:apply-templates/>
4028
+ </fo:block>
4029
+ </fo:block-container>
4030
+ </fo:footnote-body>
4031
+ </fo:footnote>
4032
+ </xsl:when>
4033
+ <xsl:otherwise>
4034
+ <xsl:copy-of select="$footnote_inline"/>
4035
+ </xsl:otherwise>
4036
+ </xsl:choose>
4037
+ </xsl:template><xsl:template name="table_fn_display">
3901
4038
  <xsl:variable name="references">
3902
4039
 
3903
4040
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -3908,45 +4045,28 @@
3908
4045
  <xsl:for-each select="xalan:nodeset($references)//fn">
3909
4046
  <xsl:variable name="reference" select="@reference"/>
3910
4047
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3911
- <fo:block margin-bottom="12pt">
4048
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3912
4049
 
3913
4050
 
3914
4051
 
3915
-
3916
-
3917
-
3918
- <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
3919
- <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
3920
- <xsl:attribute name="text-indent">-5mm</xsl:attribute>
3921
- <xsl:attribute name="start-indent">5mm</xsl:attribute>
3922
-
3923
-
3924
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3925
-
3926
- <xsl:attribute name="vertical-align">super</xsl:attribute>
4052
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3927
4053
 
3928
4054
 
3929
4055
 
3930
4056
 
3931
4057
 
4058
+ <xsl:value-of select="@reference"/>
3932
4059
 
3933
- <xsl:attribute name="padding-right">3mm</xsl:attribute>
3934
- <xsl:attribute name="font-size">70%</xsl:attribute>
3935
4060
 
3936
4061
 
3937
4062
 
3938
- <xsl:value-of select="@reference"/>
3939
4063
 
3940
4064
 
3941
- <!-- <xsl:if test="@preface = 'true'"> -->
3942
- <xsl:text>)</xsl:text>
3943
- <!-- </xsl:if> -->
4065
+ <xsl:text>)</xsl:text>
3944
4066
 
3945
4067
 
3946
4068
  </fo:inline>
3947
- <fo:inline>
3948
-
3949
- <!-- <xsl:apply-templates /> -->
4069
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3950
4070
  <xsl:copy-of select="./node()"/>
3951
4071
  </fo:inline>
3952
4072
  </fo:block>
@@ -3962,15 +4082,7 @@
3962
4082
 
3963
4083
  <xsl:apply-templates/>
3964
4084
  </fn>
3965
- </xsl:template><xsl:template name="fn_name_display">
3966
- <!-- <xsl:variable name="references">
3967
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3968
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3969
- <xsl:apply-templates />
3970
- </fn>
3971
- </xsl:for-each>
3972
- </xsl:variable>
3973
- $references=<xsl:copy-of select="$references"/> -->
4085
+ </xsl:template><xsl:template name="table_name_fn_display">
3974
4086
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3975
4087
  <xsl:variable name="reference" select="@reference"/>
3976
4088
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -3979,9 +4091,7 @@
3979
4091
  </fo:block>
3980
4092
  </xsl:for-each>
3981
4093
  </xsl:template><xsl:template name="fn_display_figure">
3982
- <xsl:variable name="key_iso">
3983
- <!-- and (not(@class) or @class !='pseudocode') -->
3984
- </xsl:variable>
4094
+
3985
4095
  <xsl:variable name="references">
3986
4096
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3987
4097
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3989,50 +4099,52 @@
3989
4099
  </fn>
3990
4100
  </xsl:for-each>
3991
4101
  </xsl:variable>
4102
+
4103
+ <xsl:if test="xalan:nodeset($references)//fn">
3992
4104
 
3993
- <!-- current hierarchy is 'figure' element -->
3994
- <xsl:variable name="following_dl_colwidths">
3995
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3996
- <xsl:variable name="html-table">
3997
- <xsl:variable name="doc_ns">
4105
+ <xsl:variable name="key_iso">
4106
+
4107
+ </xsl:variable>
4108
+
4109
+ <!-- current hierarchy is 'figure' element -->
4110
+ <xsl:variable name="following_dl_colwidths">
4111
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
4112
+ <xsl:variable name="html-table">
4113
+ <xsl:variable name="doc_ns">
4114
+
4115
+ </xsl:variable>
4116
+ <xsl:variable name="ns">
4117
+ <xsl:choose>
4118
+ <xsl:when test="normalize-space($doc_ns) != ''">
4119
+ <xsl:value-of select="normalize-space($doc_ns)"/>
4120
+ </xsl:when>
4121
+ <xsl:otherwise>
4122
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
4123
+ </xsl:otherwise>
4124
+ </xsl:choose>
4125
+ </xsl:variable>
3998
4126
 
3999
- </xsl:variable>
4000
- <xsl:variable name="ns">
4001
- <xsl:choose>
4002
- <xsl:when test="normalize-space($doc_ns) != ''">
4003
- <xsl:value-of select="normalize-space($doc_ns)"/>
4004
- </xsl:when>
4005
- <xsl:otherwise>
4006
- <xsl:value-of select="substring-before(name(/*), '-')"/>
4007
- </xsl:otherwise>
4008
- </xsl:choose>
4009
- </xsl:variable>
4010
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
4011
- <!-- <xsl:element name="{$ns}:table"> -->
4012
4127
  <xsl:for-each select="*[local-name() = 'dl'][1]">
4013
4128
  <tbody>
4014
4129
  <xsl:apply-templates mode="dl"/>
4015
4130
  </tbody>
4016
4131
  </xsl:for-each>
4017
- <!-- </xsl:element> -->
4018
- </xsl:variable>
4019
-
4020
- <xsl:call-template name="calculate-column-widths">
4021
- <xsl:with-param name="cols-count" select="2"/>
4022
- <xsl:with-param name="table" select="$html-table"/>
4023
- </xsl:call-template>
4024
-
4025
- </xsl:if>
4026
- </xsl:variable>
4027
-
4028
-
4029
- <xsl:variable name="maxlength_dt">
4030
- <xsl:for-each select="*[local-name() = 'dl'][1]">
4031
- <xsl:call-template name="getMaxLength_dt"/>
4032
- </xsl:for-each>
4033
- </xsl:variable>
4034
-
4035
- <xsl:if test="xalan:nodeset($references)//fn">
4132
+ </xsl:variable>
4133
+
4134
+ <xsl:call-template name="calculate-column-widths">
4135
+ <xsl:with-param name="cols-count" select="2"/>
4136
+ <xsl:with-param name="table" select="$html-table"/>
4137
+ </xsl:call-template>
4138
+
4139
+ </xsl:if>
4140
+ </xsl:variable>
4141
+
4142
+ <xsl:variable name="maxlength_dt">
4143
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
4144
+ <xsl:call-template name="getMaxLength_dt"/>
4145
+ </xsl:for-each>
4146
+ </xsl:variable>
4147
+
4036
4148
  <fo:block>
4037
4149
  <fo:table width="95%" table-layout="fixed">
4038
4150
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -4059,20 +4171,18 @@
4059
4171
  <fo:table-row>
4060
4172
  <fo:table-cell>
4061
4173
  <fo:block>
4062
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
4063
-
4174
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
4064
4175
  <xsl:value-of select="@reference"/>
4065
4176
  </fo:inline>
4066
4177
  </fo:block>
4067
4178
  </fo:table-cell>
4068
4179
  <fo:table-cell>
4069
- <fo:block text-align="justify" margin-bottom="12pt">
4070
-
4180
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
4071
4181
  <xsl:if test="normalize-space($key_iso) = 'true'">
4072
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
4182
+
4183
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
4184
+
4073
4185
  </xsl:if>
4074
-
4075
- <!-- <xsl:apply-templates /> -->
4076
4186
  <xsl:copy-of select="./node()"/>
4077
4187
  </fo:block>
4078
4188
  </fo:table-cell>
@@ -4085,17 +4195,8 @@
4085
4195
  </xsl:if>
4086
4196
 
4087
4197
  </xsl:template><xsl:template match="*[local-name()='fn']">
4088
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
4089
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
4090
-
4091
-
4092
-
4093
-
4094
-
4095
-
4096
-
4097
- <xsl:attribute name="vertical-align">super</xsl:attribute>
4098
- <xsl:attribute name="color">blue</xsl:attribute>
4198
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
4199
+
4099
4200
 
4100
4201
 
4101
4202
 
@@ -4108,6 +4209,8 @@
4108
4209
 
4109
4210
  </fo:basic-link>
4110
4211
  </fo:inline>
4212
+ </xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
4213
+ <fo:inline><xsl:value-of select="."/></fo:inline>
4111
4214
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
4112
4215
  <fo:inline>
4113
4216
  <xsl:apply-templates/>
@@ -4117,10 +4220,10 @@
4117
4220
  <xsl:variable name="isDeleted" select="@deleted"/>
4118
4221
  <fo:block-container>
4119
4222
 
4120
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
4121
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4122
- </xsl:if>
4123
-
4223
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
4224
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
4225
+ </xsl:if>
4226
+
4124
4227
 
4125
4228
  <xsl:if test="parent::*[local-name() = 'note']">
4126
4229
  <xsl:attribute name="margin-left">
@@ -4137,11 +4240,11 @@
4137
4240
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4138
4241
  </xsl:call-template>
4139
4242
 
4140
- <fo:block-container>
4141
-
4142
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4143
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
4243
+ <fo:block-container margin-left="0mm">
4244
+
4144
4245
 
4246
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
4247
+
4145
4248
 
4146
4249
  <xsl:variable name="parent" select="local-name(..)"/>
4147
4250
 
@@ -4152,23 +4255,19 @@
4152
4255
  <xsl:choose>
4153
4256
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
4154
4257
 
4155
-
4156
- <fo:block margin-bottom="12pt" text-align="left">
4157
-
4158
- <xsl:variable name="title-where">
4159
-
4258
+ <fo:block margin-bottom="12pt" text-align="left">
4160
4259
 
4161
- <xsl:call-template name="getTitle">
4162
- <xsl:with-param name="name" select="'title-where'"/>
4260
+ <xsl:variable name="title-where">
4261
+ <xsl:call-template name="getLocalizedString">
4262
+ <xsl:with-param name="key">where</xsl:with-param>
4163
4263
  </xsl:call-template>
4164
-
4165
- </xsl:variable>
4166
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
4167
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
4168
- <xsl:text/>
4169
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
4170
- </fo:block>
4171
-
4264
+ </xsl:variable>
4265
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
4266
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
4267
+ <xsl:text/>
4268
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
4269
+ </fo:block>
4270
+
4172
4271
  </xsl:when>
4173
4272
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
4174
4273
  <fo:block margin-bottom="12pt" text-align="left">
@@ -4179,12 +4278,9 @@
4179
4278
 
4180
4279
 
4181
4280
  <xsl:variable name="title-where">
4182
-
4183
-
4184
- <xsl:call-template name="getTitle">
4185
- <xsl:with-param name="name" select="'title-where'"/>
4186
- </xsl:call-template>
4187
-
4281
+ <xsl:call-template name="getLocalizedString">
4282
+ <xsl:with-param name="key">where</xsl:with-param>
4283
+ </xsl:call-template>
4188
4284
  </xsl:variable>
4189
4285
  <xsl:value-of select="$title-where"/>:
4190
4286
  </fo:block>
@@ -4196,12 +4292,9 @@
4196
4292
 
4197
4293
 
4198
4294
  <xsl:variable name="title-key">
4199
-
4200
-
4201
- <xsl:call-template name="getTitle">
4202
- <xsl:with-param name="name" select="'title-key'"/>
4203
- </xsl:call-template>
4204
-
4295
+ <xsl:call-template name="getLocalizedString">
4296
+ <xsl:with-param name="key">key</xsl:with-param>
4297
+ </xsl:call-template>
4205
4298
  </xsl:variable>
4206
4299
  <xsl:value-of select="$title-key"/>
4207
4300
  </fo:block>
@@ -4216,9 +4309,6 @@
4216
4309
  <xsl:if test="$parent = 'figure' or $parent = 'formula'">
4217
4310
  <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
4218
4311
  </xsl:if>
4219
- <xsl:if test="$parent = 'li'">
4220
- <!-- <xsl:attribute name="margin-left">-4mm</xsl:attribute> -->
4221
- </xsl:if>
4222
4312
 
4223
4313
 
4224
4314
 
@@ -4230,9 +4320,7 @@
4230
4320
  <fo:table width="95%" table-layout="fixed">
4231
4321
 
4232
4322
  <xsl:choose>
4233
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
4234
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
4235
- </xsl:when>
4323
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
4236
4324
  <xsl:when test="normalize-space($key_iso) = 'true'">
4237
4325
  <xsl:attribute name="font-size">10pt</xsl:attribute>
4238
4326
 
@@ -4253,12 +4341,9 @@
4253
4341
  </xsl:otherwise>
4254
4342
  </xsl:choose>
4255
4343
  </xsl:variable>
4256
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
4257
- <!-- <xsl:element name="{$ns}:table"> -->
4258
- <tbody>
4259
- <xsl:apply-templates mode="dl"/>
4260
- </tbody>
4261
- <!-- </xsl:element> -->
4344
+ <tbody>
4345
+ <xsl:apply-templates mode="dl"/>
4346
+ </tbody>
4262
4347
  </xsl:variable>
4263
4348
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
4264
4349
  <xsl:variable name="colwidths">
@@ -4338,8 +4423,6 @@
4338
4423
  </xsl:for-each>
4339
4424
  </xsl:otherwise>
4340
4425
  </xsl:choose>
4341
- <!-- <fo:table-column column-width="15%"/>
4342
- <fo:table-column column-width="85%"/> -->
4343
4426
  </xsl:otherwise>
4344
4427
  </xsl:choose>
4345
4428
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -4354,12 +4437,6 @@
4354
4437
  </xsl:for-each>
4355
4438
  </xsl:variable>
4356
4439
  <xsl:variable name="maxLength">
4357
- <!-- <xsl:for-each select="*[local-name()='dt']">
4358
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
4359
- <xsl:if test="position() = 1">
4360
- <xsl:value-of select="string-length(normalize-space(.))"/>
4361
- </xsl:if>
4362
- </xsl:for-each> -->
4363
4440
  <xsl:for-each select="xalan:nodeset($lengths)/length">
4364
4441
  <xsl:sort select="." data-type="number" order="descending"/>
4365
4442
  <xsl:if test="position() = 1">
@@ -4385,12 +4462,12 @@
4385
4462
  <xsl:if test="normalize-space($key_iso) = 'true'">
4386
4463
  <xsl:attribute name="margin-top">0</xsl:attribute>
4387
4464
  </xsl:if>
4388
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4465
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4389
4466
  </fo:block>
4390
4467
  </fo:table-cell>
4391
4468
  <fo:table-cell>
4392
4469
  <fo:block>
4393
- <xsl:apply-templates/>
4470
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4394
4471
  </fo:block>
4395
4472
  </fo:table-cell>
4396
4473
  </fo:table-row>
@@ -4401,49 +4478,35 @@
4401
4478
  </td>
4402
4479
  <td>
4403
4480
 
4404
-
4405
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4406
-
4481
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4482
+
4407
4483
  </td>
4408
4484
  </tr>
4409
4485
 
4410
4486
  </xsl:template><xsl:template match="*[local-name()='dt']">
4411
4487
  <xsl:param name="key_iso"/>
4412
4488
 
4413
- <fo:table-row>
4414
-
4415
-
4489
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
4416
4490
  <fo:table-cell>
4417
4491
 
4418
4492
  <xsl:if test="ancestor::*[1][local-name() = 'dl']/preceding-sibling::*[1][local-name() = 'formula']">
4419
4493
  <xsl:attribute name="padding-right">3mm</xsl:attribute>
4420
4494
  </xsl:if>
4421
4495
 
4422
- <fo:block margin-top="6pt">
4496
+ <fo:block xsl:use-attribute-sets="dt-style">
4423
4497
  <xsl:copy-of select="@id"/>
4424
4498
 
4425
-
4426
4499
  <xsl:if test="normalize-space($key_iso) = 'true'">
4427
4500
  <xsl:attribute name="margin-top">0</xsl:attribute>
4428
-
4429
4501
  </xsl:if>
4430
4502
 
4431
4503
 
4432
-
4433
-
4434
4504
  <xsl:if test="ancestor::*[1][local-name() = 'dl']/preceding-sibling::*[1][local-name() = 'formula']">
4435
4505
  <xsl:attribute name="text-align">right</xsl:attribute>
4436
4506
  </xsl:if>
4437
4507
 
4438
4508
 
4439
-
4440
-
4441
4509
  <xsl:apply-templates/>
4442
- <!-- <xsl:if test="$namespace = 'gb'">
4443
- <xsl:if test="ancestor::*[local-name()='formula']">
4444
- <xsl:text>—</xsl:text>
4445
- </xsl:if>
4446
- </xsl:if> -->
4447
4510
  </fo:block>
4448
4511
  </fo:table-cell>
4449
4512
  <fo:table-cell>
@@ -4451,39 +4514,15 @@
4451
4514
 
4452
4515
  <xsl:attribute name="text-align">justify</xsl:attribute>
4453
4516
 
4454
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4455
- <xsl:if test="local-name(*[1]) != 'stem'">
4456
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4457
- </xsl:if>
4458
- </xsl:if> -->
4459
-
4460
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4461
-
4517
+
4518
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4462
4519
  </fo:block>
4463
4520
  </fo:table-cell>
4464
4521
  </fo:table-row>
4465
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4466
- <xsl:if test="local-name(*[1]) = 'stem'">
4467
- <fo:table-row>
4468
- <fo:table-cell>
4469
- <fo:block margin-top="6pt">
4470
- <xsl:if test="normalize-space($key_iso) = 'true'">
4471
- <xsl:attribute name="margin-top">0</xsl:attribute>
4472
- </xsl:if>
4473
- <xsl:text>&#xA0;</xsl:text>
4474
- </fo:block>
4475
- </fo:table-cell>
4476
- <fo:table-cell>
4477
- <fo:block>
4478
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4479
- </fo:block>
4480
- </fo:table-cell>
4481
- </fo:table-row>
4482
- </xsl:if>
4483
- </xsl:if> -->
4484
4522
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4485
4523
  <xsl:apply-templates/>
4486
4524
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4525
+ <xsl:apply-templates select="@language"/>
4487
4526
  <xsl:apply-templates/>
4488
4527
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4489
4528
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -4508,6 +4547,7 @@
4508
4547
  </fo:inline>
4509
4548
  </xsl:template><xsl:template match="*[local-name()='tt']">
4510
4549
  <fo:inline xsl:use-attribute-sets="tt-style">
4550
+
4511
4551
  <xsl:variable name="_font-size">
4512
4552
 
4513
4553
 
@@ -4544,7 +4584,22 @@
4544
4584
  <xsl:apply-templates/>
4545
4585
  </fo:inline>
4546
4586
  </xsl:template><xsl:template match="*[local-name()='add']">
4587
+ <xsl:param name="skip">true</xsl:param>
4547
4588
  <xsl:choose>
4589
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4590
+ <xsl:choose>
4591
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
4592
+ <xsl:otherwise>
4593
+ <fo:inline>
4594
+ <xsl:call-template name="insertTag">
4595
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
4596
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4597
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4598
+ </xsl:call-template>
4599
+ </fo:inline>
4600
+ </xsl:otherwise>
4601
+ </xsl:choose>
4602
+ </xsl:when>
4548
4603
  <xsl:when test="@amendment">
4549
4604
  <fo:inline>
4550
4605
  <xsl:call-template name="insertTag">
@@ -4579,7 +4634,6 @@
4579
4634
  </fo:inline>
4580
4635
  </xsl:otherwise>
4581
4636
  </xsl:choose>
4582
-
4583
4637
  </xsl:template><xsl:template name="insertTag">
4584
4638
  <xsl:param name="type"/>
4585
4639
  <xsl:param name="kind"/>
@@ -4587,22 +4641,20 @@
4587
4641
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
4588
4642
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
4589
4643
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
4590
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
4591
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
4592
4644
  <xsl:attribute name="height">5mm</xsl:attribute>
4593
4645
  <xsl:attribute name="content-width">100%</xsl:attribute>
4594
4646
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4595
4647
  <xsl:attribute name="scaling">uniform</xsl:attribute>
4596
4648
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4597
4649
  <g>
4598
- <xsl:if test="$type = 'closing'">
4650
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4599
4651
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
4600
4652
  </xsl:if>
4601
4653
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
4602
4654
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
4603
4655
  </g>
4604
4656
  <text font-family="Arial" x="15" y="57" font-size="40pt">
4605
- <xsl:if test="$type = 'closing'">
4657
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4606
4658
  <xsl:attribute name="x">25</xsl:attribute>
4607
4659
  </xsl:if>
4608
4660
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -4806,14 +4858,6 @@
4806
4858
 
4807
4859
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
4808
4860
 
4809
- <!-- <xsl:choose>
4810
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
4811
-
4812
- </xsl:when>
4813
- <xsl:otherwise>
4814
- <xsl:copy-of select="current()"/>
4815
- </xsl:otherwise>
4816
- </xsl:choose> -->
4817
4861
  </xsl:variable>
4818
4862
  <xsl:copy-of select="$simple-table"/>
4819
4863
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -4932,8 +4976,6 @@
4932
4976
  <xsl:choose>
4933
4977
  <xsl:when test="contains($str2, ' ')">
4934
4978
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
4935
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
4936
- <xsl:value-of select="substring($substr, 2)"/> -->
4937
4979
  <xsl:call-template name="capitalize">
4938
4980
  <xsl:with-param name="str" select="$substr"/>
4939
4981
  </xsl:call-template>
@@ -4943,8 +4985,6 @@
4943
4985
  </xsl:call-template>
4944
4986
  </xsl:when>
4945
4987
  <xsl:otherwise>
4946
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
4947
- <xsl:value-of select="substring($str2, 2)"/> -->
4948
4988
  <xsl:call-template name="capitalize">
4949
4989
  <xsl:with-param name="str" select="$str2"/>
4950
4990
  </xsl:call-template>
@@ -4972,6 +5012,7 @@
4972
5012
  <xsl:apply-templates select="." mode="mathml"/>
4973
5013
  </xsl:variable>
4974
5014
  <fo:instream-foreign-object fox:alt-text="Math">
5015
+
4975
5016
 
4976
5017
 
4977
5018
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -5003,7 +5044,7 @@
5003
5044
  </xsl:attribute>
5004
5045
 
5005
5046
 
5006
- <!-- <xsl:copy-of select="."/> -->
5047
+
5007
5048
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
5008
5049
  </fo:instream-foreign-object>
5009
5050
  </fo:inline>
@@ -5062,6 +5103,10 @@
5062
5103
 
5063
5104
 
5064
5105
 
5106
+
5107
+
5108
+
5109
+
5065
5110
  <xsl:choose>
5066
5111
  <xsl:when test="$target_text = ''">
5067
5112
  <xsl:apply-templates/>
@@ -5095,9 +5140,9 @@
5095
5140
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
5096
5141
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
5097
5142
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
5098
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5143
+ <xsl:apply-templates select="*[local-name()='name']"/>
5099
5144
  </fo:block>
5100
- <xsl:apply-templates/>
5145
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
5101
5146
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
5102
5147
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
5103
5148
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -5117,25 +5162,8 @@
5117
5162
  <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
5118
5163
  <xsl:apply-templates/>
5119
5164
  </fo:inline>
5120
- </xsl:template><xsl:template match="*[local-name() = 'modification']">
5121
- <xsl:variable name="title-modified">
5122
-
5123
-
5124
- <xsl:call-template name="getTitle">
5125
- <xsl:with-param name="name" select="'title-modified'"/>
5126
- </xsl:call-template>
5127
-
5128
- </xsl:variable>
5129
-
5130
- <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
5131
- <xsl:choose>
5132
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
5133
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
5134
- </xsl:choose>
5135
- <xsl:apply-templates/>
5136
5165
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
5137
5166
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
5138
-
5139
5167
  <xsl:apply-templates/>
5140
5168
  </fo:basic-link>
5141
5169
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -5163,53 +5191,68 @@
5163
5191
  <fo:inline>
5164
5192
  <xsl:apply-templates/>
5165
5193
  </fo:inline>
5166
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
5194
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
5167
5195
  <xsl:if test="normalize-space() != ''">
5168
5196
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
5169
5197
  </xsl:if>
5170
5198
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
5171
5199
 
5172
5200
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
5201
+
5202
+
5203
+
5173
5204
 
5174
5205
 
5175
5206
 
5176
5207
 
5177
5208
 
5209
+
5210
+
5211
+
5178
5212
  <fo:block-container margin-left="0mm">
5213
+
5179
5214
 
5180
5215
 
5181
5216
 
5217
+
5182
5218
 
5183
-
5184
-
5185
-
5186
-
5187
- <fo:block>
5188
-
5189
- <xsl:if test="ancestor::itu:figure">
5190
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
5191
- </xsl:if>
5192
-
5193
-
5194
-
5195
-
5196
-
5219
+ <fo:block>
5220
+
5221
+
5197
5222
 
5198
- <fo:inline xsl:use-attribute-sets="note-name-style">
5199
5223
 
5200
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5201
- </fo:inline>
5202
- <xsl:apply-templates/>
5203
- </fo:block>
5204
-
5205
-
5224
+ <xsl:if test="ancestor::itu:figure">
5225
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
5226
+ </xsl:if>
5227
+
5228
+
5229
+
5230
+
5231
+ <fo:inline xsl:use-attribute-sets="note-name-style">
5232
+
5233
+
5234
+
5235
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
5236
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
5237
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
5238
+ <xsl:with-param name="skip">false</xsl:with-param>
5239
+ </xsl:apply-templates>
5240
+ </xsl:if>
5241
+
5242
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5243
+
5244
+ </fo:inline>
5245
+
5246
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5247
+ </fo:block>
5248
+
5206
5249
  </fo:block-container>
5207
5250
  </fo:block-container>
5208
5251
 
5209
5252
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
5210
5253
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5211
5254
  <xsl:choose>
5212
- <xsl:when test="$num = 1">
5255
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
5213
5256
  <fo:inline xsl:use-attribute-sets="note-p-style">
5214
5257
  <xsl:apply-templates/>
5215
5258
  </fo:inline>
@@ -5224,12 +5267,16 @@
5224
5267
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
5225
5268
 
5226
5269
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
5270
+
5271
+
5272
+
5273
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5227
5274
 
5228
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5229
5275
  </fo:inline>
5230
- <xsl:apply-templates/>
5276
+
5277
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5231
5278
  </fo:block>
5232
- </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">
5279
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
5233
5280
  <xsl:param name="sfx"/>
5234
5281
  <xsl:variable name="suffix">
5235
5282
  <xsl:choose>
@@ -5248,7 +5295,7 @@
5248
5295
  <xsl:apply-templates/>
5249
5296
  <xsl:value-of select="$suffix"/>
5250
5297
  </xsl:if>
5251
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
5298
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
5252
5299
  <xsl:param name="sfx"/>
5253
5300
  <xsl:variable name="suffix">
5254
5301
  <xsl:choose>
@@ -5275,25 +5322,23 @@
5275
5322
  <xsl:apply-templates/>
5276
5323
  </fo:block>
5277
5324
  </xsl:template><xsl:template match="*[local-name() = 'term']">
5278
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
5279
5325
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
5280
5326
 
5281
5327
 
5328
+
5329
+
5282
5330
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
5283
5331
 
5284
5332
  </xsl:if>
5285
- <xsl:apply-templates/>
5333
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5286
5334
  </fo:block>
5287
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
5335
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
5288
5336
  <xsl:if test="normalize-space() != ''">
5289
5337
  <xsl:variable name="level">
5290
5338
  <xsl:call-template name="getLevelTermName"/>
5291
5339
  </xsl:variable>
5292
5340
  <fo:inline role="H{$level}">
5293
5341
  <xsl:apply-templates/>
5294
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
5295
- <xsl:text>.</xsl:text>
5296
- </xsl:if> -->
5297
5342
  </fo:inline>
5298
5343
  </xsl:if>
5299
5344
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -5306,9 +5351,10 @@
5306
5351
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
5307
5352
  </xsl:call-template>
5308
5353
 
5309
- <fo:block>
5310
-
5311
- <xsl:apply-templates/>
5354
+
5355
+
5356
+ <fo:block xsl:use-attribute-sets="figure-style">
5357
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5312
5358
  </fo:block>
5313
5359
  <xsl:call-template name="fn_display_figure"/>
5314
5360
  <xsl:for-each select="*[local-name() = 'note']">
@@ -5316,14 +5362,15 @@
5316
5362
  </xsl:for-each>
5317
5363
 
5318
5364
 
5319
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5365
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
5366
+
5320
5367
 
5321
5368
  </fo:block-container>
5322
5369
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
5323
5370
  <fo:block id="{@id}">
5324
- <xsl:apply-templates/>
5371
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5325
5372
  </fo:block>
5326
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5373
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5327
5374
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
5328
5375
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
5329
5376
  <xsl:apply-templates/>
@@ -5430,9 +5477,7 @@
5430
5477
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
5431
5478
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
5432
5479
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
5433
- <!-- width=<xsl:value-of select="$width"/> -->
5434
5480
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
5435
- <!-- height=<xsl:value-of select="$height"/> -->
5436
5481
  <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
5437
5482
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
5438
5483
  <xsl:call-template name="svg_cross">
@@ -5702,7 +5747,7 @@
5702
5747
  </fo:basic-link>
5703
5748
  </fo:block>
5704
5749
  </fo:block-container>
5705
- </xsl:template><xsl:template match="*[local-name() = 'emf']"/><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">
5750
+ </xsl:template><xsl:template match="*[local-name() = 'emf']"/><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">
5706
5751
  <xsl:apply-templates mode="contents"/>
5707
5752
  <xsl:text> </xsl:text>
5708
5753
  </xsl:template><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'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
@@ -5714,11 +5759,58 @@
5714
5759
  <xsl:value-of select="."/>
5715
5760
  </xsl:template><xsl:template match="node()" mode="contents">
5716
5761
  <xsl:apply-templates mode="contents"/>
5762
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
5763
+ <xsl:variable name="level">
5764
+ <xsl:call-template name="getLevel">
5765
+ <xsl:with-param name="depth" select="@depth"/>
5766
+ </xsl:call-template>
5767
+ </xsl:variable>
5768
+
5769
+ <xsl:variable name="section">
5770
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5771
+ </xsl:variable>
5772
+
5773
+ <xsl:variable name="type">floating-title</xsl:variable>
5774
+
5775
+ <xsl:variable name="display">
5776
+ <xsl:choose>
5777
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
5778
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
5779
+ <xsl:otherwise>false</xsl:otherwise>
5780
+ </xsl:choose>
5781
+ </xsl:variable>
5782
+
5783
+ <xsl:variable name="skip">false</xsl:variable>
5784
+
5785
+ <xsl:if test="$skip = 'false'">
5786
+
5787
+ <xsl:variable name="title">
5788
+ <xsl:choose>
5789
+ <xsl:when test="*[local-name() = 'tab']">
5790
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5791
+ </xsl:when>
5792
+ <xsl:otherwise>
5793
+ <xsl:copy-of select="node()"/>
5794
+ </xsl:otherwise>
5795
+ </xsl:choose>
5796
+ </xsl:variable>
5797
+
5798
+ <xsl:variable name="root">
5799
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
5800
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
5801
+ </xsl:variable>
5802
+
5803
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
5804
+ <title>
5805
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
5806
+ </title>
5807
+ </item>
5808
+ </xsl:if>
5717
5809
  </xsl:template><xsl:template match="node()" mode="bookmarks">
5718
5810
  <xsl:apply-templates mode="bookmarks"/>
5719
5811
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
5720
5812
  <xsl:apply-templates select="."/>
5721
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5813
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5722
5814
  <xsl:apply-templates mode="bookmarks"/>
5723
5815
  </xsl:template><xsl:template name="addBookmarks">
5724
5816
  <xsl:param name="contents"/>
@@ -5808,8 +5900,6 @@
5808
5900
 
5809
5901
 
5810
5902
 
5811
-
5812
-
5813
5903
  </fo:bookmark-tree>
5814
5904
  </xsl:if>
5815
5905
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -5880,7 +5970,7 @@
5880
5970
  <xsl:apply-templates mode="bookmark"/>
5881
5971
  </xsl:otherwise>
5882
5972
  </xsl:choose>
5883
- </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
5973
+ </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']">
5884
5974
  <xsl:if test="normalize-space() != ''">
5885
5975
  <fo:block xsl:use-attribute-sets="figure-name-style">
5886
5976
 
@@ -5889,16 +5979,13 @@
5889
5979
  </fo:block>
5890
5980
  </xsl:if>
5891
5981
  </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">
5892
- <xsl:apply-templates mode="contents_item"/>
5982
+ <xsl:param name="mode">bookmarks</xsl:param>
5983
+ <xsl:apply-templates mode="contents_item">
5984
+ <xsl:with-param name="mode" select="$mode"/>
5985
+ </xsl:apply-templates>
5893
5986
  <!-- <xsl:text> </xsl:text> -->
5894
5987
  </xsl:template><xsl:template name="getSection">
5895
5988
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5896
- <!--
5897
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
5898
- <xsl:value-of select="."/>
5899
- </xsl:for-each>
5900
- -->
5901
-
5902
5989
  </xsl:template><xsl:template name="getName">
5903
5990
  <xsl:choose>
5904
5991
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -5962,9 +6049,26 @@
5962
6049
  <xsl:copy-of select="."/>
5963
6050
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
5964
6051
  <xsl:text> </xsl:text>
6052
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
6053
+ <xsl:param name="mode">bookmarks</xsl:param>
6054
+ <xsl:apply-templates mode="contents_item">
6055
+ <xsl:with-param name="mode" select="$mode"/>
6056
+ </xsl:apply-templates>
6057
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
6058
+ <xsl:param name="mode">bookmarks</xsl:param>
6059
+ <xsl:choose>
6060
+ <xsl:when test="starts-with(text(), $ace_tag)">
6061
+ <xsl:if test="$mode = 'contents'">
6062
+ <xsl:copy>
6063
+ <xsl:apply-templates mode="contents_item"/>
6064
+ </xsl:copy>
6065
+ </xsl:if>
6066
+ </xsl:when>
6067
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
6068
+ </xsl:choose>
5965
6069
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5966
6070
 
5967
- <fo:block-container margin-left="0mm">
6071
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5968
6072
  <xsl:copy-of select="@id"/>
5969
6073
 
5970
6074
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -6001,6 +6105,7 @@
6001
6105
 
6002
6106
 
6003
6107
  </xsl:variable>
6108
+
6004
6109
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
6005
6110
  <xsl:if test="$font-size != ''">
6006
6111
  <xsl:attribute name="font-size">
@@ -6017,11 +6122,11 @@
6017
6122
 
6018
6123
 
6019
6124
 
6020
- <xsl:apply-templates/>
6125
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6021
6126
  </fo:block>
6022
6127
 
6023
6128
 
6024
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6129
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
6025
6130
 
6026
6131
 
6027
6132
 
@@ -6035,7 +6140,7 @@
6035
6140
  <xsl:call-template name="add-zero-spaces-java">
6036
6141
  <xsl:with-param name="text" select="$text"/>
6037
6142
  </xsl:call-template>
6038
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
6143
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
6039
6144
  <xsl:if test="normalize-space() != ''">
6040
6145
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
6041
6146
  <xsl:apply-templates/>
@@ -6043,10 +6148,10 @@
6043
6148
  </xsl:if>
6044
6149
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
6045
6150
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
6046
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6047
- <xsl:apply-templates/>
6151
+ <xsl:apply-templates select="*[local-name()='name']"/>
6152
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6048
6153
  </fo:block>
6049
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
6154
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
6050
6155
  <xsl:if test="normalize-space() != ''">
6051
6156
  <fo:block xsl:use-attribute-sets="permission-name-style">
6052
6157
  <xsl:apply-templates/>
@@ -6059,13 +6164,13 @@
6059
6164
  </fo:block>
6060
6165
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
6061
6166
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
6062
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6063
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
6064
- <xsl:apply-templates select="@obligation" mode="presentation"/>
6065
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
6066
- <xsl:apply-templates/>
6167
+ <xsl:apply-templates select="*[local-name()='name']"/>
6168
+ <xsl:apply-templates select="*[local-name()='label']"/>
6169
+ <xsl:apply-templates select="@obligation"/>
6170
+ <xsl:apply-templates select="*[local-name()='subject']"/>
6171
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
6067
6172
  </fo:block>
6068
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
6173
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
6069
6174
  <xsl:if test="normalize-space() != ''">
6070
6175
  <fo:block xsl:use-attribute-sets="requirement-name-style">
6071
6176
 
@@ -6073,20 +6178,24 @@
6073
6178
 
6074
6179
  </fo:block>
6075
6180
  </xsl:if>
6076
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
6181
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
6077
6182
  <fo:block xsl:use-attribute-sets="requirement-label-style">
6078
6183
  <xsl:apply-templates/>
6079
6184
  </fo:block>
6080
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
6185
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
6081
6186
  <fo:block>
6082
6187
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
6083
6188
  </fo:block>
6189
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
6190
+ <fo:block xsl:use-attribute-sets="subject-style">
6191
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
6192
+ </fo:block>
6084
6193
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
6085
6194
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
6086
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6087
- <xsl:apply-templates/>
6195
+ <xsl:apply-templates select="*[local-name()='name']"/>
6196
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6088
6197
  </fo:block>
6089
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
6198
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
6090
6199
  <xsl:if test="normalize-space() != ''">
6091
6200
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
6092
6201
  <xsl:apply-templates/>
@@ -6097,10 +6206,6 @@
6097
6206
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
6098
6207
  <xsl:apply-templates/>
6099
6208
  </fo:block>
6100
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
6101
- <fo:block xsl:use-attribute-sets="subject-style">
6102
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
6103
- </fo:block>
6104
6209
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
6105
6210
  <fo:block xsl:use-attribute-sets="subject-style">
6106
6211
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -6144,8 +6249,6 @@
6144
6249
  </xsl:variable>
6145
6250
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
6146
6251
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
6147
- <!-- <fo:table-column column-width="35mm"/>
6148
- <fo:table-column column-width="115mm"/> -->
6149
6252
  <fo:table-column column-width="30%"/>
6150
6253
  <fo:table-column column-width="70%"/>
6151
6254
  </xsl:if>
@@ -6155,7 +6258,7 @@
6155
6258
  <xsl:if test=".//*[local-name() = 'fn']">
6156
6259
  <xsl:for-each select="*[local-name() = 'tbody']">
6157
6260
  <fo:block font-size="90%" border-bottom="1pt solid black">
6158
- <xsl:call-template name="fn_display"/>
6261
+ <xsl:call-template name="table_fn_display"/>
6159
6262
  </fo:block>
6160
6263
  </xsl:for-each>
6161
6264
  </xsl:if>
@@ -6172,7 +6275,6 @@
6172
6275
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
6173
6276
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
6174
6277
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
6175
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
6176
6278
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
6177
6279
  </xsl:if>
6178
6280
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -6185,34 +6287,11 @@
6185
6287
  </fo:table-row>
6186
6288
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
6187
6289
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
6188
- <xsl:attribute name="text-align">
6189
- <xsl:choose>
6190
- <xsl:when test="@align">
6191
- <xsl:value-of select="@align"/>
6192
- </xsl:when>
6193
- <xsl:otherwise>left</xsl:otherwise>
6194
- </xsl:choose>
6195
- </xsl:attribute>
6196
- <xsl:if test="@colspan">
6197
- <xsl:attribute name="number-columns-spanned">
6198
- <xsl:value-of select="@colspan"/>
6199
- </xsl:attribute>
6200
- </xsl:if>
6201
- <xsl:if test="@rowspan">
6202
- <xsl:attribute name="number-rows-spanned">
6203
- <xsl:value-of select="@rowspan"/>
6204
- </xsl:attribute>
6205
- </xsl:if>
6206
- <xsl:call-template name="display-align"/>
6290
+ <xsl:call-template name="setTextAlignment">
6291
+ <xsl:with-param name="default">left</xsl:with-param>
6292
+ </xsl:call-template>
6207
6293
 
6208
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6209
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6210
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
6211
- </xsl:if>
6212
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
6213
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6214
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6215
- </xsl:if> -->
6294
+ <xsl:call-template name="setTableCellAttributes"/>
6216
6295
 
6217
6296
  <fo:block>
6218
6297
  <xsl:apply-templates/>
@@ -6224,37 +6303,15 @@
6224
6303
  <xsl:attribute name="padding">0mm</xsl:attribute>
6225
6304
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
6226
6305
  </xsl:if>
6227
- <xsl:attribute name="text-align">
6228
- <xsl:choose>
6229
- <xsl:when test="@align">
6230
- <xsl:value-of select="@align"/>
6231
- </xsl:when>
6232
- <xsl:otherwise>left</xsl:otherwise>
6233
- </xsl:choose>
6234
- </xsl:attribute>
6306
+ <xsl:call-template name="setTextAlignment">
6307
+ <xsl:with-param name="default">left</xsl:with-param>
6308
+ </xsl:call-template>
6309
+
6235
6310
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
6236
6311
  <xsl:attribute name="font-weight">bold</xsl:attribute>
6237
6312
  </xsl:if>
6238
- <xsl:if test="@colspan">
6239
- <xsl:attribute name="number-columns-spanned">
6240
- <xsl:value-of select="@colspan"/>
6241
- </xsl:attribute>
6242
- </xsl:if>
6243
- <xsl:if test="@rowspan">
6244
- <xsl:attribute name="number-rows-spanned">
6245
- <xsl:value-of select="@rowspan"/>
6246
- </xsl:attribute>
6247
- </xsl:if>
6248
- <xsl:call-template name="display-align"/>
6249
6313
 
6250
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6251
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
6252
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6253
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
6254
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6255
- </xsl:if>
6256
- </xsl:if> -->
6257
- <!-- 2nd line and below -->
6314
+ <xsl:call-template name="setTableCellAttributes"/>
6258
6315
 
6259
6316
  <fo:block>
6260
6317
  <xsl:apply-templates/>
@@ -6266,15 +6323,15 @@
6266
6323
  <xsl:apply-templates/>
6267
6324
  </fo:block>
6268
6325
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
6269
- <fo:block> <!-- margin-bottom="10pt" -->
6326
+ <fo:block>
6270
6327
  <xsl:apply-templates/>
6271
6328
  </fo:block>
6272
6329
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
6273
6330
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
6274
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6275
- <xsl:apply-templates/>
6331
+ <xsl:apply-templates select="*[local-name()='name']"/>
6332
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6276
6333
  </fo:block>
6277
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
6334
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
6278
6335
  <xsl:if test="normalize-space() != ''">
6279
6336
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
6280
6337
  <xsl:apply-templates/>
@@ -6298,42 +6355,46 @@
6298
6355
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
6299
6356
 
6300
6357
 
6301
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6302
-
6303
- <xsl:variable name="element">
6304
- block
6305
-
6306
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
6358
+ <xsl:variable name="fo_element">
6359
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
6360
+ block
6307
6361
  </xsl:variable>
6308
6362
 
6363
+ <!-- display 'EXAMPLE' -->
6364
+ <xsl:apply-templates select="*[local-name()='name']">
6365
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6366
+ </xsl:apply-templates>
6367
+
6309
6368
  <xsl:choose>
6310
- <xsl:when test="contains(normalize-space($element), 'block')">
6311
- <fo:block xsl:use-attribute-sets="example-body-style">
6312
- <xsl:apply-templates/>
6313
- </fo:block>
6369
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
6370
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
6371
+ <fo:block-container margin-left="0mm" margin-right="0mm">
6372
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
6373
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6374
+ </xsl:apply-templates>
6375
+ </fo:block-container>
6376
+ </fo:block-container>
6314
6377
  </xsl:when>
6315
6378
  <xsl:otherwise>
6316
6379
  <fo:inline>
6317
- <xsl:apply-templates/>
6380
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
6381
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6382
+ </xsl:apply-templates>
6318
6383
  </fo:inline>
6319
6384
  </xsl:otherwise>
6320
6385
  </xsl:choose>
6321
6386
 
6322
6387
  </fo:block>
6323
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
6324
-
6325
- <xsl:variable name="element">
6326
- block
6327
-
6328
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
6329
- </xsl:variable>
6388
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
6389
+ <xsl:param name="fo_element">block</xsl:param>
6390
+
6330
6391
  <xsl:choose>
6331
6392
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
6332
6393
  <fo:inline>
6333
6394
  <xsl:apply-templates/>
6334
6395
  </fo:inline>
6335
6396
  </xsl:when>
6336
- <xsl:when test="contains(normalize-space($element), 'block')">
6397
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
6337
6398
  <fo:block xsl:use-attribute-sets="example-name-style">
6338
6399
  <xsl:apply-templates/>
6339
6400
  </fo:block>
@@ -6346,14 +6407,15 @@
6346
6407
  </xsl:choose>
6347
6408
 
6348
6409
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
6410
+ <xsl:param name="fo_element">block</xsl:param>
6411
+
6349
6412
  <xsl:variable name="num"><xsl:number/></xsl:variable>
6350
6413
  <xsl:variable name="element">
6351
- block
6352
-
6353
6414
 
6415
+ <xsl:value-of select="$fo_element"/>
6354
6416
  </xsl:variable>
6355
6417
  <xsl:choose>
6356
- <xsl:when test="normalize-space($element) = 'block'">
6418
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
6357
6419
  <fo:block xsl:use-attribute-sets="example-p-style">
6358
6420
 
6359
6421
  <xsl:apply-templates/>
@@ -6368,49 +6430,70 @@
6368
6430
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
6369
6431
  <fo:block xsl:use-attribute-sets="termsource-style">
6370
6432
 
6433
+
6434
+
6371
6435
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
6372
6436
  <xsl:variable name="termsource_text">
6373
6437
  <xsl:apply-templates/>
6374
6438
  </xsl:variable>
6375
-
6376
- <xsl:choose>
6439
+ <xsl:copy-of select="$termsource_text"/>
6440
+ <!-- <xsl:choose>
6377
6441
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
6378
- <!-- <xsl:apply-templates /> -->
6379
6442
  <xsl:copy-of select="$termsource_text"/>
6380
6443
  </xsl:when>
6381
6444
  <xsl:otherwise>
6382
-
6383
-
6445
+ <xsl:if test="$namespace = 'bsi'">
6446
+ <xsl:choose>
6447
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>{</xsl:text></xsl:when>
6448
+ <xsl:otherwise><xsl:text>[</xsl:text></xsl:otherwise>
6449
+ </xsl:choose>
6450
+ </xsl:if>
6451
+ <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
6384
6452
  <xsl:text>[</xsl:text>
6385
-
6386
- <!-- <xsl:apply-templates /> -->
6453
+ </xsl:if>
6387
6454
  <xsl:copy-of select="$termsource_text"/>
6388
-
6389
-
6455
+ <xsl:if test="$namespace = 'bsi'">
6456
+ <xsl:choose>
6457
+ <xsl:when test="$document_type = 'PAS' and starts-with(*[local-name() = 'origin']/@citeas, '[')"><xsl:text>}</xsl:text></xsl:when>
6458
+ <xsl:otherwise><xsl:text>]</xsl:text></xsl:otherwise>
6459
+ </xsl:choose>
6460
+ </xsl:if>
6461
+ <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'itu' or $namespace = 'unece' or $namespace = 'unece-rec' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'ogc-white-paper' or $namespace = 'csa' or $namespace = 'csd' or $namespace = 'm3d' or $namespace = 'iho' or $namespace = 'bipm' or $namespace = 'jcgm'">
6390
6462
  <xsl:text>]</xsl:text>
6391
-
6463
+ </xsl:if>
6392
6464
  </xsl:otherwise>
6393
- </xsl:choose>
6465
+ </xsl:choose> -->
6394
6466
  </fo:block>
6395
6467
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
6396
6468
  <xsl:if test="normalize-space() != ''">
6397
6469
  <xsl:value-of select="."/>
6398
6470
  </xsl:if>
6399
- </xsl:template><xsl:variable name="localized.source">
6400
- <xsl:call-template name="getLocalizedString">
6401
- <xsl:with-param name="key">source</xsl:with-param>
6402
- </xsl:call-template>
6403
- </xsl:variable><xsl:template match="*[local-name() = 'origin']">
6471
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
6472
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
6473
+ <xsl:value-of select="."/>
6474
+ </fo:inline>
6475
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
6404
6476
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
6405
6477
  <xsl:if test="normalize-space(@citeas) = ''">
6406
6478
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
6407
6479
  </xsl:if>
6408
-
6409
6480
  <fo:inline xsl:use-attribute-sets="origin-style">
6410
6481
  <xsl:apply-templates/>
6411
6482
  </fo:inline>
6412
-
6413
- </fo:basic-link>
6483
+ </fo:basic-link>
6484
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
6485
+ <xsl:variable name="title-modified">
6486
+ <xsl:call-template name="getLocalizedString">
6487
+ <xsl:with-param name="key">modified</xsl:with-param>
6488
+ </xsl:call-template>
6489
+ </xsl:variable>
6490
+
6491
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
6492
+ <xsl:choose>
6493
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
6494
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
6495
+ </xsl:choose>
6496
+ <xsl:apply-templates/>
6414
6497
  </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
6415
6498
  <fo:inline><xsl:apply-templates/></fo:inline>
6416
6499
  </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
@@ -6429,7 +6512,6 @@
6429
6512
  <fo:block-container margin-left="0mm">
6430
6513
 
6431
6514
  <fo:block xsl:use-attribute-sets="quote-style">
6432
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
6433
6515
 
6434
6516
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
6435
6517
  </fo:block>
@@ -6472,15 +6554,13 @@
6472
6554
  </xsl:variable>
6473
6555
 
6474
6556
  <xsl:choose>
6475
- <xsl:when test="normalize-space($bibitemid) != ''">
6557
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
6476
6558
  <fo:inline xsl:use-attribute-sets="eref-style">
6477
6559
  <xsl:if test="@type = 'footnote'">
6478
-
6479
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6480
- <xsl:attribute name="font-size">80%</xsl:attribute>
6481
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6482
- <xsl:attribute name="vertical-align">super</xsl:attribute>
6483
-
6560
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6561
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6562
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
6563
+ <xsl:attribute name="font-size">80%</xsl:attribute>
6484
6564
 
6485
6565
  </xsl:if>
6486
6566
 
@@ -6497,7 +6577,6 @@
6497
6577
 
6498
6578
 
6499
6579
 
6500
-
6501
6580
  </xsl:if>
6502
6581
 
6503
6582
 
@@ -6558,8 +6637,6 @@
6558
6637
  </xsl:choose>
6559
6638
  </xsl:variable>
6560
6639
 
6561
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
6562
-
6563
6640
  <xsl:choose>
6564
6641
  <xsl:when test="$lang = 'zh'">
6565
6642
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -6594,12 +6671,9 @@
6594
6671
  </fo:block>
6595
6672
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
6596
6673
  <xsl:variable name="title-deprecated">
6597
-
6598
- <xsl:call-template name="getLocalizedString">
6599
- <xsl:with-param name="key">deprecated</xsl:with-param>
6600
- </xsl:call-template>
6601
-
6602
-
6674
+ <xsl:call-template name="getLocalizedString">
6675
+ <xsl:with-param name="key">deprecated</xsl:with-param>
6676
+ </xsl:call-template>
6603
6677
  </xsl:variable>
6604
6678
  <fo:block xsl:use-attribute-sets="deprecates-style">
6605
6679
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -6608,6 +6682,8 @@
6608
6682
  <xsl:if test="*[local-name() = 'strong']">
6609
6683
  <xsl:attribute name="font-weight">normal</xsl:attribute>
6610
6684
  </xsl:if>
6685
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
6686
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
6611
6687
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
6612
6688
  <fo:block xsl:use-attribute-sets="definition-style">
6613
6689
  <xsl:apply-templates/>
@@ -6616,7 +6692,6 @@
6616
6692
  <xsl:apply-templates/>
6617
6693
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
6618
6694
  <fo:inline> <xsl:apply-templates/></fo:inline>
6619
- <!-- <fo:block>&#xA0;</fo:block> -->
6620
6695
  <fo:block/>
6621
6696
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
6622
6697
 
@@ -6663,11 +6738,6 @@
6663
6738
  <xsl:apply-templates/>
6664
6739
  </fo:block>
6665
6740
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
6666
- <fo:block id="{@id}">
6667
- <xsl:apply-templates/>
6668
- </fo:block>
6669
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
6670
-
6671
6741
  <fo:block id="{@id}">
6672
6742
  <xsl:apply-templates/>
6673
6743
  </fo:block>
@@ -6684,6 +6754,49 @@
6684
6754
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6685
6755
  <!-- 0xA0 to space replacement -->
6686
6756
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6757
+ </xsl:template><xsl:variable name="ul_labels_">
6758
+
6759
+
6760
+
6761
+
6762
+
6763
+
6764
+
6765
+
6766
+
6767
+
6768
+
6769
+
6770
+
6771
+
6772
+
6773
+
6774
+
6775
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6776
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6777
+ <xsl:variable name="list_level">
6778
+ <xsl:choose>
6779
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6780
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6781
+ </xsl:choose>
6782
+ </xsl:variable>
6783
+ <xsl:choose>
6784
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6785
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6786
+ </xsl:when>
6787
+ <xsl:when test="$list_level mod 3 = 0">
6788
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6789
+ </xsl:when>
6790
+ <xsl:when test="$list_level mod 2 = 0">
6791
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6792
+ </xsl:when>
6793
+ <xsl:otherwise>
6794
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6795
+ </xsl:otherwise>
6796
+ </xsl:choose>
6797
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6798
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6799
+ <xsl:value-of select="."/>
6687
6800
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6688
6801
  <xsl:choose>
6689
6802
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6890,20 +7003,126 @@
6890
7003
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
6891
7004
  <fo:block><xsl:apply-templates/></fo:block>
6892
7005
  </fo:table-cell>
6893
- </xsl:template><xsl:template name="processBibitem">
7006
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/><xsl:template match="*[local-name() = 'references'][@normative='true']" priority="2">
7007
+
7008
+
7009
+
7010
+ <fo:block id="{@id}">
7011
+ <xsl:apply-templates/>
7012
+ </fo:block>
7013
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
7014
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
7015
+
7016
+ <fo:block break-after="page"/>
7017
+
7018
+ </xsl:if>
7019
+
7020
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
7021
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
7022
+ <fo:block break-after="page"/>
7023
+ </xsl:if>
7024
+ </xsl:if> -->
7025
+
7026
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
7027
+ <xsl:apply-templates/>
7028
+ </fo:block>
6894
7029
 
6895
7030
 
6896
7031
 
6897
-
6898
7032
 
7033
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
7034
+ <xsl:call-template name="bibitem"/>
7035
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
7036
+
7037
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
7038
+ <xsl:call-template name="processBibitem"/>
7039
+ </fo:block>
7040
+
7041
+
7042
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
6899
7043
 
6900
-
6901
7044
 
7045
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-style">
7046
+ <xsl:call-template name="processBibitem"/>
7047
+ </fo:block>
7048
+
6902
7049
 
7050
+ </xsl:template><xsl:template name="processBibitem">
6903
7051
 
6904
7052
 
7053
+
7054
+ <!-- Example: [ITU-T A.23] ITU-T A.23, Recommendation ITU-T A.23, Annex A (2014), Guide for ITU-T and ISO/IEC JTC 1 cooperation. -->
7055
+ <xsl:if test="$doctype = 'implementers-guide'">
7056
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
7057
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
7058
+ </xsl:if>
7059
+
7060
+ <xsl:variable name="bibitem_label">
7061
+ <xsl:choose>
7062
+ <xsl:when test="itu:docidentifier[@type = 'metanorma']">
7063
+ <xsl:value-of select="itu:docidentifier[@type = 'metanorma']"/>
7064
+ </xsl:when>
7065
+ <xsl:otherwise>
7066
+ <fo:inline padding-right="5mm">
7067
+ <xsl:text>[</xsl:text>
7068
+ <xsl:value-of select="itu:docidentifier[not(@type = 'metanorma-ordinal')]"/>
7069
+ <xsl:text>] </xsl:text>
7070
+ </fo:inline>
7071
+ </xsl:otherwise>
7072
+ </xsl:choose>
7073
+ </xsl:variable>
7074
+
7075
+ <xsl:variable name="bibitem_body">
7076
+ <xsl:text> </xsl:text>
7077
+ <xsl:choose>
7078
+ <xsl:when test="itu:docidentifier[@type = 'metanorma']">
7079
+ <xsl:if test="itu:docidentifier[not(@type) or not(@type = 'metanorma' or @type = 'metanorma-ordinal')]">
7080
+ <xsl:value-of select="itu:docidentifier[not(@type) or not(@type = 'metanorma' or @type = 'metanorma-ordinal')]"/>
7081
+ <xsl:text>, </xsl:text>
7082
+ </xsl:if>
7083
+ </xsl:when>
7084
+ <xsl:otherwise>
7085
+ <xsl:value-of select="itu:docidentifier[not(@type = 'metanorma-ordinal')]"/>
7086
+ <xsl:if test="itu:title">
7087
+ <xsl:text>, </xsl:text>
7088
+ </xsl:if>
7089
+ </xsl:otherwise>
7090
+ </xsl:choose>
7091
+ <xsl:if test="itu:title">
7092
+ <xsl:choose>
7093
+ <xsl:when test="itu:title[@type = 'main' and @language = 'en']">
7094
+ <xsl:apply-templates select="itu:title[@type = 'main' and @language = 'en']"/>
7095
+ </xsl:when>
7096
+ <xsl:otherwise>
7097
+ <xsl:apply-templates select="itu:title"/>
7098
+ </xsl:otherwise>
7099
+ </xsl:choose>
7100
+ </xsl:if>
7101
+ <xsl:if test="itu:formattedref and not(itu:docidentifier[@type = 'metanorma'])">, </xsl:if>
7102
+ <xsl:apply-templates select="itu:formattedref"/>
7103
+ </xsl:variable>
7104
+
7105
+ <xsl:choose>
7106
+ <xsl:when test="$doctype = 'implementers-guide'">
7107
+ <fo:table width="100%" table-layout="fixed">
7108
+ <fo:table-column column-width="20%"/>
7109
+ <fo:table-column column-width="80%"/>
7110
+ <fo:table-body>
7111
+ <fo:table-row>
7112
+ <fo:table-cell><fo:block><xsl:copy-of select="$bibitem_label"/></fo:block></fo:table-cell>
7113
+ <fo:table-cell><fo:block><xsl:copy-of select="$bibitem_body"/></fo:block></fo:table-cell>
7114
+ </fo:table-row>
7115
+ </fo:table-body>
7116
+ </fo:table>
7117
+ </xsl:when>
7118
+ <xsl:otherwise>
7119
+ <xsl:copy-of select="$bibitem_label"/>
7120
+ <xsl:copy-of select="$bibitem_body"/>
7121
+ </xsl:otherwise>
7122
+ </xsl:choose>
7123
+
6905
7124
  </xsl:template><xsl:template name="processBibitemDocId">
6906
- <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
7125
+ <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
6907
7126
  <xsl:choose>
6908
7127
  <xsl:when test="normalize-space($_doc_ident) != ''">
6909
7128
  <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
@@ -6917,7 +7136,7 @@
6917
7136
  <xsl:if test="$type != ''">
6918
7137
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
6919
7138
  </xsl:if> -->
6920
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
7139
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
6921
7140
  </xsl:otherwise>
6922
7141
  </xsl:choose>
6923
7142
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -6958,6 +7177,48 @@
6958
7177
  <xsl:value-of select="substring(.,1,1)"/>
6959
7178
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
6960
7179
  <fo:inline><xsl:apply-templates/></fo:inline>
7180
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
7181
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
7182
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
7183
+ <xsl:apply-templates/>
7184
+ </fo:inline>
7185
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
7186
+ <fo:footnote>
7187
+ <xsl:variable name="number">
7188
+
7189
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
7190
+
7191
+ </xsl:variable>
7192
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
7193
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
7194
+ <xsl:value-of select="$number"/>
7195
+
7196
+ </fo:basic-link>
7197
+ </fo:inline>
7198
+ <fo:footnote-body>
7199
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
7200
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
7201
+ <xsl:value-of select="$number"/>
7202
+
7203
+ </fo:inline>
7204
+ <xsl:apply-templates/>
7205
+ </fo:block>
7206
+ </fo:footnote-body>
7207
+ </fo:footnote>
7208
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
7209
+ <xsl:text> edition </xsl:text>
7210
+ <xsl:value-of select="."/>
7211
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
7212
+ <xsl:text> (</xsl:text>
7213
+ <fo:inline xsl:use-attribute-sets="link-style">
7214
+ <fo:basic-link external-destination="." fox:alt-text=".">
7215
+ <xsl:value-of select="."/>
7216
+ </fo:basic-link>
7217
+ </fo:inline>
7218
+ <xsl:text>)</xsl:text>
7219
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
7220
+
7221
+ <xsl:apply-templates/>
6961
7222
  </xsl:template><xsl:template match="*[local-name() = 'form']">
6962
7223
  <fo:block>
6963
7224
  <xsl:apply-templates/>
@@ -7022,7 +7283,18 @@
7022
7283
  <fo:block-container border="1pt solid black" width="50%">
7023
7284
  <fo:block> </fo:block>
7024
7285
  </fo:block-container>
7025
- </xsl:template><xsl:template match="*[local-name() = 'toc']">
7286
+ </xsl:template><xsl:variable name="toc_level">
7287
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
7288
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
7289
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
7290
+ <xsl:choose>
7291
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
7292
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
7293
+ <xsl:otherwise><!-- default value -->
7294
+ 2
7295
+ </xsl:otherwise>
7296
+ </xsl:choose>
7297
+ </xsl:variable><xsl:template match="*[local-name() = 'toc']">
7026
7298
  <xsl:param name="colwidths"/>
7027
7299
  <xsl:variable name="colwidths_">
7028
7300
  <xsl:choose>
@@ -7102,7 +7374,7 @@
7102
7374
  </td>
7103
7375
  </xsl:for-each>
7104
7376
  <td>333</td> <!-- page number, just for fill -->
7105
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
7377
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
7106
7378
  <fo:inline padding-right="5mm"> </fo:inline>
7107
7379
  <fo:inline><xsl:apply-templates/></fo:inline>
7108
7380
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -7113,6 +7385,66 @@
7113
7385
  </svg>
7114
7386
  </fo:instream-foreign-object>
7115
7387
  </fo:inline>
7388
+ </xsl:template><xsl:template match="@language">
7389
+ <xsl:copy-of select="."/>
7390
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
7391
+ <xsl:call-template name="title"/>
7392
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
7393
+
7394
+
7395
+
7396
+
7397
+
7398
+ <!-- text in the box -->
7399
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
7400
+
7401
+
7402
+
7403
+
7404
+
7405
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
7406
+
7407
+
7408
+ <fo:block xsl:use-attribute-sets="admonition-name-style">
7409
+ <xsl:call-template name="displayAdmonitionName"/>
7410
+ </fo:block>
7411
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
7412
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7413
+ </fo:block>
7414
+
7415
+ </fo:block-container>
7416
+
7417
+ </fo:block-container>
7418
+
7419
+ </xsl:template><xsl:template name="displayAdmonitionName">
7420
+
7421
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7422
+ <xsl:if test="not(*[local-name() = 'name'])">
7423
+ <xsl:apply-templates select="@type"/>
7424
+ </xsl:if>
7425
+
7426
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7427
+ <xsl:apply-templates/>
7428
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
7429
+ <xsl:variable name="admonition_type_">
7430
+ <xsl:call-template name="getLocalizedString">
7431
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
7432
+ </xsl:call-template>
7433
+ </xsl:variable>
7434
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
7435
+ <xsl:value-of select="$admonition_type"/>
7436
+ <xsl:if test="$admonition_type = ''">
7437
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
7438
+ </xsl:if>
7439
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
7440
+
7441
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
7442
+
7443
+
7444
+
7445
+ <xsl:apply-templates/>
7446
+ </fo:block>
7447
+
7116
7448
  </xsl:template><xsl:template name="convertDate">
7117
7449
  <xsl:param name="date"/>
7118
7450
  <xsl:param name="format" select="'short'"/>
@@ -7121,78 +7453,39 @@
7121
7453
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
7122
7454
  <xsl:variable name="monthStr">
7123
7455
  <xsl:choose>
7124
- <xsl:when test="$month = '01'">January</xsl:when>
7125
- <xsl:when test="$month = '02'">February</xsl:when>
7126
- <xsl:when test="$month = '03'">March</xsl:when>
7127
- <xsl:when test="$month = '04'">April</xsl:when>
7128
- <xsl:when test="$month = '05'">May</xsl:when>
7129
- <xsl:when test="$month = '06'">June</xsl:when>
7130
- <xsl:when test="$month = '07'">July</xsl:when>
7131
- <xsl:when test="$month = '08'">August</xsl:when>
7132
- <xsl:when test="$month = '09'">September</xsl:when>
7133
- <xsl:when test="$month = '10'">October</xsl:when>
7134
- <xsl:when test="$month = '11'">November</xsl:when>
7135
- <xsl:when test="$month = '12'">December</xsl:when>
7136
- </xsl:choose>
7137
- </xsl:variable>
7138
- <xsl:variable name="result">
7139
- <xsl:choose>
7140
- <xsl:when test="$format = 'ddMMyyyy'">
7141
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7142
- <xsl:text> </xsl:text>
7143
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7144
- </xsl:when>
7145
- <xsl:when test="$format = 'ddMM'">
7146
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7147
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7148
- </xsl:when>
7149
- <xsl:when test="$format = 'short' or $day = ''">
7150
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7151
- </xsl:when>
7152
- <xsl:otherwise>
7153
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7154
- </xsl:otherwise>
7456
+ <xsl:when test="$month = '01'">january</xsl:when>
7457
+ <xsl:when test="$month = '02'">february</xsl:when>
7458
+ <xsl:when test="$month = '03'">march</xsl:when>
7459
+ <xsl:when test="$month = '04'">april</xsl:when>
7460
+ <xsl:when test="$month = '05'">may</xsl:when>
7461
+ <xsl:when test="$month = '06'">june</xsl:when>
7462
+ <xsl:when test="$month = '07'">july</xsl:when>
7463
+ <xsl:when test="$month = '08'">august</xsl:when>
7464
+ <xsl:when test="$month = '09'">september</xsl:when>
7465
+ <xsl:when test="$month = '10'">october</xsl:when>
7466
+ <xsl:when test="$month = '11'">november</xsl:when>
7467
+ <xsl:when test="$month = '12'">december</xsl:when>
7155
7468
  </xsl:choose>
7156
7469
  </xsl:variable>
7157
- <xsl:value-of select="$result"/>
7158
- </xsl:template><xsl:template name="convertDateLocalized">
7159
- <xsl:param name="date"/>
7160
- <xsl:param name="format" select="'short'"/>
7161
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
7162
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
7163
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
7164
- <xsl:variable name="monthStr">
7165
- <xsl:choose>
7166
- <xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
7167
- <xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
7168
- <xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
7169
- <xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
7170
- <xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
7171
- <xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
7172
- <xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
7173
- <xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
7174
- <xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
7175
- <xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
7176
- <xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
7177
- <xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
7178
- </xsl:choose>
7470
+ <xsl:variable name="monthStr_localized">
7471
+ <xsl:if test="normalize-space($monthStr) != ''"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param></xsl:call-template></xsl:if>
7179
7472
  </xsl:variable>
7180
7473
  <xsl:variable name="result">
7181
7474
  <xsl:choose>
7182
7475
  <xsl:when test="$format = 'ddMMyyyy'">
7183
7476
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7184
7477
  <xsl:text> </xsl:text>
7185
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7478
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
7186
7479
  </xsl:when>
7187
7480
  <xsl:when test="$format = 'ddMM'">
7188
7481
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7189
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7482
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
7190
7483
  </xsl:when>
7191
7484
  <xsl:when test="$format = 'short' or $day = ''">
7192
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7485
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
7193
7486
  </xsl:when>
7194
7487
  <xsl:otherwise>
7195
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7488
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
7196
7489
  </xsl:otherwise>
7197
7490
  </xsl:choose>
7198
7491
  </xsl:variable>
@@ -7245,13 +7538,8 @@
7245
7538
  <xsl:variable name="title">
7246
7539
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7247
7540
 
7248
-
7249
-
7250
-
7251
-
7252
-
7253
- <xsl:value-of select="*[local-name() = 'title'][@type='main']"/>
7254
-
7541
+ <xsl:value-of select="*[local-name() = 'title'][@type='main']"/>
7542
+
7255
7543
  </xsl:for-each>
7256
7544
  </xsl:variable>
7257
7545
  <xsl:choose>
@@ -7266,21 +7554,18 @@
7266
7554
  <dc:creator>
7267
7555
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7268
7556
 
7269
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
7270
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
7271
- <xsl:if test="position() != last()">; </xsl:if>
7272
- </xsl:for-each>
7273
-
7274
-
7275
-
7557
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
7558
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
7559
+ <xsl:if test="position() != last()">; </xsl:if>
7560
+ </xsl:for-each>
7561
+
7276
7562
  </xsl:for-each>
7277
7563
  </dc:creator>
7278
7564
  <dc:description>
7279
7565
  <xsl:variable name="abstract">
7280
7566
 
7281
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
7282
-
7283
-
7567
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
7568
+
7284
7569
  </xsl:variable>
7285
7570
  <xsl:value-of select="normalize-space($abstract)"/>
7286
7571
  </dc:description>
@@ -7300,7 +7585,6 @@
7300
7585
  <xsl:value-of select="../@id"/>
7301
7586
  </xsl:when>
7302
7587
  <xsl:otherwise>
7303
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
7304
7588
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
7305
7589
  </xsl:otherwise>
7306
7590
  </xsl:choose>
@@ -7326,9 +7610,6 @@
7326
7610
  <xsl:when test="ancestor::*[local-name() = 'preface']">
7327
7611
  <xsl:value-of select="$level_total - 2"/>
7328
7612
  </xsl:when>
7329
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
7330
- <xsl:value-of select="$level_total - 1"/>
7331
- </xsl:when> -->
7332
7613
  <xsl:when test="ancestor::*[local-name() = 'sections']">
7333
7614
  <xsl:value-of select="$level_total - 1"/>
7334
7615
  </xsl:when>
@@ -7470,9 +7751,15 @@
7470
7751
  </xsl:template><xsl:template name="getLocalizedString">
7471
7752
  <xsl:param name="key"/>
7472
7753
  <xsl:param name="formatted">false</xsl:param>
7754
+ <xsl:param name="lang"/>
7473
7755
 
7474
7756
  <xsl:variable name="curr_lang">
7475
- <xsl:call-template name="getLang"/>
7757
+ <xsl:choose>
7758
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
7759
+ <xsl:otherwise>
7760
+ <xsl:call-template name="getLang"/>
7761
+ </xsl:otherwise>
7762
+ </xsl:choose>
7476
7763
  </xsl:variable>
7477
7764
 
7478
7765
  <xsl:variable name="data_value">
@@ -7512,7 +7799,6 @@
7512
7799
  <xsl:value-of select="$key_"/>
7513
7800
  </xsl:otherwise>
7514
7801
  </xsl:choose>
7515
-
7516
7802
  </xsl:template><xsl:template name="setTrackChangesStyles">
7517
7803
  <xsl:param name="isAdded"/>
7518
7804
  <xsl:param name="isDeleted"/>
@@ -7535,7 +7821,6 @@
7535
7821
  <xsl:if test="local-name() = 'table'">
7536
7822
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
7537
7823
  </xsl:if>
7538
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
7539
7824
  <xsl:attribute name="padding">2mm</xsl:attribute>
7540
7825
  </xsl:if>
7541
7826
  </xsl:otherwise>
@@ -7555,15 +7840,18 @@
7555
7840
  </xsl:choose>
7556
7841
  </xsl:template><xsl:template name="setTextAlignment">
7557
7842
  <xsl:param name="default">left</xsl:param>
7843
+ <xsl:variable name="align" select="normalize-space(@align)"/>
7558
7844
  <xsl:attribute name="text-align">
7559
7845
  <xsl:choose>
7560
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
7846
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
7847
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
7848
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
7561
7849
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
7562
7850
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
7563
7851
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
7564
7852
  </xsl:choose>
7565
7853
  </xsl:attribute>
7566
- <xsl:if test="@align = 'indent'">
7854
+ <xsl:if test="$align = 'indent'">
7567
7855
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
7568
7856
  </xsl:if>
7569
7857
  </xsl:template><xsl:template name="number-to-words">
@@ -7662,4 +7950,14 @@
7662
7950
  </xsl:otherwise>
7663
7951
  </xsl:choose>
7664
7952
  </xsl:if>
7953
+ </xsl:template><xsl:template name="setAltText">
7954
+ <xsl:param name="value"/>
7955
+ <xsl:attribute name="fox:alt-text">
7956
+ <xsl:choose>
7957
+ <xsl:when test="normalize-space($value) != ''">
7958
+ <xsl:value-of select="$value"/>
7959
+ </xsl:when>
7960
+ <xsl:otherwise>_</xsl:otherwise>
7961
+ </xsl:choose>
7962
+ </xsl:attribute>
7665
7963
  </xsl:template></xsl:stylesheet>