metanorma-ogc 2.0.3 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/ogc/base_convert.rb +8 -6
- data/lib/isodoc/ogc/html_convert.rb +6 -6
- data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +695 -351
- data/lib/isodoc/ogc/ogc.best-practice.xsl +695 -351
- data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +695 -351
- data/lib/isodoc/ogc/ogc.community-practice.xsl +695 -351
- data/lib/isodoc/ogc/ogc.community-standard.xsl +695 -351
- data/lib/isodoc/ogc/ogc.discussion-paper.xsl +695 -351
- data/lib/isodoc/ogc/ogc.engineering-report.xsl +695 -351
- data/lib/isodoc/ogc/ogc.other.xsl +695 -351
- data/lib/isodoc/ogc/ogc.policy.xsl +695 -351
- data/lib/isodoc/ogc/ogc.reference-model.xsl +695 -351
- data/lib/isodoc/ogc/ogc.release-notes.xsl +695 -351
- data/lib/isodoc/ogc/ogc.standard.xsl +695 -351
- data/lib/isodoc/ogc/ogc.test-suite.xsl +695 -351
- data/lib/isodoc/ogc/ogc.user-guide.xsl +695 -351
- data/lib/isodoc/ogc/ogc.white-paper.xsl +567 -228
- data/lib/isodoc/ogc/presentation_xml_convert.rb +20 -24
- data/lib/isodoc/ogc/reqt.rb +2 -1
- data/lib/isodoc/ogc/word_convert.rb +2 -78
- data/lib/isodoc/ogc/xref.rb +13 -6
- data/lib/metanorma/ogc/converter.rb +7 -0
- data/lib/metanorma/ogc/isodoc.rng +73 -3
- data/lib/metanorma/ogc/processor.rb +10 -10
- data/lib/metanorma/ogc/version.rb +1 -1
- metadata +3 -3
@@ -72,41 +72,18 @@
|
|
72
72
|
<xsl:attribute-set name="empty-style">
|
73
73
|
</xsl:attribute-set>
|
74
74
|
|
75
|
-
<xsl:variable name="
|
75
|
+
<xsl:variable name="contents_">
|
76
76
|
<contents>
|
77
|
-
|
78
|
-
|
79
|
-
<!-- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/*" mode="contents"/> -->
|
80
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:abstract" mode="contents"/>
|
81
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'executivesummary']" mode="contents"/>
|
82
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'keyword']" mode="contents"/>
|
83
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword" mode="contents"/>
|
84
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:introduction" mode="contents"/>
|
85
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']" mode="contents"/>
|
86
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters" mode="contents"/>
|
87
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'executivesummary') and not(@type = 'submitting_orgs') and not(@type = 'keyword')]" mode="contents"/>
|
88
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:acknowledgements" mode="contents"/>
|
89
|
-
|
90
|
-
|
91
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@type='scope']" mode="contents"/>
|
92
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@type='conformance']" mode="contents"/>
|
93
|
-
<!-- Normative references -->
|
94
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@normative='true']" mode="contents"/>
|
95
|
-
<!-- Terms and definitions -->
|
96
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:terms" mode="contents"/>
|
97
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:definitions" mode="contents"/>
|
98
|
-
|
99
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[not(@type='scope') and not(@type='conformance')]" mode="contents"/>
|
100
|
-
|
101
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:annex" mode="contents"/>
|
102
|
-
|
103
|
-
<!-- Bibliography -->
|
104
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[not(@normative='true')]" mode="contents"/>
|
77
|
+
<!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters -->
|
78
|
+
<xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
|
105
79
|
|
80
|
+
<xsl:call-template name="processMainSectionsDefault_Contents"/>
|
81
|
+
<xsl:apply-templates select="//ogc:indexsect" mode="contents"/>
|
106
82
|
|
83
|
+
<xsl:call-template name="processTablesFigures_Contents"/>
|
107
84
|
</contents>
|
108
85
|
</xsl:variable>
|
109
|
-
|
86
|
+
<xsl:variable name="contents" select="xalan:nodeset($contents_)"/>
|
110
87
|
|
111
88
|
<xsl:template match="/">
|
112
89
|
<xsl:call-template name="namespaceCheck"/>
|
@@ -231,7 +208,7 @@
|
|
231
208
|
</xsl:call-template>
|
232
209
|
</fo:block>
|
233
210
|
<xsl:variable name="margin-left">3.9</xsl:variable>
|
234
|
-
<xsl:for-each select="
|
211
|
+
<xsl:for-each select="$contents//item[@display = 'true']">
|
235
212
|
<fo:block margin-top="8pt" margin-bottom="5pt" margin-left="{(@level - 1) * $margin-left}mm" text-align-last="justify" role="TOCI">
|
236
213
|
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
237
214
|
<xsl:if test="@section != ''">
|
@@ -272,27 +249,16 @@
|
|
272
249
|
|
273
250
|
|
274
251
|
<!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters -->
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'keyword']"/>
|
282
|
-
<xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:foreword">
|
283
|
-
<fo:block break-after="page"/>
|
284
|
-
</xsl:if>
|
285
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword"/>
|
286
|
-
<xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:introduction">
|
287
|
-
<fo:block break-after="page"/>
|
288
|
-
</xsl:if>
|
289
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:introduction"/>
|
290
|
-
|
291
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']"/>
|
292
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters"/>
|
293
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'executivesummary') and not(@type = 'submitting_orgs') and not(@type = 'keyword')]"/>
|
294
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:acknowledgements"/>
|
252
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
253
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
254
|
+
|
255
|
+
<xsl:if test="local-name() = 'abstract' or local-name() = 'foreword' or local-name() = 'introduction'">
|
256
|
+
<fo:block break-after="page"/>
|
257
|
+
</xsl:if>
|
295
258
|
|
259
|
+
<xsl:apply-templates select="."/>
|
260
|
+
</xsl:for-each>
|
261
|
+
|
296
262
|
</fo:flow>
|
297
263
|
</fo:page-sequence>
|
298
264
|
|
@@ -306,23 +272,7 @@
|
|
306
272
|
|
307
273
|
<fo:block line-height="125%">
|
308
274
|
|
309
|
-
<xsl:
|
310
|
-
|
311
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@type='conformance']"/>
|
312
|
-
|
313
|
-
<!-- Normative references -->
|
314
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@normative='true']"/>
|
315
|
-
|
316
|
-
<!-- Terms and definitions -->
|
317
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:terms"/>
|
318
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:definitions"/>
|
319
|
-
|
320
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[not(@type='scope') and not(@type='conformance')]"/>
|
321
|
-
|
322
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:annex"/>
|
323
|
-
|
324
|
-
<!-- Bibliography -->
|
325
|
-
<xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[not(@normative='true')]"/>
|
275
|
+
<xsl:call-template name="processMainSectionsDefault"/>
|
326
276
|
|
327
277
|
</fo:block>
|
328
278
|
</fo:flow>
|
@@ -449,14 +399,6 @@
|
|
449
399
|
</fo:block>
|
450
400
|
</xsl:template>
|
451
401
|
|
452
|
-
<xsl:template match="ogc:ogc-standard/ogc:preface/*" mode="preface">
|
453
|
-
<xsl:if test="local-name() = 'introduction' or local-name() = 'abstract' or local-name() = 'foreword'">
|
454
|
-
<fo:block break-after="page"/>
|
455
|
-
</xsl:if>
|
456
|
-
<xsl:apply-templates select="current()"/>
|
457
|
-
</xsl:template>
|
458
|
-
|
459
|
-
|
460
402
|
|
461
403
|
<!-- ====== -->
|
462
404
|
<!-- title -->
|
@@ -716,6 +658,10 @@
|
|
716
658
|
<xsl:text>Édition </xsl:text>
|
717
659
|
</title-edition>
|
718
660
|
|
661
|
+
<title-edition lang="ru">
|
662
|
+
<xsl:text>Издание </xsl:text>
|
663
|
+
</title-edition>
|
664
|
+
|
719
665
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
720
666
|
<title-toc lang="en">
|
721
667
|
|
@@ -732,7 +678,7 @@
|
|
732
678
|
<xsl:text>Contents</xsl:text>
|
733
679
|
|
734
680
|
</title-toc>
|
735
|
-
|
681
|
+
|
736
682
|
<title-descriptors lang="en">Descriptors</title-descriptors>
|
737
683
|
|
738
684
|
<title-part lang="en">
|
@@ -744,7 +690,11 @@
|
|
744
690
|
|
745
691
|
|
746
692
|
|
747
|
-
</title-part>
|
693
|
+
</title-part>
|
694
|
+
<title-part lang="ru">
|
695
|
+
|
696
|
+
|
697
|
+
</title-part>
|
748
698
|
<title-part lang="zh">第 # 部分:</title-part>
|
749
699
|
|
750
700
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
@@ -760,10 +710,35 @@
|
|
760
710
|
|
761
711
|
<title-summary lang="en">Summary</title-summary>
|
762
712
|
|
713
|
+
<title-continued lang="ru">(продолжение)</title-continued>
|
763
714
|
<title-continued lang="en">(continued)</title-continued>
|
764
715
|
<title-continued lang="fr">(continué)</title-continued>
|
765
716
|
|
766
|
-
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="
|
717
|
+
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="title-list-tables">
|
718
|
+
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
719
|
+
<xsl:value-of select="$toc_table_title"/>
|
720
|
+
<xsl:if test="normalize-space($toc_table_title) = ''">
|
721
|
+
<xsl:call-template name="getTitle">
|
722
|
+
<xsl:with-param name="name" select="'title-list-tables'"/>
|
723
|
+
</xsl:call-template>
|
724
|
+
</xsl:if>
|
725
|
+
</xsl:variable><xsl:variable name="title-list-figures">
|
726
|
+
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
727
|
+
<xsl:value-of select="$toc_figure_title"/>
|
728
|
+
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
729
|
+
<xsl:call-template name="getTitle">
|
730
|
+
<xsl:with-param name="name" select="'title-list-figures'"/>
|
731
|
+
</xsl:call-template>
|
732
|
+
</xsl:if>
|
733
|
+
</xsl:variable><xsl:variable name="title-list-recommendations">
|
734
|
+
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
735
|
+
<xsl:value-of select="$toc_requirement_title"/>
|
736
|
+
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
737
|
+
<xsl:call-template name="getTitle">
|
738
|
+
<xsl:with-param name="name" select="'title-list-recommendations'"/>
|
739
|
+
</xsl:call-template>
|
740
|
+
</xsl:if>
|
741
|
+
</xsl:variable><xsl:variable name="bibdata">
|
767
742
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
768
743
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
769
744
|
</xsl:variable><xsl:variable name="linebreak">
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space"></xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
|
@@ -1596,13 +1571,19 @@
|
|
1596
1571
|
</xsl:attribute-set><xsl:variable name="color-added-text">
|
1597
1572
|
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
1598
1573
|
</xsl:variable><xsl:attribute-set name="add-style">
|
1599
|
-
|
1600
|
-
|
1601
|
-
|
1602
|
-
|
1603
|
-
|
1604
|
-
|
1605
|
-
|
1574
|
+
|
1575
|
+
<xsl:attribute name="color">red</xsl:attribute>
|
1576
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1577
|
+
<!-- <xsl:attribute name="color">black</xsl:attribute>
|
1578
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
1579
|
+
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
1580
|
+
<xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
|
1581
|
+
|
1582
|
+
</xsl:attribute-set><xsl:variable name="add-style">
|
1583
|
+
<add-style xsl:use-attribute-sets="add-style"/>
|
1584
|
+
</xsl:variable><xsl:template name="append_add-style">
|
1585
|
+
<xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
|
1586
|
+
</xsl:template><xsl:variable name="color-deleted-text">
|
1606
1587
|
<xsl:text>red</xsl:text>
|
1607
1588
|
</xsl:variable><xsl:attribute-set name="del-style">
|
1608
1589
|
<xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
@@ -2045,14 +2026,42 @@
|
|
2045
2026
|
|
2046
2027
|
|
2047
2028
|
</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">
|
2029
|
+
<xsl:variable name="nodes_preface_">
|
2030
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
2031
|
+
<node id="{@id}"/>
|
2032
|
+
</xsl:for-each>
|
2033
|
+
</xsl:variable>
|
2034
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
2035
|
+
|
2048
2036
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
2049
2037
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2038
|
+
|
2039
|
+
<!-- process Section's title -->
|
2040
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
2041
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
2042
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
2043
|
+
</xsl:if>
|
2044
|
+
|
2050
2045
|
<xsl:apply-templates select="." mode="contents"/>
|
2051
2046
|
</xsl:for-each>
|
2052
2047
|
</xsl:template><xsl:template name="processMainSectionsDefault_Contents">
|
2053
2048
|
|
2049
|
+
<xsl:variable name="nodes_sections_">
|
2050
|
+
<xsl:for-each select="/*/*[local-name()='sections']/*">
|
2051
|
+
<node id="{@id}"/>
|
2052
|
+
</xsl:for-each>
|
2053
|
+
</xsl:variable>
|
2054
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
2055
|
+
|
2054
2056
|
<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']]">
|
2055
2057
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2058
|
+
|
2059
|
+
<!-- process Section's title -->
|
2060
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
2061
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
2062
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
2063
|
+
</xsl:if>
|
2064
|
+
|
2056
2065
|
<xsl:apply-templates select="." mode="contents"/>
|
2057
2066
|
</xsl:for-each>
|
2058
2067
|
|
@@ -2065,6 +2074,30 @@
|
|
2065
2074
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2066
2075
|
<xsl:apply-templates select="." mode="contents"/>
|
2067
2076
|
</xsl:for-each>
|
2077
|
+
</xsl:template><xsl:template name="processTablesFigures_Contents">
|
2078
|
+
<xsl:param name="always"/>
|
2079
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
2080
|
+
<xsl:call-template name="processTables_Contents"/>
|
2081
|
+
</xsl:if>
|
2082
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
2083
|
+
<xsl:call-template name="processFigures_Contents"/>
|
2084
|
+
</xsl:if>
|
2085
|
+
</xsl:template><xsl:template name="processTables_Contents">
|
2086
|
+
<tables>
|
2087
|
+
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
2088
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
2089
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
2090
|
+
</table>
|
2091
|
+
</xsl:for-each>
|
2092
|
+
</tables>
|
2093
|
+
</xsl:template><xsl:template name="processFigures_Contents">
|
2094
|
+
<figures>
|
2095
|
+
<xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(*[local-name() = 'name'], 'Figure ') and normalize-space(@id) != '']">
|
2096
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
2097
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
2098
|
+
</figure>
|
2099
|
+
</xsl:for-each>
|
2100
|
+
</figures>
|
2068
2101
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
2069
2102
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
2070
2103
|
<xsl:sort select="@displayorder" data-type="number"/>
|
@@ -2232,7 +2265,7 @@
|
|
2232
2265
|
</xsl:call-template>
|
2233
2266
|
</xsl:if>
|
2234
2267
|
</xsl:variable>
|
2235
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2268
|
+
<!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2236
2269
|
|
2237
2270
|
|
2238
2271
|
<xsl:variable name="margin-side">
|
@@ -2496,7 +2529,7 @@
|
|
2496
2529
|
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
2497
2530
|
<!-- 2009 thinspace -->
|
2498
2531
|
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
2499
|
-
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '
|
2532
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
2500
2533
|
</xsl:call-template>
|
2501
2534
|
</xsl:variable>
|
2502
2535
|
<xsl:variable name="max_length">
|
@@ -2882,37 +2915,7 @@
|
|
2882
2915
|
|
2883
2916
|
<!-- list of footnotes to calculate actual footnotes number -->
|
2884
2917
|
<xsl:variable name="p_fn_">
|
2885
|
-
<xsl:
|
2886
|
-
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
2887
|
-
<fn gen_id="{generate-id(.)}">
|
2888
|
-
<xsl:copy-of select="@*"/>
|
2889
|
-
<xsl:copy-of select="node()"/>
|
2890
|
-
</fn>
|
2891
|
-
</xsl:when>
|
2892
|
-
<xsl:otherwise>
|
2893
|
-
<!-- itetation for:
|
2894
|
-
footnotes in bibdata/title
|
2895
|
-
footnotes in bibliography
|
2896
|
-
footnotes in document's body (except table's head/body/foot and figure text)
|
2897
|
-
-->
|
2898
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
2899
|
-
<fn gen_id="{generate-id(.)}">
|
2900
|
-
<xsl:copy-of select="@*"/>
|
2901
|
-
<xsl:copy-of select="node()"/>
|
2902
|
-
</fn>
|
2903
|
-
</xsl:for-each>
|
2904
|
-
<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']/*">
|
2905
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
2906
|
-
<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])]">
|
2907
|
-
<!-- copy unique fn -->
|
2908
|
-
<fn gen_id="{generate-id(.)}">
|
2909
|
-
<xsl:copy-of select="@*"/>
|
2910
|
-
<xsl:copy-of select="node()"/>
|
2911
|
-
</fn>
|
2912
|
-
</xsl:for-each>
|
2913
|
-
</xsl:for-each>
|
2914
|
-
</xsl:otherwise>
|
2915
|
-
</xsl:choose>
|
2918
|
+
<xsl:call-template name="get_fn_list"/>
|
2916
2919
|
</xsl:variable>
|
2917
2920
|
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
2918
2921
|
|
@@ -2973,6 +2976,38 @@
|
|
2973
2976
|
<xsl:copy-of select="$footnote_inline"/>
|
2974
2977
|
</xsl:otherwise>
|
2975
2978
|
</xsl:choose>
|
2979
|
+
</xsl:template><xsl:template name="get_fn_list">
|
2980
|
+
<xsl:choose>
|
2981
|
+
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
2982
|
+
<fn gen_id="{generate-id(.)}">
|
2983
|
+
<xsl:copy-of select="@*"/>
|
2984
|
+
<xsl:copy-of select="node()"/>
|
2985
|
+
</fn>
|
2986
|
+
</xsl:when>
|
2987
|
+
<xsl:otherwise>
|
2988
|
+
<!-- itetation for:
|
2989
|
+
footnotes in bibdata/title
|
2990
|
+
footnotes in bibliography
|
2991
|
+
footnotes in document's body (except table's head/body/foot and figure text)
|
2992
|
+
-->
|
2993
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
2994
|
+
<fn gen_id="{generate-id(.)}">
|
2995
|
+
<xsl:copy-of select="@*"/>
|
2996
|
+
<xsl:copy-of select="node()"/>
|
2997
|
+
</fn>
|
2998
|
+
</xsl:for-each>
|
2999
|
+
<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']/*">
|
3000
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3001
|
+
<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])]">
|
3002
|
+
<!-- copy unique fn -->
|
3003
|
+
<fn gen_id="{generate-id(.)}">
|
3004
|
+
<xsl:copy-of select="@*"/>
|
3005
|
+
<xsl:copy-of select="node()"/>
|
3006
|
+
</fn>
|
3007
|
+
</xsl:for-each>
|
3008
|
+
</xsl:for-each>
|
3009
|
+
</xsl:otherwise>
|
3010
|
+
</xsl:choose>
|
2976
3011
|
</xsl:template><xsl:template name="table_fn_display">
|
2977
3012
|
<xsl:variable name="references">
|
2978
3013
|
|
@@ -3155,7 +3190,7 @@
|
|
3155
3190
|
</fo:inline>
|
3156
3191
|
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
3157
3192
|
<fo:inline><xsl:value-of select="."/></fo:inline>
|
3158
|
-
</xsl:template><xsl:template match="*[local-name()='fn']
|
3193
|
+
</xsl:template><xsl:template match="*[local-name()='fn']//*[local-name()='p']">
|
3159
3194
|
<fo:inline>
|
3160
3195
|
<xsl:apply-templates/>
|
3161
3196
|
</fo:inline>
|
@@ -4131,6 +4166,9 @@
|
|
4131
4166
|
</fo:inline>
|
4132
4167
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
4133
4168
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
4169
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
4170
|
+
<xsl:call-template name="append_add-style"/>
|
4171
|
+
</xsl:if>
|
4134
4172
|
<xsl:apply-templates/>
|
4135
4173
|
</fo:basic-link>
|
4136
4174
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
@@ -4232,6 +4270,13 @@
|
|
4232
4270
|
|
4233
4271
|
|
4234
4272
|
|
4273
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
4274
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
4275
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
4276
|
+
<xsl:call-template name="append_add-style"/>
|
4277
|
+
</xsl:if>
|
4278
|
+
|
4279
|
+
|
4235
4280
|
<!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
|
4236
4281
|
<xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
4237
4282
|
<xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
@@ -4270,6 +4315,12 @@
|
|
4270
4315
|
|
4271
4316
|
|
4272
4317
|
|
4318
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
4319
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
4320
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
4321
|
+
<xsl:call-template name="append_add-style"/>
|
4322
|
+
</xsl:if>
|
4323
|
+
|
4273
4324
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
4274
4325
|
|
4275
4326
|
</fo:inline>
|
@@ -4321,6 +4372,7 @@
|
|
4321
4372
|
</fo:block>
|
4322
4373
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
4323
4374
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
4375
|
+
|
4324
4376
|
|
4325
4377
|
|
4326
4378
|
|
@@ -4757,7 +4809,11 @@
|
|
4757
4809
|
<xsl:value-of select="."/>
|
4758
4810
|
</xsl:template><xsl:template match="node()" mode="contents">
|
4759
4811
|
<xsl:apply-templates mode="contents"/>
|
4760
|
-
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = '
|
4812
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface' or local-name() = 'sections']/*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" mode="contents_no_displayorder">
|
4813
|
+
<xsl:call-template name="contents_section-title"/>
|
4814
|
+
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
|
4815
|
+
<xsl:call-template name="contents_section-title"/>
|
4816
|
+
</xsl:template><xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title']/@depth or ../*[local-name() = 'title']/@depth = 1)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
|
4761
4817
|
<xsl:variable name="level">
|
4762
4818
|
<xsl:call-template name="getLevel">
|
4763
4819
|
<xsl:with-param name="depth" select="@depth"/>
|
@@ -4826,13 +4882,14 @@
|
|
4826
4882
|
<xsl:apply-templates mode="bookmarks"/>
|
4827
4883
|
</xsl:template><xsl:template name="addBookmarks">
|
4828
4884
|
<xsl:param name="contents"/>
|
4829
|
-
<xsl:
|
4885
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
4886
|
+
<xsl:if test="$contents_nodes//item">
|
4830
4887
|
<fo:bookmark-tree>
|
4831
4888
|
<xsl:choose>
|
4832
|
-
<xsl:when test="
|
4889
|
+
<xsl:when test="$contents_nodes/doc">
|
4833
4890
|
<xsl:choose>
|
4834
|
-
<xsl:when test="count(
|
4835
|
-
<xsl:for-each select="
|
4891
|
+
<xsl:when test="count($contents_nodes/doc) > 1">
|
4892
|
+
<xsl:for-each select="$contents_nodes/doc">
|
4836
4893
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
4837
4894
|
<xsl:if test="@bundle = 'true'">
|
4838
4895
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
@@ -4883,7 +4940,7 @@
|
|
4883
4940
|
</xsl:for-each>
|
4884
4941
|
</xsl:when>
|
4885
4942
|
<xsl:otherwise>
|
4886
|
-
<xsl:for-each select="
|
4943
|
+
<xsl:for-each select="$contents_nodes/doc">
|
4887
4944
|
|
4888
4945
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4889
4946
|
|
@@ -4901,11 +4958,21 @@
|
|
4901
4958
|
</xsl:choose>
|
4902
4959
|
</xsl:when>
|
4903
4960
|
<xsl:otherwise>
|
4904
|
-
<xsl:apply-templates select="
|
4961
|
+
<xsl:apply-templates select="$contents_nodes/contents/item" mode="bookmark"/>
|
4962
|
+
|
4963
|
+
<xsl:call-template name="insertFigureBookmarks">
|
4964
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
4965
|
+
</xsl:call-template>
|
4966
|
+
|
4967
|
+
<xsl:call-template name="insertTableBookmarks">
|
4968
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
4969
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4970
|
+
</xsl:call-template>
|
4971
|
+
|
4905
4972
|
</xsl:otherwise>
|
4906
4973
|
</xsl:choose>
|
4907
4974
|
|
4908
|
-
|
4975
|
+
|
4909
4976
|
|
4910
4977
|
|
4911
4978
|
|
@@ -4918,7 +4985,6 @@
|
|
4918
4985
|
</xsl:variable>
|
4919
4986
|
<xsl:variable name="list_of_tables_figures" select="xalan:nodeset($list_of_tables_figures_)"/>
|
4920
4987
|
|
4921
|
-
|
4922
4988
|
<xsl:if test="$list_of_tables_figures/table_figure">
|
4923
4989
|
<fo:bookmark internal-destination="empty_bookmark">
|
4924
4990
|
<fo:bookmark-title>—————</fo:bookmark-title>
|
@@ -4926,7 +4992,7 @@
|
|
4926
4992
|
</xsl:if>
|
4927
4993
|
|
4928
4994
|
<xsl:if test="$list_of_tables_figures//table_figure">
|
4929
|
-
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
4995
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
4930
4996
|
<fo:bookmark-title>
|
4931
4997
|
<xsl:call-template name="getTitle">
|
4932
4998
|
<xsl:with-param name="name" select="'title-table-figures'"/>
|
@@ -4939,17 +5005,18 @@
|
|
4939
5005
|
</xsl:for-each>
|
4940
5006
|
</fo:bookmark>
|
4941
5007
|
</xsl:if>
|
4942
|
-
|
4943
|
-
|
5008
|
+
<!-- $namespace = 'ogc-white-paper' -->
|
5009
|
+
|
4944
5010
|
|
4945
5011
|
</fo:bookmark-tree>
|
4946
5012
|
</xsl:if>
|
4947
5013
|
</xsl:template><xsl:template name="insertFigureBookmarks">
|
4948
5014
|
<xsl:param name="contents"/>
|
4949
|
-
<xsl:
|
4950
|
-
|
5015
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
5016
|
+
<xsl:if test="$contents_nodes/figure">
|
5017
|
+
<fo:bookmark internal-destination="{$contents_nodes/figure[1]/@id}" starting-state="hide">
|
4951
5018
|
<fo:bookmark-title>Figures</fo:bookmark-title>
|
4952
|
-
<xsl:for-each select="
|
5019
|
+
<xsl:for-each select="$contents_nodes/figure">
|
4953
5020
|
<fo:bookmark internal-destination="{@id}">
|
4954
5021
|
<fo:bookmark-title>
|
4955
5022
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -4958,18 +5025,21 @@
|
|
4958
5025
|
</xsl:for-each>
|
4959
5026
|
</fo:bookmark>
|
4960
5027
|
</xsl:if>
|
5028
|
+
|
5029
|
+
<!-- see template addBookmarks -->
|
4961
5030
|
</xsl:template><xsl:template name="insertTableBookmarks">
|
4962
5031
|
<xsl:param name="contents"/>
|
4963
5032
|
<xsl:param name="lang"/>
|
4964
|
-
<xsl:
|
4965
|
-
|
5033
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
5034
|
+
<xsl:if test="$contents_nodes/table">
|
5035
|
+
<fo:bookmark internal-destination="{$contents_nodes/table[1]/@id}" starting-state="hide">
|
4966
5036
|
<fo:bookmark-title>
|
4967
5037
|
<xsl:choose>
|
4968
5038
|
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
4969
5039
|
<xsl:otherwise>Tables</xsl:otherwise>
|
4970
5040
|
</xsl:choose>
|
4971
5041
|
</fo:bookmark-title>
|
4972
|
-
<xsl:for-each select="
|
5042
|
+
<xsl:for-each select="$contents_nodes/table">
|
4973
5043
|
<fo:bookmark internal-destination="{@id}">
|
4974
5044
|
<fo:bookmark-title>
|
4975
5045
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -4978,6 +5048,8 @@
|
|
4978
5048
|
</xsl:for-each>
|
4979
5049
|
</fo:bookmark>
|
4980
5050
|
</xsl:if>
|
5051
|
+
|
5052
|
+
<!-- see template addBookmarks -->
|
4981
5053
|
</xsl:template><xsl:template name="getLangVersion">
|
4982
5054
|
<xsl:param name="lang"/>
|
4983
5055
|
<xsl:param name="doctype" select="''"/>
|
@@ -5202,7 +5274,51 @@
|
|
5202
5274
|
<xsl:with-param name="text" select="$text_step1"/>
|
5203
5275
|
</xsl:call-template>
|
5204
5276
|
</xsl:variable>
|
5205
|
-
|
5277
|
+
|
5278
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
5279
|
+
|
5280
|
+
<!-- add zero-width space after space -->
|
5281
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
5282
|
+
|
5283
|
+
<!-- split text by zero-width space -->
|
5284
|
+
<xsl:variable name="text_step4">
|
5285
|
+
<xsl:call-template name="split">
|
5286
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
5287
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
5288
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
5289
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
5290
|
+
</xsl:call-template>
|
5291
|
+
</xsl:variable>
|
5292
|
+
|
5293
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/item">
|
5294
|
+
<xsl:choose>
|
5295
|
+
<xsl:when test="string-length() > 30"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
5296
|
+
<xsl:call-template name="interspers">
|
5297
|
+
<xsl:with-param name="str" select="."/>
|
5298
|
+
</xsl:call-template>
|
5299
|
+
</xsl:when>
|
5300
|
+
<xsl:otherwise>
|
5301
|
+
<xsl:value-of select="."/>
|
5302
|
+
</xsl:otherwise>
|
5303
|
+
</xsl:choose>
|
5304
|
+
</xsl:for-each>
|
5305
|
+
|
5306
|
+
</xsl:template><xsl:template name="interspers">
|
5307
|
+
<xsl:param name="str"/>
|
5308
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
5309
|
+
<xsl:if test="$str != ''">
|
5310
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
5311
|
+
|
5312
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
5313
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
5314
|
+
<xsl:value-of select="$char"/>
|
5315
|
+
</xsl:if>
|
5316
|
+
|
5317
|
+
<xsl:call-template name="interspers">
|
5318
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
5319
|
+
<xsl:with-param name="char" select="$char"/>
|
5320
|
+
</xsl:call-template>
|
5321
|
+
</xsl:if>
|
5206
5322
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
5207
5323
|
<xsl:apply-templates mode="syntax_highlight"/>
|
5208
5324
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -5644,6 +5760,8 @@
|
|
5644
5760
|
</xsl:otherwise>
|
5645
5761
|
</xsl:choose> -->
|
5646
5762
|
</fo:block>
|
5763
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
5764
|
+
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
5647
5765
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
5648
5766
|
<xsl:if test="normalize-space() != ''">
|
5649
5767
|
<xsl:value-of select="."/>
|
@@ -5718,26 +5836,24 @@
|
|
5718
5836
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
5719
5837
|
<xsl:text>— </xsl:text>
|
5720
5838
|
<xsl:apply-templates/>
|
5721
|
-
</xsl:template><xsl:variable name="
|
5839
|
+
</xsl:template><xsl:variable name="bibitems_">
|
5840
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
5841
|
+
<xsl:copy-of select="."/>
|
5842
|
+
</xsl:for-each>
|
5843
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
5722
5844
|
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
5723
5845
|
<xsl:copy-of select="."/>
|
5724
5846
|
</xsl:for-each>
|
5725
|
-
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']
|
5847
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
5726
5848
|
<xsl:copy-of select="."/>
|
5727
5849
|
</xsl:for-each>
|
5728
|
-
</xsl:variable><xsl:variable name="
|
5729
|
-
|
5730
|
-
<xsl:variable name="
|
5731
|
-
|
5732
|
-
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
5733
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
5734
|
-
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
5735
|
-
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
5736
|
-
</xsl:choose>
|
5737
|
-
</xsl:variable>
|
5738
|
-
|
5850
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
5851
|
+
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
5852
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
5853
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
5739
5854
|
<xsl:choose>
|
5740
|
-
<xsl:when test="
|
5855
|
+
<!-- <xsl:when test="$external-destination != '' or not(key('bibitems_hidden', $current_bibitemid))"> --> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
5856
|
+
<xsl:when test="$external-destination != '' or not($bibitems_hidden/*[local-name() ='bibitem'][@id = $current_bibitemid])"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
5741
5857
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
5742
5858
|
<xsl:if test="@type = 'footnote'">
|
5743
5859
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -5751,8 +5867,8 @@
|
|
5751
5867
|
<xsl:variable name="text" select="normalize-space()"/>
|
5752
5868
|
|
5753
5869
|
|
5754
|
-
|
5755
|
-
<fo:basic-link
|
5870
|
+
|
5871
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
5756
5872
|
<xsl:if test="normalize-space(@citeas) = ''">
|
5757
5873
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
5758
5874
|
</xsl:if>
|
@@ -5765,14 +5881,21 @@
|
|
5765
5881
|
|
5766
5882
|
</xsl:if>
|
5767
5883
|
|
5768
|
-
|
5884
|
+
<xsl:choose>
|
5885
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
5886
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
5887
|
+
</xsl:when>
|
5888
|
+
<xsl:otherwise>
|
5889
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
5890
|
+
</xsl:otherwise>
|
5891
|
+
</xsl:choose>
|
5769
5892
|
|
5770
5893
|
<xsl:apply-templates/>
|
5771
5894
|
</fo:basic-link>
|
5772
|
-
|
5895
|
+
|
5773
5896
|
</fo:inline>
|
5774
5897
|
</xsl:when>
|
5775
|
-
<xsl:otherwise>
|
5898
|
+
<xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
|
5776
5899
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
5777
5900
|
</xsl:otherwise>
|
5778
5901
|
</xsl:choose>
|
@@ -6115,7 +6238,7 @@
|
|
6115
6238
|
|
6116
6239
|
|
6117
6240
|
|
6118
|
-
|
6241
|
+
|
6119
6242
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
6120
6243
|
</fo:list-block>
|
6121
6244
|
<!-- <xsl:for-each select="./iho:note">
|
@@ -6133,6 +6256,11 @@
|
|
6133
6256
|
|
6134
6257
|
|
6135
6258
|
|
6259
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
6260
|
+
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
6261
|
+
<xsl:call-template name="append_add-style"/>
|
6262
|
+
</xsl:if>
|
6263
|
+
|
6136
6264
|
<xsl:call-template name="getListItemFormat"/>
|
6137
6265
|
</fo:block>
|
6138
6266
|
</fo:list-item-label>
|
@@ -6618,6 +6746,24 @@
|
|
6618
6746
|
<xsl:apply-templates/>
|
6619
6747
|
</fo:inline>
|
6620
6748
|
</xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
6749
|
+
|
6750
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
6751
|
+
<xsl:variable name="p_fn_">
|
6752
|
+
<xsl:call-template name="get_fn_list"/>
|
6753
|
+
</xsl:variable>
|
6754
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
6755
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
6756
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
6757
|
+
<!-- fn sequence number in document -->
|
6758
|
+
<xsl:variable name="current_fn_number">
|
6759
|
+
<xsl:choose>
|
6760
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
6761
|
+
<xsl:otherwise>
|
6762
|
+
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
6763
|
+
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
6764
|
+
</xsl:otherwise>
|
6765
|
+
</xsl:choose>
|
6766
|
+
</xsl:variable>
|
6621
6767
|
<fo:footnote>
|
6622
6768
|
<xsl:variable name="number">
|
6623
6769
|
|
@@ -6626,22 +6772,26 @@
|
|
6626
6772
|
<xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
|
6627
6773
|
</xsl:when>
|
6628
6774
|
<xsl:otherwise>
|
6629
|
-
<xsl:
|
6775
|
+
<xsl:value-of select="$current_fn_number"/>
|
6630
6776
|
</xsl:otherwise>
|
6631
6777
|
</xsl:choose>
|
6632
6778
|
|
6633
6779
|
</xsl:variable>
|
6780
|
+
|
6781
|
+
<xsl:variable name="current_fn_number_text">
|
6782
|
+
<xsl:value-of select="$number"/>
|
6783
|
+
|
6784
|
+
</xsl:variable>
|
6785
|
+
|
6634
6786
|
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
6635
|
-
<fo:basic-link internal-destination="{
|
6636
|
-
<xsl:value-of select="$
|
6637
|
-
|
6787
|
+
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
6788
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
6638
6789
|
</fo:basic-link>
|
6639
6790
|
</fo:inline>
|
6640
6791
|
<fo:footnote-body>
|
6641
6792
|
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
6642
|
-
<fo:inline id="{
|
6643
|
-
<xsl:value-of select="$
|
6644
|
-
|
6793
|
+
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
6794
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
6645
6795
|
</fo:inline>
|
6646
6796
|
<xsl:apply-templates/>
|
6647
6797
|
</fo:block>
|
@@ -6887,6 +7037,78 @@
|
|
6887
7037
|
<xsl:apply-templates/>
|
6888
7038
|
</fo:block>
|
6889
7039
|
|
7040
|
+
</xsl:template><xsl:template match="@*|node()" mode="update_xml_step1">
|
7041
|
+
<xsl:copy>
|
7042
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
|
7043
|
+
</xsl:copy>
|
7044
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
7045
|
+
<xsl:copy>
|
7046
|
+
<xsl:copy-of select="@*"/>
|
7047
|
+
|
7048
|
+
<xsl:variable name="nodes_preface_">
|
7049
|
+
<xsl:for-each select="*">
|
7050
|
+
<node id="{@id}"/>
|
7051
|
+
</xsl:for-each>
|
7052
|
+
</xsl:variable>
|
7053
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
7054
|
+
|
7055
|
+
<xsl:for-each select="*">
|
7056
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
7057
|
+
|
7058
|
+
<!-- process Section's title -->
|
7059
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
7060
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
7061
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
7062
|
+
</xsl:if>
|
7063
|
+
|
7064
|
+
<xsl:choose>
|
7065
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
7066
|
+
<xsl:otherwise>
|
7067
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
7068
|
+
</xsl:otherwise>
|
7069
|
+
</xsl:choose>
|
7070
|
+
|
7071
|
+
</xsl:for-each>
|
7072
|
+
</xsl:copy>
|
7073
|
+
</xsl:template><xsl:template match="*[local-name() = 'sections']" mode="update_xml_step1">
|
7074
|
+
<xsl:copy>
|
7075
|
+
<xsl:copy-of select="@*"/>
|
7076
|
+
|
7077
|
+
<xsl:variable name="nodes_sections_">
|
7078
|
+
<xsl:for-each select="*">
|
7079
|
+
<node id="{@id}"/>
|
7080
|
+
</xsl:for-each>
|
7081
|
+
</xsl:variable>
|
7082
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
7083
|
+
|
7084
|
+
<!-- move section 'Normative references' inside 'sections' -->
|
7085
|
+
<xsl:for-each select="* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
|
7086
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
7087
|
+
|
7088
|
+
<!-- process Section's title -->
|
7089
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
7090
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
7091
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
7092
|
+
</xsl:if>
|
7093
|
+
|
7094
|
+
<xsl:choose>
|
7095
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
7096
|
+
<xsl:otherwise>
|
7097
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
7098
|
+
</xsl:otherwise>
|
7099
|
+
</xsl:choose>
|
7100
|
+
|
7101
|
+
</xsl:for-each>
|
7102
|
+
</xsl:copy>
|
7103
|
+
</xsl:template><xsl:template match="*[local-name() = 'bibliography']" mode="update_xml_step1">
|
7104
|
+
<xsl:copy>
|
7105
|
+
<xsl:copy-of select="@*"/>
|
7106
|
+
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
7107
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
7108
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
7109
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
7110
|
+
</xsl:for-each>
|
7111
|
+
</xsl:copy>
|
6890
7112
|
</xsl:template><xsl:template name="convertDate">
|
6891
7113
|
<xsl:param name="date"/>
|
6892
7114
|
<xsl:param name="format" select="'short'"/>
|
@@ -7131,22 +7353,25 @@
|
|
7131
7353
|
<xsl:param name="pText" select="."/>
|
7132
7354
|
<xsl:param name="sep" select="','"/>
|
7133
7355
|
<xsl:param name="normalize-space" select="'true'"/>
|
7356
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
7134
7357
|
<xsl:if test="string-length($pText) >0">
|
7135
|
-
|
7136
|
-
|
7137
|
-
|
7138
|
-
|
7139
|
-
|
7140
|
-
|
7141
|
-
|
7142
|
-
|
7143
|
-
|
7144
|
-
|
7145
|
-
|
7146
|
-
<xsl:
|
7147
|
-
|
7148
|
-
|
7149
|
-
|
7358
|
+
<item>
|
7359
|
+
<xsl:choose>
|
7360
|
+
<xsl:when test="$normalize-space = 'true'">
|
7361
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
7362
|
+
</xsl:when>
|
7363
|
+
<xsl:otherwise>
|
7364
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
7365
|
+
</xsl:otherwise>
|
7366
|
+
</xsl:choose>
|
7367
|
+
</item>
|
7368
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
7369
|
+
<xsl:call-template name="split">
|
7370
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
7371
|
+
<xsl:with-param name="sep" select="$sep"/>
|
7372
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
7373
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
7374
|
+
</xsl:call-template>
|
7150
7375
|
</xsl:if>
|
7151
7376
|
</xsl:template><xsl:template name="getDocumentId">
|
7152
7377
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
@@ -7337,53 +7562,153 @@
|
|
7337
7562
|
<xsl:param name="first"/>
|
7338
7563
|
<xsl:if test="$number != ''">
|
7339
7564
|
<xsl:variable name="words">
|
7340
|
-
|
7341
|
-
<
|
7342
|
-
|
7343
|
-
|
7344
|
-
|
7345
|
-
|
7346
|
-
|
7347
|
-
|
7348
|
-
|
7349
|
-
|
7350
|
-
|
7351
|
-
|
7352
|
-
|
7353
|
-
|
7354
|
-
|
7355
|
-
|
7356
|
-
|
7357
|
-
|
7358
|
-
|
7359
|
-
|
7360
|
-
|
7361
|
-
|
7362
|
-
|
7363
|
-
|
7364
|
-
|
7365
|
-
|
7366
|
-
|
7367
|
-
|
7368
|
-
|
7369
|
-
|
7370
|
-
|
7371
|
-
|
7372
|
-
|
7373
|
-
|
7374
|
-
|
7375
|
-
|
7376
|
-
|
7377
|
-
|
7378
|
-
|
7379
|
-
|
7380
|
-
|
7381
|
-
|
7382
|
-
|
7383
|
-
|
7384
|
-
|
7385
|
-
|
7386
|
-
|
7565
|
+
<words>
|
7566
|
+
<xsl:choose>
|
7567
|
+
<xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
|
7568
|
+
<word cardinal="1">Une-</word>
|
7569
|
+
<word ordinal="1">Première </word>
|
7570
|
+
<word cardinal="2">Deux-</word>
|
7571
|
+
<word ordinal="2">Seconde </word>
|
7572
|
+
<word cardinal="3">Trois-</word>
|
7573
|
+
<word ordinal="3">Tierce </word>
|
7574
|
+
<word cardinal="4">Quatre-</word>
|
7575
|
+
<word ordinal="4">Quatrième </word>
|
7576
|
+
<word cardinal="5">Cinq-</word>
|
7577
|
+
<word ordinal="5">Cinquième </word>
|
7578
|
+
<word cardinal="6">Six-</word>
|
7579
|
+
<word ordinal="6">Sixième </word>
|
7580
|
+
<word cardinal="7">Sept-</word>
|
7581
|
+
<word ordinal="7">Septième </word>
|
7582
|
+
<word cardinal="8">Huit-</word>
|
7583
|
+
<word ordinal="8">Huitième </word>
|
7584
|
+
<word cardinal="9">Neuf-</word>
|
7585
|
+
<word ordinal="9">Neuvième </word>
|
7586
|
+
<word ordinal="10">Dixième </word>
|
7587
|
+
<word ordinal="11">Onzième </word>
|
7588
|
+
<word ordinal="12">Douzième </word>
|
7589
|
+
<word ordinal="13">Treizième </word>
|
7590
|
+
<word ordinal="14">Quatorzième </word>
|
7591
|
+
<word ordinal="15">Quinzième </word>
|
7592
|
+
<word ordinal="16">Seizième </word>
|
7593
|
+
<word ordinal="17">Dix-septième </word>
|
7594
|
+
<word ordinal="18">Dix-huitième </word>
|
7595
|
+
<word ordinal="19">Dix-neuvième </word>
|
7596
|
+
<word cardinal="20">Vingt-</word>
|
7597
|
+
<word ordinal="20">Vingtième </word>
|
7598
|
+
<word cardinal="30">Trente-</word>
|
7599
|
+
<word ordinal="30">Trentième </word>
|
7600
|
+
<word cardinal="40">Quarante-</word>
|
7601
|
+
<word ordinal="40">Quarantième </word>
|
7602
|
+
<word cardinal="50">Cinquante-</word>
|
7603
|
+
<word ordinal="50">Cinquantième </word>
|
7604
|
+
<word cardinal="60">Soixante-</word>
|
7605
|
+
<word ordinal="60">Soixantième </word>
|
7606
|
+
<word cardinal="70">Septante-</word>
|
7607
|
+
<word ordinal="70">Septantième </word>
|
7608
|
+
<word cardinal="80">Huitante-</word>
|
7609
|
+
<word ordinal="80">Huitantième </word>
|
7610
|
+
<word cardinal="90">Nonante-</word>
|
7611
|
+
<word ordinal="90">Nonantième </word>
|
7612
|
+
<word cardinal="100">Cent-</word>
|
7613
|
+
<word ordinal="100">Centième </word>
|
7614
|
+
</xsl:when>
|
7615
|
+
<xsl:when test="$lang = 'ru'">
|
7616
|
+
<word cardinal="1">Одна-</word>
|
7617
|
+
<word ordinal="1">Первое </word>
|
7618
|
+
<word cardinal="2">Две-</word>
|
7619
|
+
<word ordinal="2">Второе </word>
|
7620
|
+
<word cardinal="3">Три-</word>
|
7621
|
+
<word ordinal="3">Третье </word>
|
7622
|
+
<word cardinal="4">Четыре-</word>
|
7623
|
+
<word ordinal="4">Четвертое </word>
|
7624
|
+
<word cardinal="5">Пять-</word>
|
7625
|
+
<word ordinal="5">Пятое </word>
|
7626
|
+
<word cardinal="6">Шесть-</word>
|
7627
|
+
<word ordinal="6">Шестое </word>
|
7628
|
+
<word cardinal="7">Семь-</word>
|
7629
|
+
<word ordinal="7">Седьмое </word>
|
7630
|
+
<word cardinal="8">Восемь-</word>
|
7631
|
+
<word ordinal="8">Восьмое </word>
|
7632
|
+
<word cardinal="9">Девять-</word>
|
7633
|
+
<word ordinal="9">Девятое </word>
|
7634
|
+
<word ordinal="10">Десятое </word>
|
7635
|
+
<word ordinal="11">Одиннадцатое </word>
|
7636
|
+
<word ordinal="12">Двенадцатое </word>
|
7637
|
+
<word ordinal="13">Тринадцатое </word>
|
7638
|
+
<word ordinal="14">Четырнадцатое </word>
|
7639
|
+
<word ordinal="15">Пятнадцатое </word>
|
7640
|
+
<word ordinal="16">Шестнадцатое </word>
|
7641
|
+
<word ordinal="17">Семнадцатое </word>
|
7642
|
+
<word ordinal="18">Восемнадцатое </word>
|
7643
|
+
<word ordinal="19">Девятнадцатое </word>
|
7644
|
+
<word cardinal="20">Двадцать-</word>
|
7645
|
+
<word ordinal="20">Двадцатое </word>
|
7646
|
+
<word cardinal="30">Тридцать-</word>
|
7647
|
+
<word ordinal="30">Тридцатое </word>
|
7648
|
+
<word cardinal="40">Сорок-</word>
|
7649
|
+
<word ordinal="40">Сороковое </word>
|
7650
|
+
<word cardinal="50">Пятьдесят-</word>
|
7651
|
+
<word ordinal="50">Пятидесятое </word>
|
7652
|
+
<word cardinal="60">Шестьдесят-</word>
|
7653
|
+
<word ordinal="60">Шестидесятое </word>
|
7654
|
+
<word cardinal="70">Семьдесят-</word>
|
7655
|
+
<word ordinal="70">Семидесятое </word>
|
7656
|
+
<word cardinal="80">Восемьдесят-</word>
|
7657
|
+
<word ordinal="80">Восьмидесятое </word>
|
7658
|
+
<word cardinal="90">Девяносто-</word>
|
7659
|
+
<word ordinal="90">Девяностое </word>
|
7660
|
+
<word cardinal="100">Сто-</word>
|
7661
|
+
<word ordinal="100">Сотое </word>
|
7662
|
+
</xsl:when>
|
7663
|
+
<xsl:otherwise> <!-- default english -->
|
7664
|
+
<word cardinal="1">One-</word>
|
7665
|
+
<word ordinal="1">First </word>
|
7666
|
+
<word cardinal="2">Two-</word>
|
7667
|
+
<word ordinal="2">Second </word>
|
7668
|
+
<word cardinal="3">Three-</word>
|
7669
|
+
<word ordinal="3">Third </word>
|
7670
|
+
<word cardinal="4">Four-</word>
|
7671
|
+
<word ordinal="4">Fourth </word>
|
7672
|
+
<word cardinal="5">Five-</word>
|
7673
|
+
<word ordinal="5">Fifth </word>
|
7674
|
+
<word cardinal="6">Six-</word>
|
7675
|
+
<word ordinal="6">Sixth </word>
|
7676
|
+
<word cardinal="7">Seven-</word>
|
7677
|
+
<word ordinal="7">Seventh </word>
|
7678
|
+
<word cardinal="8">Eight-</word>
|
7679
|
+
<word ordinal="8">Eighth </word>
|
7680
|
+
<word cardinal="9">Nine-</word>
|
7681
|
+
<word ordinal="9">Ninth </word>
|
7682
|
+
<word ordinal="10">Tenth </word>
|
7683
|
+
<word ordinal="11">Eleventh </word>
|
7684
|
+
<word ordinal="12">Twelfth </word>
|
7685
|
+
<word ordinal="13">Thirteenth </word>
|
7686
|
+
<word ordinal="14">Fourteenth </word>
|
7687
|
+
<word ordinal="15">Fifteenth </word>
|
7688
|
+
<word ordinal="16">Sixteenth </word>
|
7689
|
+
<word ordinal="17">Seventeenth </word>
|
7690
|
+
<word ordinal="18">Eighteenth </word>
|
7691
|
+
<word ordinal="19">Nineteenth </word>
|
7692
|
+
<word cardinal="20">Twenty-</word>
|
7693
|
+
<word ordinal="20">Twentieth </word>
|
7694
|
+
<word cardinal="30">Thirty-</word>
|
7695
|
+
<word ordinal="30">Thirtieth </word>
|
7696
|
+
<word cardinal="40">Forty-</word>
|
7697
|
+
<word ordinal="40">Fortieth </word>
|
7698
|
+
<word cardinal="50">Fifty-</word>
|
7699
|
+
<word ordinal="50">Fiftieth </word>
|
7700
|
+
<word cardinal="60">Sixty-</word>
|
7701
|
+
<word ordinal="60">Sixtieth </word>
|
7702
|
+
<word cardinal="70">Seventy-</word>
|
7703
|
+
<word ordinal="70">Seventieth </word>
|
7704
|
+
<word cardinal="80">Eighty-</word>
|
7705
|
+
<word ordinal="80">Eightieth </word>
|
7706
|
+
<word cardinal="90">Ninety-</word>
|
7707
|
+
<word ordinal="90">Ninetieth </word>
|
7708
|
+
<word cardinal="100">Hundred-</word>
|
7709
|
+
<word ordinal="100">Hundredth </word>
|
7710
|
+
</xsl:otherwise>
|
7711
|
+
</xsl:choose>
|
7387
7712
|
</words>
|
7388
7713
|
</xsl:variable>
|
7389
7714
|
|
@@ -7457,4 +7782,18 @@
|
|
7457
7782
|
<xsl:otherwise>_</xsl:otherwise>
|
7458
7783
|
</xsl:choose>
|
7459
7784
|
</xsl:attribute>
|
7785
|
+
</xsl:template><xsl:template name="substring-after-last">
|
7786
|
+
<xsl:param name="value"/>
|
7787
|
+
<xsl:param name="delimiter"/>
|
7788
|
+
<xsl:choose>
|
7789
|
+
<xsl:when test="contains($value, $delimiter)">
|
7790
|
+
<xsl:call-template name="substring-after-last">
|
7791
|
+
<xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
|
7792
|
+
<xsl:with-param name="delimiter" select="$delimiter"/>
|
7793
|
+
</xsl:call-template>
|
7794
|
+
</xsl:when>
|
7795
|
+
<xsl:otherwise>
|
7796
|
+
<xsl:value-of select="$value"/>
|
7797
|
+
</xsl:otherwise>
|
7798
|
+
</xsl:choose>
|
7460
7799
|
</xsl:template></xsl:stylesheet>
|