xref: /aosp_15_r20/external/apache-xml/test/tests/conf/axes/axes01.xsl (revision 1212f9a0ffdc28482b8821715d2222bf16dc14e2)
1<?xml version="1.0"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3  <xsl:output indent="yes"/>
4
5  <!-- FileName: AXES01 -->
6  <!-- Document: http://www.w3.org/TR/xpath -->
7  <!-- DocVersion: 19991116 -->
8  <!-- Section: 2.2 -->
9  <!-- Purpose: Traverse the ancestor::* axis -->
10  <!-- Elaboration: First, jump to the center (via for-each so that we don't have interfering
11    templates, which is less of a problem for ancestor than other axes), then apply-templates
12    on all members of the axis under test. Also, demonstrate the statement in XSLT 5.4 that
13    "The selected set of nodes is processed in document order, unless a sorting specification
14    is present." -->
15
16<xsl:template match="/">
17  <out>
18    <xsl:for-each select="//center">
19      <xsl:apply-templates select="ancestor::*"/>
20    </xsl:for-each>
21  </out>
22</xsl:template>
23
24<xsl:template match="*">
25  <xsl:value-of select="name(.)"/><xsl:text> </xsl:text>
26</xsl:template>
27
28
29  <!--
30   * Licensed to the Apache Software Foundation (ASF) under one
31   * or more contributor license agreements. See the NOTICE file
32   * distributed with this work for additional information
33   * regarding copyright ownership. The ASF licenses this file
34   * to you under the Apache License, Version 2.0 (the  "License");
35   * you may not use this file except in compliance with the License.
36   * You may obtain a copy of the License at
37   *
38   *     http://www.apache.org/licenses/LICENSE-2.0
39   *
40   * Unless required by applicable law or agreed to in writing, software
41   * distributed under the License is distributed on an "AS IS" BASIS,
42   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
43   * See the License for the specific language governing permissions and
44   * limitations under the License.
45  -->
46
47</xsl:stylesheet>
48