xref: /aosp_15_r20/external/apache-xml/test/tests/conf/numbering/numbering17.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: numbering17 -->
5  <!-- Author: David Marston -->
6  <!-- Purpose: Test of proper formation of Roman numerals. -->
7  <!-- SpecCitation: Rec="XSLT" VersionDrop="1.1" --><!-- Formatting of zero will become an error -->
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)/p[2]/text()[5]" -->
10  <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(convert)/ulist[1]/item[5]/p[1]/text()[1]" -->
11  <!-- Scenario: operation="standard-XML" -->
12
13<!-- Elaboration: The value= formula below generates groups of 12 numbers out of every 50.
14     Look particularly at subtractive numbers: 4, 9, 19, 40, 49, 99, 490, 499, 900, 990, 999, etc.
15     It generates a zero, which may vary in its representation. -->
16
17<xsl:template match="doc">
18  <out>
19    <xsl:apply-templates/>
20  </out>
21</xsl:template>
22
23<xsl:template match="chapter">
24  <xsl:for-each select="note">
25    <xsl:number format="(I) " value="(floor(position() div 12)*50)+(position() mod 12)-1" />
26    <xsl:value-of select="."/><xsl:text>&#10;</xsl:text>
27  </xsl:for-each>
28</xsl:template>
29
30
31  <!--
32   * Licensed to the Apache Software Foundation (ASF) under one
33   * or more contributor license agreements. See the NOTICE file
34   * distributed with this work for additional information
35   * regarding copyright ownership. The ASF licenses this file
36   * to you under the Apache License, Version 2.0 (the  "License");
37   * you may not use this file except in compliance with the License.
38   * You may obtain a copy of the License at
39   *
40   *     http://www.apache.org/licenses/LICENSE-2.0
41   *
42   * Unless required by applicable law or agreed to in writing, software
43   * distributed under the License is distributed on an "AS IS" BASIS,
44   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
45   * See the License for the specific language governing permissions and
46   * limitations under the License.
47  -->
48
49</xsl:stylesheet>
50