xref: /aosp_15_r20/external/apache-xml/test/tests/api/impincl/MinitestInclude.xsl (revision 1212f9a0ffdc28482b8821715d2222bf16dc14e2)
1*1212f9a0SAndroid Build Coastguard Worker<?xml version="1.0"?>
2*1212f9a0SAndroid Build Coastguard Worker<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3*1212f9a0SAndroid Build Coastguard Worker
4*1212f9a0SAndroid Build Coastguard Worker<!-- Filename: MinitestInclude.xsl -->
5*1212f9a0SAndroid Build Coastguard Worker<!-- Author: [email protected] -->
6*1212f9a0SAndroid Build Coastguard Worker
7*1212f9a0SAndroid Build Coastguard Worker<xsl:template name="tree">
8*1212f9a0SAndroid Build Coastguard Worker   <xsl:param name="Surname" select="Default"/>
9*1212f9a0SAndroid Build Coastguard Worker
10*1212f9a0SAndroid Build Coastguard Worker   <xsl:comment> Create an simplified output tree for each family </xsl:comment><xsl:text>&#10;   </xsl:text>
11*1212f9a0SAndroid Build Coastguard Worker   <xsl:element name="{$root}">
12*1212f9a0SAndroid Build Coastguard Worker   <xsl:element name="{substring-after($Surname,'The ')}">
13*1212f9a0SAndroid Build Coastguard Worker
14*1212f9a0SAndroid Build Coastguard Worker       <!-- Start with the Parents.-->
15*1212f9a0SAndroid Build Coastguard Worker	   <xsl:element name="Parents">
16*1212f9a0SAndroid Build Coastguard Worker	   <xsl:for-each select="Parents/Father | Parents/Mother">
17*1212f9a0SAndroid Build Coastguard Worker		  <xsl:element name="{name(.)}">
18*1212f9a0SAndroid Build Coastguard Worker		     <xsl:value-of select="."/>
19*1212f9a0SAndroid Build Coastguard Worker		  </xsl:element>
20*1212f9a0SAndroid Build Coastguard Worker	   </xsl:for-each>
21*1212f9a0SAndroid Build Coastguard Worker	   </xsl:element>
22*1212f9a0SAndroid Build Coastguard Worker
23*1212f9a0SAndroid Build Coastguard Worker	   <!-- Then the Children. -->
24*1212f9a0SAndroid Build Coastguard Worker       <xsl:element name="Children">
25*1212f9a0SAndroid Build Coastguard Worker	   <xsl:attribute name="number">
26*1212f9a0SAndroid Build Coastguard Worker	      <xsl:value-of select="count(Children/Child)"/>
27*1212f9a0SAndroid Build Coastguard Worker	   </xsl:attribute>
28*1212f9a0SAndroid Build Coastguard Worker	   <xsl:for-each select="Children/Child">
29*1212f9a0SAndroid Build Coastguard Worker		     <xsl:element name="{Personal_Information/Sex}">
30*1212f9a0SAndroid Build Coastguard Worker
31*1212f9a0SAndroid Build Coastguard Worker			  <xsl:attribute name="name">
32*1212f9a0SAndroid Build Coastguard Worker			     <xsl:value-of select="Basic_Information/Name/@First"/>
33*1212f9a0SAndroid Build Coastguard Worker			  </xsl:attribute>
34*1212f9a0SAndroid Build Coastguard Worker			  <xsl:choose>
35*1212f9a0SAndroid Build Coastguard Worker			  <xsl:when test="Personal_Information/Sex='Male'">
36*1212f9a0SAndroid Build Coastguard Worker				<xsl:attribute name="wife">
37*1212f9a0SAndroid Build Coastguard Worker					<xsl:value-of select="Personal_Information/Family_Information/Wife/Name/@First"/>
38*1212f9a0SAndroid Build Coastguard Worker				</xsl:attribute>
39*1212f9a0SAndroid Build Coastguard Worker			  </xsl:when>
40*1212f9a0SAndroid Build Coastguard Worker			  <xsl:when test="Personal_Information/Sex='Female'">
41*1212f9a0SAndroid Build Coastguard Worker				<xsl:attribute name="husband">
42*1212f9a0SAndroid Build Coastguard Worker					<xsl:value-of select="Personal_Information/Family_Information/Husband/Name/@First"/>
43*1212f9a0SAndroid Build Coastguard Worker				</xsl:attribute>
44*1212f9a0SAndroid Build Coastguard Worker			  </xsl:when>
45*1212f9a0SAndroid Build Coastguard Worker			  </xsl:choose>
46*1212f9a0SAndroid Build Coastguard Worker
47*1212f9a0SAndroid Build Coastguard Worker			  <xsl:attribute name="kids">
48*1212f9a0SAndroid Build Coastguard Worker				  <xsl:value-of select="count(Personal_Information/Family_Information/Kids/Kid)"/>
49*1212f9a0SAndroid Build Coastguard Worker			  </xsl:attribute>
50*1212f9a0SAndroid Build Coastguard Worker
51*1212f9a0SAndroid Build Coastguard Worker			  <xsl:if test="count(Personal_Information/Family_Information/Kids/Kid)">
52*1212f9a0SAndroid Build Coastguard Worker			     <xsl:element name="Kids">
53*1212f9a0SAndroid Build Coastguard Worker			        <xsl:for-each select="Personal_Information/Family_Information/Kids/Kid">
54*1212f9a0SAndroid Build Coastguard Worker			           <xsl:element name="Grandkid"><xsl:value-of select="Name/@First"/></xsl:element>
55*1212f9a0SAndroid Build Coastguard Worker			        </xsl:for-each>
56*1212f9a0SAndroid Build Coastguard Worker			     </xsl:element>
57*1212f9a0SAndroid Build Coastguard Worker			  </xsl:if>
58*1212f9a0SAndroid Build Coastguard Worker
59*1212f9a0SAndroid Build Coastguard Worker			  <xsl:value-of select="Basic_Information/Name/@First"/>
60*1212f9a0SAndroid Build Coastguard Worker			 </xsl:element>
61*1212f9a0SAndroid Build Coastguard Worker	   </xsl:for-each>
62*1212f9a0SAndroid Build Coastguard Worker	   </xsl:element>
63*1212f9a0SAndroid Build Coastguard Worker
64*1212f9a0SAndroid Build Coastguard Worker   </xsl:element>
65*1212f9a0SAndroid Build Coastguard Worker   </xsl:element>
66*1212f9a0SAndroid Build Coastguard Worker</xsl:template>
67*1212f9a0SAndroid Build Coastguard Worker
68*1212f9a0SAndroid Build Coastguard Worker  <!--
69*1212f9a0SAndroid Build Coastguard Worker   * Licensed to the Apache Software Foundation (ASF) under one
70*1212f9a0SAndroid Build Coastguard Worker   * or more contributor license agreements. See the NOTICE file
71*1212f9a0SAndroid Build Coastguard Worker   * distributed with this work for additional information
72*1212f9a0SAndroid Build Coastguard Worker   * regarding copyright ownership. The ASF licenses this file
73*1212f9a0SAndroid Build Coastguard Worker   * to you under the Apache License, Version 2.0 (the  "License");
74*1212f9a0SAndroid Build Coastguard Worker   * you may not use this file except in compliance with the License.
75*1212f9a0SAndroid Build Coastguard Worker   * You may obtain a copy of the License at
76*1212f9a0SAndroid Build Coastguard Worker   *
77*1212f9a0SAndroid Build Coastguard Worker   *     http://www.apache.org/licenses/LICENSE-2.0
78*1212f9a0SAndroid Build Coastguard Worker   *
79*1212f9a0SAndroid Build Coastguard Worker   * Unless required by applicable law or agreed to in writing, software
80*1212f9a0SAndroid Build Coastguard Worker   * distributed under the License is distributed on an "AS IS" BASIS,
81*1212f9a0SAndroid Build Coastguard Worker   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
82*1212f9a0SAndroid Build Coastguard Worker   * See the License for the specific language governing permissions and
83*1212f9a0SAndroid Build Coastguard Worker   * limitations under the License.
84*1212f9a0SAndroid Build Coastguard Worker  -->
85*1212f9a0SAndroid Build Coastguard Worker
86*1212f9a0SAndroid Build Coastguard Worker</xsl:stylesheet>
87