metanorma-itu 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,8 +14,7 @@
14
14
 
15
15
 
16
16
  <xsl:variable name="debug">false</xsl:variable>
17
- <xsl:variable name="pageWidth" select="210"/>
18
- <xsl:variable name="pageHeight" select="297"/>
17
+
19
18
  <xsl:variable name="marginLeftRight1" select="20"/>
20
19
  <xsl:variable name="marginLeftRight2" select="20"/>
21
20
  <xsl:variable name="marginTop" select="20"/>
@@ -1596,19 +1595,10 @@
1596
1595
  </xsl:template>
1597
1596
 
1598
1597
 
1599
- <xsl:template match="itu:legal-statement//itu:title | itu:license-statement//itu:title">
1600
- <xsl:variable name="level">
1601
- <xsl:call-template name="getLevel"/>
1602
- </xsl:variable>
1603
- <fo:block text-align="center" margin-top="6pt" role="H{$level}">
1604
- <xsl:apply-templates/>
1605
- </fo:block>
1606
- </xsl:template>
1607
-
1608
1598
  <!-- ====== -->
1609
1599
  <!-- ====== -->
1610
1600
 
1611
- <xsl:template match="itu:legal-statement//itu:p | itu:license-statement//itu:p">
1601
+ <xsl:template match="itu:legal-statement//itu:p | itu:license-statement//itu:p" priority="2">
1612
1602
  <fo:block margin-top="6pt">
1613
1603
  <xsl:apply-templates/>
1614
1604
  </fo:block>
@@ -1619,7 +1609,7 @@
1619
1609
  </xsl:if>
1620
1610
  </xsl:template>
1621
1611
 
1622
- <xsl:template match="itu:copyright-statement//itu:p">
1612
+ <xsl:template match="itu:copyright-statement//itu:p" priority="2">
1623
1613
  <fo:block>
1624
1614
  <xsl:if test="not(preceding-sibling::itu:p)"> <!-- first para -->
1625
1615
  <xsl:attribute name="text-align">center</xsl:attribute>
@@ -1684,7 +1674,7 @@
1684
1674
  <!-- <xsl:if test="following-sibling::itu:table">
1685
1675
  <fo:block space-after="18pt">&#xA0;</fo:block>
1686
1676
  </xsl:if> -->
1687
- </xsl:template>
1677
+ </xsl:template> <!-- preferred -->
1688
1678
 
1689
1679
  <xsl:template match="itu:term[itu:preferred]/itu:termsource" priority="2"/>
1690
1680
 
@@ -1707,6 +1697,10 @@
1707
1697
  </xsl:choose>
1708
1698
  </xsl:template>
1709
1699
 
1700
+ <xsl:template match="itu:definition/*" mode="process">
1701
+ <xsl:apply-templates select="."/>
1702
+ </xsl:template>
1703
+
1710
1704
  <!-- footnotes for title -->
1711
1705
  <xsl:template match="itu:bibdata/itu:note[@type = 'title-footnote']" mode="title_footnote">
1712
1706
  <xsl:variable name="number" select="position()"/>
@@ -1780,47 +1774,42 @@
1780
1774
  </xsl:if>
1781
1775
  <xsl:choose>
1782
1776
  <xsl:when test="$doctype = 'service-publication'">
1783
- <xsl:apply-templates/>
1777
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
1784
1778
  </xsl:when>
1785
1779
  <xsl:otherwise>
1786
1780
  <fo:list-block>
1787
1781
  <xsl:if test="$doctype = 'service-publication'">
1788
1782
  <xsl:attribute name="provisional-distance-between-starts">0mm</xsl:attribute>
1789
1783
  </xsl:if>
1790
- <xsl:apply-templates/>
1784
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
1791
1785
  </fo:list-block>
1792
1786
  </xsl:otherwise>
1793
1787
  </xsl:choose>
1794
- <xsl:apply-templates select="./itu:note" mode="process"/>
1788
+ <xsl:apply-templates select="./itu:note"/>
1795
1789
  <xsl:if test="../@inline-header='true'">
1796
1790
  <fo:block><xsl:value-of select="$linebreak"/></fo:block>
1797
1791
  </xsl:if>
1798
1792
  </xsl:template>
1799
1793
 
1800
- <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" priority="2"/>
1801
- <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" mode="process">
1794
+ <xsl:template match="itu:ul//itu:note | itu:ol//itu:note" priority="2">
1802
1795
  <fo:block id="{@id}">
1803
1796
  <xsl:apply-templates select="itu:name"/>
1804
- <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
1797
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1805
1798
  </fo:block>
1806
1799
  </xsl:template>
1807
- <xsl:template match="itu:ul//itu:note/itu:name | itu:ol//itu:note/itu:name" mode="process" priority="2"/>
1808
- <xsl:template match="itu:ul//itu:note/itu:p | itu:ol//itu:note/itu:p" mode="process" priority="2">
1800
+
1801
+ <xsl:template match="itu:ul//itu:note/itu:p | itu:ol//itu:note/itu:p" priority="3">
1809
1802
  <fo:block font-size="11pt" margin-top="4pt">
1810
1803
  <xsl:apply-templates/>
1811
1804
  </fo:block>
1812
1805
  </xsl:template>
1813
1806
 
1814
- <xsl:template match="itu:ul//itu:note/* | itu:ol//itu:note/*" mode="process">
1815
- <xsl:apply-templates select="."/>
1816
- </xsl:template>
1817
-
1818
1807
  <xsl:template match="itu:li">
1819
1808
  <xsl:choose>
1820
1809
  <xsl:when test="$doctype = 'service-publication'">
1821
1810
  <fo:block id="{@id}">
1822
- <xsl:apply-templates/>
1823
- <xsl:apply-templates select=".//itu:note" mode="process"/>
1811
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
1812
+ <xsl:apply-templates select="./itu:note"/>
1824
1813
  </fo:block>
1825
1814
  <xsl:if test="following-sibling::itu:li">
1826
1815
  <fo:block> </fo:block>
@@ -1867,8 +1856,8 @@
1867
1856
  <xsl:attribute name="start-indent">7mm</xsl:attribute>
1868
1857
  <xsl:attribute name="text-indent">7mm</xsl:attribute>
1869
1858
  </xsl:if> -->
1870
- <xsl:apply-templates/>
1871
- <xsl:apply-templates select=".//itu:note" mode="process"/>
1859
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
1860
+ <xsl:apply-templates select="./itu:note"/>
1872
1861
  </fo:block>
1873
1862
  </fo:block-container>
1874
1863
  </fo:block-container>
@@ -1954,12 +1943,6 @@
1954
1943
  </fo:table>
1955
1944
  </xsl:template>
1956
1945
 
1957
-
1958
- <xsl:template match="itu:formula" mode="process">
1959
- <xsl:call-template name="formula"/>
1960
- </xsl:template>
1961
-
1962
-
1963
1946
 
1964
1947
  <xsl:template name="insertHeaderFooter">
1965
1948
  <fo:static-content flow-name="footer-even" font-family="Times New Roman" font-size="11pt" role="artifact">
@@ -2164,7 +2147,11 @@
2164
2147
  </xsl:if>
2165
2148
  </xsl:template>
2166
2149
 
2167
- <xsl:variable name="titles_">
2150
+ <xsl:variable name="pageWidth_">
2151
+ 210
2152
+ </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
2153
+ 297
2154
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
2168
2155
 
2169
2156
  <title-edition lang="en">
2170
2157
 
@@ -2267,6 +2254,59 @@
2267
2254
 
2268
2255
 
2269
2256
 
2257
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-style">
2258
+
2259
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
2260
+
2261
+
2262
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-p-style">
2263
+
2264
+
2265
+
2266
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-style">
2267
+
2268
+
2269
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-title-style">
2270
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2271
+
2272
+
2273
+
2274
+ <xsl:attribute name="text-align">center</xsl:attribute>
2275
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2276
+
2277
+
2278
+
2279
+
2280
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-p-style">
2281
+
2282
+
2283
+
2284
+
2285
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-style">
2286
+
2287
+
2288
+
2289
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-title-style">
2290
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2291
+
2292
+ <xsl:attribute name="text-align">center</xsl:attribute>
2293
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-p-style">
2300
+
2301
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-style">
2302
+
2303
+
2304
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-title-style">
2305
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2306
+
2307
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-p-style">
2308
+
2309
+
2270
2310
  </xsl:attribute-set><xsl:attribute-set name="link-style">
2271
2311
 
2272
2312
 
@@ -3087,6 +3127,7 @@
3087
3127
  <xsl:attribute name="margin-left">14mm</xsl:attribute>
3088
3128
  <xsl:attribute name="text-indent">-14mm</xsl:attribute>
3089
3129
 
3130
+
3090
3131
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
3091
3132
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3092
3133
  <xsl:attribute name="font-size">65%</xsl:attribute>
@@ -3197,6 +3238,73 @@
3197
3238
  <xsl:value-of select="."/>
3198
3239
  </xsl:template><xsl:template match="*[local-name()='br']">
3199
3240
  <xsl:value-of select="$linebreak"/>
3241
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']">
3242
+ <fo:block xsl:use-attribute-sets="copyright-statement-style">
3243
+ <xsl:apply-templates/>
3244
+ </fo:block>
3245
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='title']">
3246
+
3247
+ <!-- process in the template 'title' -->
3248
+ <xsl:call-template name="title"/>
3249
+
3250
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='p']">
3251
+
3252
+
3253
+ <!-- process in the template 'paragraph' -->
3254
+ <xsl:call-template name="paragraph"/>
3255
+
3256
+ </xsl:template><xsl:template match="*[local-name()='license-statement']">
3257
+ <fo:block xsl:use-attribute-sets="license-statement-style">
3258
+ <xsl:apply-templates/>
3259
+ </fo:block>
3260
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='title']">
3261
+
3262
+ <xsl:variable name="level">
3263
+ <xsl:call-template name="getLevel"/>
3264
+ </xsl:variable>
3265
+ <fo:block role="H{$level}" xsl:use-attribute-sets="license-statement-title-style">
3266
+ <xsl:apply-templates/>
3267
+ </fo:block>
3268
+
3269
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='p']">
3270
+
3271
+ <!-- process in the template 'paragraph' -->
3272
+ <xsl:call-template name="paragraph"/>
3273
+
3274
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']">
3275
+ <fo:block xsl:use-attribute-sets="legal-statement-style">
3276
+ <xsl:apply-templates/>
3277
+ </fo:block>
3278
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='title']">
3279
+
3280
+ <!-- ogc-white-paper rsd -->
3281
+ <xsl:variable name="level">
3282
+ <xsl:call-template name="getLevel"/>
3283
+ </xsl:variable>
3284
+ <fo:block role="H{$level}" xsl:use-attribute-sets="legal-statement-title-style">
3285
+ <xsl:apply-templates/>
3286
+ </fo:block>
3287
+
3288
+
3289
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
3290
+
3291
+ <!-- process in the template 'paragraph' -->
3292
+ <xsl:call-template name="paragraph"/>
3293
+
3294
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
3295
+ <fo:block xsl:use-attribute-sets="feedback-statement-style">
3296
+ <xsl:apply-templates/>
3297
+ </fo:block>
3298
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='title']">
3299
+
3300
+ <!-- process in the template 'title' -->
3301
+ <xsl:call-template name="title"/>
3302
+
3303
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
3304
+
3305
+ <!-- process in the template 'paragraph' -->
3306
+ <xsl:call-template name="paragraph"/>
3307
+
3200
3308
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
3201
3309
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
3202
3310
  <xsl:call-template name="add-zero-spaces-java"/>
@@ -3347,7 +3455,7 @@
3347
3455
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
3348
3456
  </xsl:when>
3349
3457
  <xsl:otherwise>
3350
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3458
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
3351
3459
  </xsl:otherwise>
3352
3460
  </xsl:choose>
3353
3461
 
@@ -3564,7 +3672,7 @@
3564
3672
 
3565
3673
  <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
3566
3674
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
3567
- </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3675
+ </xsl:template><xsl:template match="*[local-name()='thead']">
3568
3676
  <xsl:param name="cols-count"/>
3569
3677
  <fo:table-header>
3570
3678
 
@@ -3589,13 +3697,13 @@
3589
3697
  <fo:table-body>
3590
3698
  <xsl:apply-templates/>
3591
3699
  </fo:table-body>
3592
- </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
3700
+ </xsl:template><xsl:template match="*[local-name()='tfoot']">
3593
3701
  <xsl:apply-templates/>
3594
3702
  </xsl:template><xsl:template name="insertTableFooter">
3595
3703
  <xsl:param name="cols-count"/>
3596
3704
  <xsl:if test="../*[local-name()='tfoot']">
3597
3705
  <fo:table-footer>
3598
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3706
+ <xsl:apply-templates select="../*[local-name()='tfoot']"/>
3599
3707
  </fo:table-footer>
3600
3708
  </xsl:if>
3601
3709
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
@@ -3700,7 +3808,7 @@
3700
3808
 
3701
3809
  <!-- except gb and bsi -->
3702
3810
 
3703
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3811
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3704
3812
 
3705
3813
 
3706
3814
 
@@ -3738,7 +3846,7 @@
3738
3846
 
3739
3847
 
3740
3848
 
3741
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3849
+ <xsl:apply-templates select="../*[local-name()='thead']">
3742
3850
  <xsl:with-param name="cols-count" select="$cols-count"/>
3743
3851
  </xsl:apply-templates>
3744
3852
 
@@ -3907,7 +4015,7 @@
3907
4015
  <xsl:apply-templates/>
3908
4016
  </fo:block>
3909
4017
  </fo:table-cell>
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">
4018
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
3911
4019
 
3912
4020
  <fo:block xsl:use-attribute-sets="table-note-style">
3913
4021
 
@@ -3930,10 +4038,10 @@
3930
4038
 
3931
4039
 
3932
4040
 
3933
- <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
4041
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3934
4042
  </fo:block>
3935
4043
 
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">
4044
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
3937
4045
  <xsl:apply-templates/>
3938
4046
  </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
4047
 
@@ -4478,7 +4586,9 @@
4478
4586
  </td>
4479
4587
  <td>
4480
4588
 
4481
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4589
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4590
+ <xsl:with-param name="process">true</xsl:with-param>
4591
+ </xsl:apply-templates>
4482
4592
 
4483
4593
  </td>
4484
4594
  </tr>
@@ -4515,15 +4625,20 @@
4515
4625
  <xsl:attribute name="text-align">justify</xsl:attribute>
4516
4626
 
4517
4627
 
4518
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4628
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4629
+ <xsl:with-param name="process">true</xsl:with-param>
4630
+ </xsl:apply-templates>
4519
4631
  </fo:block>
4520
4632
  </fo:table-cell>
4521
4633
  </fo:table-row>
4522
4634
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4523
4635
  <xsl:apply-templates/>
4524
- </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4525
- <xsl:apply-templates select="@language"/>
4526
- <xsl:apply-templates/>
4636
+ </xsl:template><xsl:template match="*[local-name()='dd']">
4637
+ <xsl:param name="process">false</xsl:param>
4638
+ <xsl:if test="$process = 'true'">
4639
+ <xsl:apply-templates select="@language"/>
4640
+ <xsl:apply-templates/>
4641
+ </xsl:if>
4527
4642
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4528
4643
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
4529
4644
  </xsl:template><xsl:template match="*[local-name()='em']">
@@ -4698,7 +4813,11 @@
4698
4813
  <xsl:with-param name="text" select="substring($text,2)"/>
4699
4814
  </xsl:call-template>
4700
4815
  </xsl:if>
4701
- </xsl:template><xsl:template name="tokenize">
4816
+ </xsl:template><xsl:template match="*[local-name() = 'pagebreak']">
4817
+ <fo:block break-after="page"/>
4818
+ <fo:block> </fo:block>
4819
+ <fo:block break-after="page"/>
4820
+ </xsl:template><xsl:template name="tokenize">
4702
4821
  <xsl:param name="text"/>
4703
4822
  <xsl:param name="separator" select="' '"/>
4704
4823
  <xsl:choose>
@@ -5130,10 +5249,10 @@
5130
5249
  </fo:inline>
5131
5250
  </xsl:template><xsl:template match="*[local-name()='appendix']">
5132
5251
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
5133
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
5252
+ <xsl:apply-templates select="*[local-name()='title']"/>
5134
5253
  </fo:block>
5135
- <xsl:apply-templates/>
5136
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
5254
+ <xsl:apply-templates select="node()[not(local-name()='title')]"/>
5255
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" priority="2">
5137
5256
  <xsl:variable name="level">
5138
5257
  <xsl:call-template name="getLevel"/>
5139
5258
  </xsl:variable>
@@ -5759,7 +5878,7 @@
5759
5878
  <xsl:value-of select="."/>
5760
5879
  </xsl:template><xsl:template match="node()" mode="contents">
5761
5880
  <xsl:apply-templates mode="contents"/>
5762
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
5881
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
5763
5882
  <xsl:variable name="level">
5764
5883
  <xsl:call-template name="getLevel">
5765
5884
  <xsl:with-param name="depth" select="@depth"/>
@@ -5767,10 +5886,15 @@
5767
5886
  </xsl:variable>
5768
5887
 
5769
5888
  <xsl:variable name="section">
5770
- <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5889
+ <xsl:choose>
5890
+ <xsl:when test="@type = 'section-title'"/>
5891
+ <xsl:otherwise>
5892
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5893
+ </xsl:otherwise>
5894
+ </xsl:choose>
5771
5895
  </xsl:variable>
5772
5896
 
5773
- <xsl:variable name="type">floating-title</xsl:variable>
5897
+ <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
5774
5898
 
5775
5899
  <xsl:variable name="display">
5776
5900
  <xsl:choose>
@@ -5787,7 +5911,16 @@
5787
5911
  <xsl:variable name="title">
5788
5912
  <xsl:choose>
5789
5913
  <xsl:when test="*[local-name() = 'tab']">
5790
- <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5914
+ <xsl:choose>
5915
+ <xsl:when test="@type = 'section-title'">
5916
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5917
+ <xsl:text>: </xsl:text>
5918
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5919
+ </xsl:when>
5920
+ <xsl:otherwise>
5921
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5922
+ </xsl:otherwise>
5923
+ </xsl:choose>
5791
5924
  </xsl:when>
5792
5925
  <xsl:otherwise>
5793
5926
  <xsl:copy-of select="node()"/>
@@ -7387,7 +7520,7 @@
7387
7520
  </fo:inline>
7388
7521
  </xsl:template><xsl:template match="@language">
7389
7522
  <xsl:copy-of select="."/>
7390
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
7523
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="4">
7391
7524
  <xsl:call-template name="title"/>
7392
7525
  </xsl:template><xsl:template match="*[local-name() = 'admonition']">
7393
7526
 
@@ -7452,27 +7585,17 @@
7452
7585
  <xsl:variable name="month" select="substring($date, 6, 2)"/>
7453
7586
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
7454
7587
  <xsl:variable name="monthStr">
7455
- <xsl:choose>
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>
7468
- </xsl:choose>
7588
+ <xsl:call-template name="getMonthByNum">
7589
+ <xsl:with-param name="num" select="$month"/>
7590
+ <xsl:with-param name="lowercase" select="'true'"/>
7591
+ </xsl:call-template>
7469
7592
  </xsl:variable>
7470
7593
  <xsl:variable name="monthStr_localized">
7471
7594
  <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>
7472
7595
  </xsl:variable>
7473
7596
  <xsl:variable name="result">
7474
7597
  <xsl:choose>
7475
- <xsl:when test="$format = 'ddMMyyyy'">
7598
+ <xsl:when test="$format = 'ddMMyyyy'"> <!-- convert date from format 2007-04-01 to 1 April 2007 -->
7476
7599
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7477
7600
  <xsl:text> </xsl:text>
7478
7601
  <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
@@ -7485,11 +7608,57 @@
7485
7608
  <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
7486
7609
  </xsl:when>
7487
7610
  <xsl:otherwise>
7488
- <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
7611
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/> <!-- January 01, 2022 -->
7489
7612
  </xsl:otherwise>
7490
7613
  </xsl:choose>
7491
7614
  </xsl:variable>
7492
7615
  <xsl:value-of select="$result"/>
7616
+ </xsl:template><xsl:template name="getMonthByNum">
7617
+ <xsl:param name="num"/>
7618
+ <xsl:param name="lang">en</xsl:param>
7619
+ <xsl:param name="lowercase">false</xsl:param> <!-- return 'january' instead of 'January' -->
7620
+ <xsl:variable name="monthStr_">
7621
+ <xsl:choose>
7622
+ <xsl:when test="$lang = 'fr'">
7623
+ <xsl:choose>
7624
+ <xsl:when test="$num = '01'">Janvier</xsl:when>
7625
+ <xsl:when test="$num = '02'">Février</xsl:when>
7626
+ <xsl:when test="$num = '03'">Mars</xsl:when>
7627
+ <xsl:when test="$num = '04'">Avril</xsl:when>
7628
+ <xsl:when test="$num = '05'">Mai</xsl:when>
7629
+ <xsl:when test="$num = '06'">Juin</xsl:when>
7630
+ <xsl:when test="$num = '07'">Juillet</xsl:when>
7631
+ <xsl:when test="$num = '08'">Août</xsl:when>
7632
+ <xsl:when test="$num = '09'">Septembre</xsl:when>
7633
+ <xsl:when test="$num = '10'">Octobre</xsl:when>
7634
+ <xsl:when test="$num = '11'">Novembre</xsl:when>
7635
+ <xsl:when test="$num = '12'">Décembre</xsl:when>
7636
+ </xsl:choose>
7637
+ </xsl:when>
7638
+ <xsl:otherwise>
7639
+ <xsl:choose>
7640
+ <xsl:when test="$num = '01'">January</xsl:when>
7641
+ <xsl:when test="$num = '02'">February</xsl:when>
7642
+ <xsl:when test="$num = '03'">March</xsl:when>
7643
+ <xsl:when test="$num = '04'">April</xsl:when>
7644
+ <xsl:when test="$num = '05'">May</xsl:when>
7645
+ <xsl:when test="$num = '06'">June</xsl:when>
7646
+ <xsl:when test="$num = '07'">July</xsl:when>
7647
+ <xsl:when test="$num = '08'">August</xsl:when>
7648
+ <xsl:when test="$num = '09'">September</xsl:when>
7649
+ <xsl:when test="$num = '10'">October</xsl:when>
7650
+ <xsl:when test="$num = '11'">November</xsl:when>
7651
+ <xsl:when test="$num = '12'">December</xsl:when>
7652
+ </xsl:choose>
7653
+ </xsl:otherwise>
7654
+ </xsl:choose>
7655
+ </xsl:variable>
7656
+ <xsl:choose>
7657
+ <xsl:when test="normalize-space($lowercase) = 'true'">
7658
+ <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($monthStr_))"/>
7659
+ </xsl:when>
7660
+ <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
7661
+ </xsl:choose>
7493
7662
  </xsl:template><xsl:template name="insertKeywords">
7494
7663
  <xsl:param name="sorting" select="'true'"/>
7495
7664
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -7950,6 +8119,25 @@
7950
8119
  </xsl:otherwise>
7951
8120
  </xsl:choose>
7952
8121
  </xsl:if>
8122
+ </xsl:template><xsl:template name="number-to-ordinal">
8123
+ <xsl:param name="number"/>
8124
+ <xsl:param name="curr_lang"/>
8125
+ <xsl:choose>
8126
+ <xsl:when test="$curr_lang = 'fr'">
8127
+ <xsl:choose>
8128
+ <xsl:when test="$number = '1'">re</xsl:when>
8129
+ <xsl:otherwise>e</xsl:otherwise>
8130
+ </xsl:choose>
8131
+ </xsl:when>
8132
+ <xsl:otherwise>
8133
+ <xsl:choose>
8134
+ <xsl:when test="$number = 1">st</xsl:when>
8135
+ <xsl:when test="$number = 2">nd</xsl:when>
8136
+ <xsl:when test="$number = 3">rd</xsl:when>
8137
+ <xsl:otherwise>th</xsl:otherwise>
8138
+ </xsl:choose>
8139
+ </xsl:otherwise>
8140
+ </xsl:choose>
7953
8141
  </xsl:template><xsl:template name="setAltText">
7954
8142
  <xsl:param name="value"/>
7955
8143
  <xsl:attribute name="fox:alt-text">
@@ -401,9 +401,9 @@
401
401
  <choice>
402
402
  <!-- iso191606 TODO -->
403
403
  <group>
404
- <oneOrMore>
404
+ <zeroOrMore>
405
405
  <ref name="street"/>
406
- </oneOrMore>
406
+ </zeroOrMore>
407
407
  <ref name="city"/>
408
408
  <optional>
409
409
  <ref name="state"/>