xref: /aosp_15_r20/external/apache-xml/test/tests/conf/numbering/numbering85.xsl (revision 1212f9a0ffdc28482b8821715d2222bf16dc14e2)
1<?xml version="1.0"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
4  <!-- CaseName: numbering85 -->
5  <!-- Author: Paul Dick -->
6  <!-- Purpose: Test that value attribute gets rounded correctly w/various formats. -->
7  <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(number)/ulist[1]/item[1]/p[1]/text()[5]" -->
8  <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(number)/p[1]/text()[3]" -->
9  <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(convert)/ulist[1]/item[1]/p[1]/text()[4]" -->
10  <!-- Scenario: operation="standard-XML" -->
11
12<xsl:template match="doc">
13  <out>
14  <!-- Round down to 1 -->
15     <o><xsl:number format="1" value="1.1"/></o><xsl:text>&#10;</xsl:text>
16     <o><xsl:number format="01" value="1.02"/></o><xsl:text>&#10;</xsl:text>
17     <o><xsl:number format="A" value="1.003"/></o><xsl:text>&#10;</xsl:text>
18     <o><xsl:number format="a" value="1.0004"/></o><xsl:text>&#10;</xsl:text>
19     <o><xsl:number format="I" value="1.00005"/></o><xsl:text>&#10;</xsl:text>
20	 <xsl:text>&#10;</xsl:text>
21
22  <!-- Round up to 7 -->
23     <s><xsl:number format="i" value="6.5000000000"/></s><xsl:text>&#10;</xsl:text>
24     <s><xsl:number format="1" value="6.51"/></s><xsl:text>&#10;</xsl:text>
25     <s><xsl:number format="01" value="6.501"/></s><xsl:text>&#10;</xsl:text>
26     <s><xsl:number format="A" value="6.5001"/></s><xsl:text>&#10;</xsl:text>
27     <s><xsl:number format="a" value="6.50001"/></s><xsl:text>&#10;</xsl:text>
28     <s><xsl:number format="I" value="6.500001"/></s><xsl:text>&#10;</xsl:text>
29	 <xsl:text>&#10;</xsl:text>
30
31  <!-- Round away two decimal places -->
32
33    <n><xsl:number format="1" value="99.03"/></n><xsl:text>&#10;</xsl:text>
34    <n><xsl:number format="01" value="99.13"/></n><xsl:text>&#10;</xsl:text>
35    <n><xsl:number format="A" value="99.23"/></n><xsl:text>&#10;</xsl:text>
36    <n><xsl:number format="a" value="99.33"/></n><xsl:text>&#10;</xsl:text>
37    <n><xsl:number format="I" value="99.43"/></n><xsl:text>&#10;</xsl:text>
38	 <xsl:text>&#10;</xsl:text>
39    <h><xsl:number format="i" value="99.50"/></h><xsl:text>&#10;</xsl:text>
40    <h><xsl:number format="1" value="99.53"/></h><xsl:text>&#10;</xsl:text>
41    <h><xsl:number format="01" value="99.63"/></h><xsl:text>&#10;</xsl:text>
42    <h><xsl:number format="A" value="99.73"/></h><xsl:text>&#10;</xsl:text>
43    <h><xsl:number format="a" value="99.83"/></h><xsl:text>&#10;</xsl:text>
44    <h><xsl:number format="I" value="99.93"/></h><xsl:text>&#10;</xsl:text>
45      <xsl:text>&#10;</xsl:text>
46
47  <!-- More edge cases -->
48
49    <t><xsl:number format="01" value="2.499"/></t><xsl:text>&#10;</xsl:text>
50    <t><xsl:number format="1" value="2.499999999"/></t><xsl:text>&#10;</xsl:text>
51  </out>
52</xsl:template>
53
54
55  <!--
56   * Licensed to the Apache Software Foundation (ASF) under one
57   * or more contributor license agreements. See the NOTICE file
58   * distributed with this work for additional information
59   * regarding copyright ownership. The ASF licenses this file
60   * to you under the Apache License, Version 2.0 (the  "License");
61   * you may not use this file except in compliance with the License.
62   * You may obtain a copy of the License at
63   *
64   *     http://www.apache.org/licenses/LICENSE-2.0
65   *
66   * Unless required by applicable law or agreed to in writing, software
67   * distributed under the License is distributed on an "AS IS" BASIS,
68   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
69   * See the License for the specific language governing permissions and
70   * limitations under the License.
71  -->
72
73</xsl:stylesheet>
74