xref: /aosp_15_r20/external/apache-xml/test/tests/bugzilla/Bugzilla6312.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:variable name="title" select="concat(todo/@project, ' ', todo/@major-version)"/>
4  <xsl:template match="/">
5    <HTML>
6      <HEAD>
7         <TITLE><xsl:value-of select="$title"/></TITLE>
8      </HEAD>
9      <BODY>
10
11        <H2><xsl:value-of select="concat($title, ': ', todo/@title)"/></H2>
12        <p><font size="-1">See a
13          <xsl:element name="a">
14            <xsl:attribute name="href">#developer-list</xsl:attribute>
15            <xsl:text>list of developers/initials.</xsl:text>
16          </xsl:element>
17        </font></p>
18        <font size="-1"><p>Planned releases:
19            <BR/><xsl:for-each select="todo/actions/target-release-description">
20              <xsl:element name="a">
21                <xsl:attribute name="href">#release-date-<xsl:value-of select="date"/></xsl:attribute>
22                <xsl:value-of select="date"/>
23              </xsl:element><xsl:text> </xsl:text><xsl:text> </xsl:text>
24            </xsl:for-each>
25            <xsl:element name="a">
26                <xsl:attribute name="href">#release-date-completed</xsl:attribute>
27                <xsl:text>Completed</xsl:text>
28              </xsl:element>
29
30        </p></font>
31        <xsl:for-each select="todo">
32          <xsl:for-each select="actions">
33              <xsl:for-each select="target-release-description">
34                <p>
35                  <xsl:apply-templates/>
36                </p>
37              </xsl:for-each>
38              <xsl:for-each select="action">
39                <xsl:if test="normalize-space(.)">
40                  <p>
41                   <xsl:number/>) <xsl:apply-templates/>
42                   <xsl:if test="@*">
43                    <BR/>
44                   </xsl:if>
45                   <xsl:apply-templates select="@*"/>
46                  </p>
47                </xsl:if>
48            </xsl:for-each>
49            <HR/>
50          </xsl:for-each>
51
52          <xsl:for-each select="completed">
53              <xsl:element name="a">
54                <xsl:attribute name="name">release-date-completed</xsl:attribute>
55                <H3>Completed: </H3>
56              </xsl:element>
57            <xsl:for-each select="action">
58              <xsl:if test="normalize-space(.)">
59                <p>
60                 <xsl:number/>) <xsl:apply-templates/>
61                 <xsl:if test="@*">
62                  <BR/>
63                 </xsl:if>
64                 <xsl:apply-templates select="@*"/>
65                </p>
66              </xsl:if>
67          </xsl:for-each>
68          <HR/>
69        </xsl:for-each>
70
71        <xsl:call-template name="developer-list"/>
72       </xsl:for-each>
73
74      </BODY>
75    </HTML>
76  </xsl:template>
77
78  <xsl:template match="action/@*">
79  <!-- Add link to the who attributes to corresponding item in developer-list -->
80    <b><xsl:value-of select="name(.)"/>:</b><xsl:text> </xsl:text>
81      <xsl:choose>
82        <xsl:when test="name(.)='who'">
83          <xsl:element name="a">
84            <xsl:attribute name="href">#personref-<xsl:value-of select="."/></xsl:attribute>
85            <xsl:value-of select="."/>
86          </xsl:element>
87        </xsl:when>
88        <xsl:otherwise>
89          <xsl:value-of select="."/>
90        </xsl:otherwise>
91      </xsl:choose>
92    <xsl:if test="not (position()=last())">
93      <xsl:text>, </xsl:text>
94    </xsl:if>
95  </xsl:template>
96
97  <xsl:template match="target-release-description/date">
98      <xsl:element name="a">
99        <xsl:attribute name="name">release-date-<xsl:value-of select="."/></xsl:attribute>
100        <b><xsl:text>For release: </xsl:text><xsl:value-of select="."/></b>
101      </xsl:element>
102
103  </xsl:template>
104
105  <xsl:template match="issue">
106    <BR/><b>Issue </b><xsl:text>[</xsl:text><xsl:value-of select="@id"/>
107    <xsl:text>]: </xsl:text>
108    <xsl:apply-templates/>
109  </xsl:template>
110
111  <xsl:template match="target-release-description/level">
112    <xsl:text>, </xsl:text><xsl:apply-templates/>
113  </xsl:template>
114
115  <xsl:template match="target-release-description/goal">
116    <BR/><b>Goal </b><xsl:text>[</xsl:text><xsl:value-of select="@type"/>
117    <xsl:text>]: </xsl:text>
118    <xsl:apply-templates/>
119  </xsl:template>
120
121
122  <xsl:template name="developer-list">
123    <H3>
124      <xsl:element name="a">
125        <xsl:attribute name="name">developer-list</xsl:attribute>
126        <xsl:text>Developers:</xsl:text>
127      </xsl:element>
128    </H3>
129    <p>A list of some of people currently working on working on <xsl:value-of select="/todo/@project"/>:</p>
130    <ul>
131    <xsl:for-each select="devs/person">
132      <li>
133        <a href="mailto:{@email}">
134          <xsl:value-of select="@name"/>
135        </a>
136         <xsl:element name="a">
137           <xsl:attribute name="name"><xsl:text>personref-</xsl:text><xsl:value-of select="@id"/></xsl:attribute>
138           <xsl:text> (</xsl:text><xsl:value-of select="@id"/><xsl:text>)</xsl:text>
139         </xsl:element>
140         <BR/><xsl:value-of select="."/>
141      </li>
142    </xsl:for-each>
143    </ul>
144  </xsl:template>
145
146
147  <!--
148   * Licensed to the Apache Software Foundation (ASF) under one
149   * or more contributor license agreements. See the NOTICE file
150   * distributed with this work for additional information
151   * regarding copyright ownership. The ASF licenses this file
152   * to you under the Apache License, Version 2.0 (the  "License");
153   * you may not use this file except in compliance with the License.
154   * You may obtain a copy of the License at
155   *
156   *     http://www.apache.org/licenses/LICENSE-2.0
157   *
158   * Unless required by applicable law or agreed to in writing, software
159   * distributed under the License is distributed on an "AS IS" BASIS,
160   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
161   * See the License for the specific language governing permissions and
162   * limitations under the License.
163  -->
164
165</xsl:stylesheet>
166