metanorma-itu 1.3.6 → 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -3084,6 +3084,7 @@
3084
3084
 
3085
3085
 
3086
3086
 
3087
+
3087
3088
  <xsl:if test="ancestor::*[local-name()='preface']">
3088
3089
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3089
3090
  </xsl:if>
@@ -3096,6 +3097,10 @@
3096
3097
 
3097
3098
 
3098
3099
 
3100
+
3101
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3102
+
3103
+
3099
3104
  <!-- except gb -->
3100
3105
 
3101
3106
  <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
@@ -3121,6 +3126,10 @@
3121
3126
  <!-- fn processing -->
3122
3127
  <xsl:call-template name="fn_display"/>
3123
3128
 
3129
+
3130
+ <!-- for PAS display Notes after footnotes -->
3131
+
3132
+
3124
3133
  </fo:table-cell>
3125
3134
  </fo:table-row>
3126
3135
  </fo:table-body>
@@ -3178,6 +3187,7 @@
3178
3187
  <xsl:if test="$parent-name = 'tfoot'">
3179
3188
 
3180
3189
 
3190
+
3181
3191
  </xsl:if>
3182
3192
 
3183
3193
 
@@ -3315,8 +3325,13 @@
3315
3325
 
3316
3326
 
3317
3327
 
3328
+
3329
+ <!-- Table's note name (NOTE, for example) -->
3330
+
3318
3331
  <fo:inline padding-right="2mm">
3319
3332
 
3333
+
3334
+
3320
3335
 
3321
3336
 
3322
3337
 
@@ -3324,6 +3339,8 @@
3324
3339
 
3325
3340
  </fo:inline>
3326
3341
 
3342
+
3343
+
3327
3344
  <xsl:apply-templates mode="process"/>
3328
3345
  </fo:block>
3329
3346
 
@@ -3347,6 +3364,8 @@
3347
3364
  <xsl:variable name="reference" select="@reference"/>
3348
3365
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3349
3366
  <fo:block margin-bottom="12pt">
3367
+
3368
+
3350
3369
 
3351
3370
 
3352
3371
 
@@ -3378,6 +3397,7 @@
3378
3397
  <xsl:text>)</xsl:text>
3379
3398
  <!-- </xsl:if> -->
3380
3399
 
3400
+
3381
3401
  </fo:inline>
3382
3402
  <fo:inline>
3383
3403
 
@@ -3530,6 +3550,7 @@
3530
3550
 
3531
3551
  <xsl:value-of select="@reference"/>
3532
3552
 
3553
+
3533
3554
  </fo:basic-link>
3534
3555
  </fo:inline>
3535
3556
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
@@ -4552,6 +4573,7 @@
4552
4573
 
4553
4574
 
4554
4575
 
4576
+
4555
4577
  <fo:block-container margin-left="0mm">
4556
4578
 
4557
4579
 
@@ -5747,9 +5769,10 @@
5747
5769
 
5748
5770
 
5749
5771
  </xsl:if>
5750
-
5772
+
5773
+
5774
+
5751
5775
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5752
-
5753
5776
  <xsl:if test="normalize-space(@citeas) = ''">
5754
5777
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
5755
5778
  </xsl:if>
@@ -5757,6 +5780,7 @@
5757
5780
 
5758
5781
 
5759
5782
 
5783
+
5760
5784
  </xsl:if>
5761
5785
 
5762
5786
  <xsl:apply-templates/>
@@ -6684,4 +6708,100 @@
6684
6708
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6685
6709
  </xsl:choose>
6686
6710
  </xsl:attribute>
6711
+ </xsl:template><xsl:template name="number-to-words">
6712
+ <xsl:param name="number"/>
6713
+ <xsl:param name="first"/>
6714
+ <xsl:if test="$number != ''">
6715
+ <xsl:variable name="words">
6716
+ <words>
6717
+ <word cardinal="1">One-</word>
6718
+ <word ordinal="1">First </word>
6719
+ <word cardinal="2">Two-</word>
6720
+ <word ordinal="2">Second </word>
6721
+ <word cardinal="3">Three-</word>
6722
+ <word ordinal="3">Third </word>
6723
+ <word cardinal="4">Four-</word>
6724
+ <word ordinal="4">Fourth </word>
6725
+ <word cardinal="5">Five-</word>
6726
+ <word ordinal="5">Fifth </word>
6727
+ <word cardinal="6">Six-</word>
6728
+ <word ordinal="6">Sixth </word>
6729
+ <word cardinal="7">Seven-</word>
6730
+ <word ordinal="7">Seventh </word>
6731
+ <word cardinal="8">Eight-</word>
6732
+ <word ordinal="8">Eighth </word>
6733
+ <word cardinal="9">Nine-</word>
6734
+ <word ordinal="9">Ninth </word>
6735
+ <word ordinal="10">Tenth </word>
6736
+ <word ordinal="11">Eleventh </word>
6737
+ <word ordinal="12">Twelfth </word>
6738
+ <word ordinal="13">Thirteenth </word>
6739
+ <word ordinal="14">Fourteenth </word>
6740
+ <word ordinal="15">Fifteenth </word>
6741
+ <word ordinal="16">Sixteenth </word>
6742
+ <word ordinal="17">Seventeenth </word>
6743
+ <word ordinal="18">Eighteenth </word>
6744
+ <word ordinal="19">Nineteenth </word>
6745
+ <word cardinal="20">Twenty-</word>
6746
+ <word ordinal="20">Twentieth </word>
6747
+ <word cardinal="30">Thirty-</word>
6748
+ <word ordinal="30">Thirtieth </word>
6749
+ <word cardinal="40">Forty-</word>
6750
+ <word ordinal="40">Fortieth </word>
6751
+ <word cardinal="50">Fifty-</word>
6752
+ <word ordinal="50">Fiftieth </word>
6753
+ <word cardinal="60">Sixty-</word>
6754
+ <word ordinal="60">Sixtieth </word>
6755
+ <word cardinal="70">Seventy-</word>
6756
+ <word ordinal="70">Seventieth </word>
6757
+ <word cardinal="80">Eighty-</word>
6758
+ <word ordinal="80">Eightieth </word>
6759
+ <word cardinal="90">Ninety-</word>
6760
+ <word ordinal="90">Ninetieth </word>
6761
+ <word cardinal="100">Hundred-</word>
6762
+ <word ordinal="100">Hundredth </word>
6763
+ </words>
6764
+ </xsl:variable>
6765
+
6766
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
6767
+
6768
+ <xsl:variable name="value">
6769
+ <xsl:choose>
6770
+ <xsl:when test="$ordinal != ''">
6771
+ <xsl:value-of select="$ordinal"/>
6772
+ </xsl:when>
6773
+ <xsl:otherwise>
6774
+ <xsl:choose>
6775
+ <xsl:when test="$number &lt; 100">
6776
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
6777
+ <xsl:variable name="digit" select="substring($number,2)"/>
6778
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
6779
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
6780
+ </xsl:when>
6781
+ <xsl:otherwise>
6782
+ <!-- more 100 -->
6783
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
6784
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
6785
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
6786
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
6787
+ <xsl:call-template name="number-to-words">
6788
+ <xsl:with-param name="number" select="$digits"/>
6789
+ </xsl:call-template>
6790
+ </xsl:otherwise>
6791
+ </xsl:choose>
6792
+ </xsl:otherwise>
6793
+ </xsl:choose>
6794
+ </xsl:variable>
6795
+ <xsl:choose>
6796
+ <xsl:when test="$first = 'true'">
6797
+ <xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
6798
+ <xsl:call-template name="capitalize">
6799
+ <xsl:with-param name="str" select="$value_lc"/>
6800
+ </xsl:call-template>
6801
+ </xsl:when>
6802
+ <xsl:otherwise>
6803
+ <xsl:value-of select="$value"/>
6804
+ </xsl:otherwise>
6805
+ </xsl:choose>
6806
+ </xsl:if>
6687
6807
  </xsl:template></xsl:stylesheet>
@@ -3084,6 +3084,7 @@
3084
3084
 
3085
3085
 
3086
3086
 
3087
+
3087
3088
  <xsl:if test="ancestor::*[local-name()='preface']">
3088
3089
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3089
3090
  </xsl:if>
@@ -3096,6 +3097,10 @@
3096
3097
 
3097
3098
 
3098
3099
 
3100
+
3101
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3102
+
3103
+
3099
3104
  <!-- except gb -->
3100
3105
 
3101
3106
  <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
@@ -3121,6 +3126,10 @@
3121
3126
  <!-- fn processing -->
3122
3127
  <xsl:call-template name="fn_display"/>
3123
3128
 
3129
+
3130
+ <!-- for PAS display Notes after footnotes -->
3131
+
3132
+
3124
3133
  </fo:table-cell>
3125
3134
  </fo:table-row>
3126
3135
  </fo:table-body>
@@ -3178,6 +3187,7 @@
3178
3187
  <xsl:if test="$parent-name = 'tfoot'">
3179
3188
 
3180
3189
 
3190
+
3181
3191
  </xsl:if>
3182
3192
 
3183
3193
 
@@ -3315,8 +3325,13 @@
3315
3325
 
3316
3326
 
3317
3327
 
3328
+
3329
+ <!-- Table's note name (NOTE, for example) -->
3330
+
3318
3331
  <fo:inline padding-right="2mm">
3319
3332
 
3333
+
3334
+
3320
3335
 
3321
3336
 
3322
3337
 
@@ -3324,6 +3339,8 @@
3324
3339
 
3325
3340
  </fo:inline>
3326
3341
 
3342
+
3343
+
3327
3344
  <xsl:apply-templates mode="process"/>
3328
3345
  </fo:block>
3329
3346
 
@@ -3347,6 +3364,8 @@
3347
3364
  <xsl:variable name="reference" select="@reference"/>
3348
3365
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3349
3366
  <fo:block margin-bottom="12pt">
3367
+
3368
+
3350
3369
 
3351
3370
 
3352
3371
 
@@ -3378,6 +3397,7 @@
3378
3397
  <xsl:text>)</xsl:text>
3379
3398
  <!-- </xsl:if> -->
3380
3399
 
3400
+
3381
3401
  </fo:inline>
3382
3402
  <fo:inline>
3383
3403
 
@@ -3530,6 +3550,7 @@
3530
3550
 
3531
3551
  <xsl:value-of select="@reference"/>
3532
3552
 
3553
+
3533
3554
  </fo:basic-link>
3534
3555
  </fo:inline>
3535
3556
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
@@ -4552,6 +4573,7 @@
4552
4573
 
4553
4574
 
4554
4575
 
4576
+
4555
4577
  <fo:block-container margin-left="0mm">
4556
4578
 
4557
4579
 
@@ -5747,9 +5769,10 @@
5747
5769
 
5748
5770
 
5749
5771
  </xsl:if>
5750
-
5772
+
5773
+
5774
+
5751
5775
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5752
-
5753
5776
  <xsl:if test="normalize-space(@citeas) = ''">
5754
5777
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
5755
5778
  </xsl:if>
@@ -5757,6 +5780,7 @@
5757
5780
 
5758
5781
 
5759
5782
 
5783
+
5760
5784
  </xsl:if>
5761
5785
 
5762
5786
  <xsl:apply-templates/>
@@ -6684,4 +6708,100 @@
6684
6708
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6685
6709
  </xsl:choose>
6686
6710
  </xsl:attribute>
6711
+ </xsl:template><xsl:template name="number-to-words">
6712
+ <xsl:param name="number"/>
6713
+ <xsl:param name="first"/>
6714
+ <xsl:if test="$number != ''">
6715
+ <xsl:variable name="words">
6716
+ <words>
6717
+ <word cardinal="1">One-</word>
6718
+ <word ordinal="1">First </word>
6719
+ <word cardinal="2">Two-</word>
6720
+ <word ordinal="2">Second </word>
6721
+ <word cardinal="3">Three-</word>
6722
+ <word ordinal="3">Third </word>
6723
+ <word cardinal="4">Four-</word>
6724
+ <word ordinal="4">Fourth </word>
6725
+ <word cardinal="5">Five-</word>
6726
+ <word ordinal="5">Fifth </word>
6727
+ <word cardinal="6">Six-</word>
6728
+ <word ordinal="6">Sixth </word>
6729
+ <word cardinal="7">Seven-</word>
6730
+ <word ordinal="7">Seventh </word>
6731
+ <word cardinal="8">Eight-</word>
6732
+ <word ordinal="8">Eighth </word>
6733
+ <word cardinal="9">Nine-</word>
6734
+ <word ordinal="9">Ninth </word>
6735
+ <word ordinal="10">Tenth </word>
6736
+ <word ordinal="11">Eleventh </word>
6737
+ <word ordinal="12">Twelfth </word>
6738
+ <word ordinal="13">Thirteenth </word>
6739
+ <word ordinal="14">Fourteenth </word>
6740
+ <word ordinal="15">Fifteenth </word>
6741
+ <word ordinal="16">Sixteenth </word>
6742
+ <word ordinal="17">Seventeenth </word>
6743
+ <word ordinal="18">Eighteenth </word>
6744
+ <word ordinal="19">Nineteenth </word>
6745
+ <word cardinal="20">Twenty-</word>
6746
+ <word ordinal="20">Twentieth </word>
6747
+ <word cardinal="30">Thirty-</word>
6748
+ <word ordinal="30">Thirtieth </word>
6749
+ <word cardinal="40">Forty-</word>
6750
+ <word ordinal="40">Fortieth </word>
6751
+ <word cardinal="50">Fifty-</word>
6752
+ <word ordinal="50">Fiftieth </word>
6753
+ <word cardinal="60">Sixty-</word>
6754
+ <word ordinal="60">Sixtieth </word>
6755
+ <word cardinal="70">Seventy-</word>
6756
+ <word ordinal="70">Seventieth </word>
6757
+ <word cardinal="80">Eighty-</word>
6758
+ <word ordinal="80">Eightieth </word>
6759
+ <word cardinal="90">Ninety-</word>
6760
+ <word ordinal="90">Ninetieth </word>
6761
+ <word cardinal="100">Hundred-</word>
6762
+ <word ordinal="100">Hundredth </word>
6763
+ </words>
6764
+ </xsl:variable>
6765
+
6766
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
6767
+
6768
+ <xsl:variable name="value">
6769
+ <xsl:choose>
6770
+ <xsl:when test="$ordinal != ''">
6771
+ <xsl:value-of select="$ordinal"/>
6772
+ </xsl:when>
6773
+ <xsl:otherwise>
6774
+ <xsl:choose>
6775
+ <xsl:when test="$number &lt; 100">
6776
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
6777
+ <xsl:variable name="digit" select="substring($number,2)"/>
6778
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
6779
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
6780
+ </xsl:when>
6781
+ <xsl:otherwise>
6782
+ <!-- more 100 -->
6783
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
6784
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
6785
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
6786
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
6787
+ <xsl:call-template name="number-to-words">
6788
+ <xsl:with-param name="number" select="$digits"/>
6789
+ </xsl:call-template>
6790
+ </xsl:otherwise>
6791
+ </xsl:choose>
6792
+ </xsl:otherwise>
6793
+ </xsl:choose>
6794
+ </xsl:variable>
6795
+ <xsl:choose>
6796
+ <xsl:when test="$first = 'true'">
6797
+ <xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
6798
+ <xsl:call-template name="capitalize">
6799
+ <xsl:with-param name="str" select="$value_lc"/>
6800
+ </xsl:call-template>
6801
+ </xsl:when>
6802
+ <xsl:otherwise>
6803
+ <xsl:value-of select="$value"/>
6804
+ </xsl:otherwise>
6805
+ </xsl:choose>
6806
+ </xsl:if>
6687
6807
  </xsl:template></xsl:stylesheet>
@@ -3084,6 +3084,7 @@
3084
3084
 
3085
3085
 
3086
3086
 
3087
+
3087
3088
  <xsl:if test="ancestor::*[local-name()='preface']">
3088
3089
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3089
3090
  </xsl:if>
@@ -3096,6 +3097,10 @@
3096
3097
 
3097
3098
 
3098
3099
 
3100
+
3101
+ <!-- for BSI (not PAS) display Notes before footnotes -->
3102
+
3103
+
3099
3104
  <!-- except gb -->
3100
3105
 
3101
3106
  <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
@@ -3121,6 +3126,10 @@
3121
3126
  <!-- fn processing -->
3122
3127
  <xsl:call-template name="fn_display"/>
3123
3128
 
3129
+
3130
+ <!-- for PAS display Notes after footnotes -->
3131
+
3132
+
3124
3133
  </fo:table-cell>
3125
3134
  </fo:table-row>
3126
3135
  </fo:table-body>
@@ -3178,6 +3187,7 @@
3178
3187
  <xsl:if test="$parent-name = 'tfoot'">
3179
3188
 
3180
3189
 
3190
+
3181
3191
  </xsl:if>
3182
3192
 
3183
3193
 
@@ -3315,8 +3325,13 @@
3315
3325
 
3316
3326
 
3317
3327
 
3328
+
3329
+ <!-- Table's note name (NOTE, for example) -->
3330
+
3318
3331
  <fo:inline padding-right="2mm">
3319
3332
 
3333
+
3334
+
3320
3335
 
3321
3336
 
3322
3337
 
@@ -3324,6 +3339,8 @@
3324
3339
 
3325
3340
  </fo:inline>
3326
3341
 
3342
+
3343
+
3327
3344
  <xsl:apply-templates mode="process"/>
3328
3345
  </fo:block>
3329
3346
 
@@ -3347,6 +3364,8 @@
3347
3364
  <xsl:variable name="reference" select="@reference"/>
3348
3365
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3349
3366
  <fo:block margin-bottom="12pt">
3367
+
3368
+
3350
3369
 
3351
3370
 
3352
3371
 
@@ -3378,6 +3397,7 @@
3378
3397
  <xsl:text>)</xsl:text>
3379
3398
  <!-- </xsl:if> -->
3380
3399
 
3400
+
3381
3401
  </fo:inline>
3382
3402
  <fo:inline>
3383
3403
 
@@ -3530,6 +3550,7 @@
3530
3550
 
3531
3551
  <xsl:value-of select="@reference"/>
3532
3552
 
3553
+
3533
3554
  </fo:basic-link>
3534
3555
  </fo:inline>
3535
3556
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
@@ -4552,6 +4573,7 @@
4552
4573
 
4553
4574
 
4554
4575
 
4576
+
4555
4577
  <fo:block-container margin-left="0mm">
4556
4578
 
4557
4579
 
@@ -5747,9 +5769,10 @@
5747
5769
 
5748
5770
 
5749
5771
  </xsl:if>
5750
-
5772
+
5773
+
5774
+
5751
5775
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5752
-
5753
5776
  <xsl:if test="normalize-space(@citeas) = ''">
5754
5777
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
5755
5778
  </xsl:if>
@@ -5757,6 +5780,7 @@
5757
5780
 
5758
5781
 
5759
5782
 
5783
+
5760
5784
  </xsl:if>
5761
5785
 
5762
5786
  <xsl:apply-templates/>
@@ -6684,4 +6708,100 @@
6684
6708
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6685
6709
  </xsl:choose>
6686
6710
  </xsl:attribute>
6711
+ </xsl:template><xsl:template name="number-to-words">
6712
+ <xsl:param name="number"/>
6713
+ <xsl:param name="first"/>
6714
+ <xsl:if test="$number != ''">
6715
+ <xsl:variable name="words">
6716
+ <words>
6717
+ <word cardinal="1">One-</word>
6718
+ <word ordinal="1">First </word>
6719
+ <word cardinal="2">Two-</word>
6720
+ <word ordinal="2">Second </word>
6721
+ <word cardinal="3">Three-</word>
6722
+ <word ordinal="3">Third </word>
6723
+ <word cardinal="4">Four-</word>
6724
+ <word ordinal="4">Fourth </word>
6725
+ <word cardinal="5">Five-</word>
6726
+ <word ordinal="5">Fifth </word>
6727
+ <word cardinal="6">Six-</word>
6728
+ <word ordinal="6">Sixth </word>
6729
+ <word cardinal="7">Seven-</word>
6730
+ <word ordinal="7">Seventh </word>
6731
+ <word cardinal="8">Eight-</word>
6732
+ <word ordinal="8">Eighth </word>
6733
+ <word cardinal="9">Nine-</word>
6734
+ <word ordinal="9">Ninth </word>
6735
+ <word ordinal="10">Tenth </word>
6736
+ <word ordinal="11">Eleventh </word>
6737
+ <word ordinal="12">Twelfth </word>
6738
+ <word ordinal="13">Thirteenth </word>
6739
+ <word ordinal="14">Fourteenth </word>
6740
+ <word ordinal="15">Fifteenth </word>
6741
+ <word ordinal="16">Sixteenth </word>
6742
+ <word ordinal="17">Seventeenth </word>
6743
+ <word ordinal="18">Eighteenth </word>
6744
+ <word ordinal="19">Nineteenth </word>
6745
+ <word cardinal="20">Twenty-</word>
6746
+ <word ordinal="20">Twentieth </word>
6747
+ <word cardinal="30">Thirty-</word>
6748
+ <word ordinal="30">Thirtieth </word>
6749
+ <word cardinal="40">Forty-</word>
6750
+ <word ordinal="40">Fortieth </word>
6751
+ <word cardinal="50">Fifty-</word>
6752
+ <word ordinal="50">Fiftieth </word>
6753
+ <word cardinal="60">Sixty-</word>
6754
+ <word ordinal="60">Sixtieth </word>
6755
+ <word cardinal="70">Seventy-</word>
6756
+ <word ordinal="70">Seventieth </word>
6757
+ <word cardinal="80">Eighty-</word>
6758
+ <word ordinal="80">Eightieth </word>
6759
+ <word cardinal="90">Ninety-</word>
6760
+ <word ordinal="90">Ninetieth </word>
6761
+ <word cardinal="100">Hundred-</word>
6762
+ <word ordinal="100">Hundredth </word>
6763
+ </words>
6764
+ </xsl:variable>
6765
+
6766
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
6767
+
6768
+ <xsl:variable name="value">
6769
+ <xsl:choose>
6770
+ <xsl:when test="$ordinal != ''">
6771
+ <xsl:value-of select="$ordinal"/>
6772
+ </xsl:when>
6773
+ <xsl:otherwise>
6774
+ <xsl:choose>
6775
+ <xsl:when test="$number &lt; 100">
6776
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
6777
+ <xsl:variable name="digit" select="substring($number,2)"/>
6778
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
6779
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
6780
+ </xsl:when>
6781
+ <xsl:otherwise>
6782
+ <!-- more 100 -->
6783
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
6784
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
6785
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
6786
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
6787
+ <xsl:call-template name="number-to-words">
6788
+ <xsl:with-param name="number" select="$digits"/>
6789
+ </xsl:call-template>
6790
+ </xsl:otherwise>
6791
+ </xsl:choose>
6792
+ </xsl:otherwise>
6793
+ </xsl:choose>
6794
+ </xsl:variable>
6795
+ <xsl:choose>
6796
+ <xsl:when test="$first = 'true'">
6797
+ <xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
6798
+ <xsl:call-template name="capitalize">
6799
+ <xsl:with-param name="str" select="$value_lc"/>
6800
+ </xsl:call-template>
6801
+ </xsl:when>
6802
+ <xsl:otherwise>
6803
+ <xsl:value-of select="$value"/>
6804
+ </xsl:otherwise>
6805
+ </xsl:choose>
6806
+ </xsl:if>
6687
6807
  </xsl:template></xsl:stylesheet>