annotate share/template.xsl @ 3:a754b01955c7

1st stage of work for final 0.2.0
author Vlad Glagolev <enqlave@gmail.com>
date Mon, 27 Jul 2009 00:02:10 +0400
parents
children 5e26e170a121
rev   line source
3
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
1 <?xml version="1.0" encoding="UTF-8"?>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
2 <!-- pycweather/template.xsl: XSL stylesheet for displaying weather
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
3
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
4 This file is part of PycWeather
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
5
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
6 Copyright (c) 2009 Vlad Glagolev <enqlave@gmail.com>. All rights reserved.
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
7
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
8 Permission to use, copy, modify, and distribute this software for any
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
9 purpose with or without fee is hereby granted, provided that the above
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
10 copyright notice and this permission notice appear in all copies.
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
11
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
12 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
13 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
14 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
15 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
16 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
17 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
18 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
19
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
20 -->
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
21 <xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
22 <xsl:output method="text" disable-output-escaping="yes"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
23 <xsl:variable name="nl">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
24 <xsl:text>&#10;</xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
25 </xsl:variable>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
26 <xsl:template match="weather">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
27 <xsl:apply-templates select="cc"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
28 <xsl:apply-templates select="dayf"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
29 <xsl:comment>PycWeather</xsl:comment>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
30 </xsl:template>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
31 <xsl:template match="cc">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
32 <xsl:text>Location: </xsl:text><xsl:value-of select="obst"/><xsl:text> (</xsl:text><xsl:value-of select="../loc/lat"/><xsl:text>, </xsl:text><xsl:value-of select="../loc/lon"/><xsl:text>)</xsl:text><xsl:value-of select="$nl"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
33 <xsl:text>Temperature: </xsl:text><xsl:value-of select="tmp"/>°<xsl:value-of select="../head/ut"/><xsl:value-of select="$nl"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
34 <xsl:if test="tmp != flik">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
35 <xsl:text>Windchill: </xsl:text><xsl:value-of select="flik"/>°<xsl:value-of select="../head/ut"/><xsl:value-of select="$nl"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
36 </xsl:if>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
37 <xsl:text>Conditions: </xsl:text><xsl:value-of select="t"/><xsl:value-of select="$nl"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
38 <xsl:text>Wind: </xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
39 <xsl:choose>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
40 <xsl:when test="wind/s = 'calm'">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
41 <xsl:text>0</xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
42 </xsl:when>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
43 <xsl:otherwise>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
44 <xsl:value-of select="wind/s"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
45 </xsl:otherwise>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
46 </xsl:choose>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
47 <xsl:value-of select="../head/us"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
48 <xsl:text> (</xsl:text><xsl:value-of select="wind/t"/><xsl:text>)</xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
49 </xsl:template>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
50 <!-- MULTIPLE DAYS DISPLAY -->
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
51 <xsl:template match="dayf">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
52 <!-- don't repeat the first one -->
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
53 <xsl:apply-templates select="child::day[position() > 1]"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
54 </xsl:template>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
55 <xsl:template match="day">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
56 <xsl:value-of select="$nl"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
57 <xsl:value-of select="@dt"/><xsl:text>, </xsl:text><xsl:value-of select="@t"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
58 <xsl:if test="@d = 1">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
59 <xsl:text> (Tomorrow)</xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
60 </xsl:if>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
61 <xsl:text>: </xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
62 <xsl:apply-templates select="part"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
63 </xsl:template>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
64 <xsl:template match="part">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
65 <xsl:choose>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
66 <xsl:when test="@p = 'd'">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
67 <xsl:text>Day (</xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
68 <xsl:value-of select="../hi"/>°<xsl:value-of select="../../../head/ut"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
69 </xsl:when>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
70 <xsl:otherwise>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
71 <xsl:text>Night (</xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
72 <xsl:value-of select="../low"/>°<xsl:value-of select="../../../head/ut"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
73 </xsl:otherwise>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
74 </xsl:choose>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
75 <xsl:text>, </xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
76 <xsl:apply-templates select="t"/>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
77 <xsl:text>)</xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
78 <xsl:if test="@p = 'd'">
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
79 <xsl:text>; </xsl:text>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
80 </xsl:if>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
81 </xsl:template>
a754b01955c7 1st stage of work for final 0.2.0
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
82 </xsl:stylesheet>