|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<xsl:stylesheet version="1.0"
|
|
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
|
|
|
|
|
|
<!--
|
|
|
|
HTML 4.01 Transitional
|
|
|
|
-->
|
|
|
|
|
|
|
|
<xsl:output
|
|
|
|
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
doctype-system="http://www.w3.org/TR/html4/loose.dtd"
|
|
|
|
indent="yes"
|
|
|
|
method="html"
|
|
|
|
encoding="ISO-8859-1"
|
|
|
|
omit-xml-declaration="yes"/>
|
|
|
|
|
|
|
|
<xsl:template match="webpresence">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>My IM Status</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<p class="name"><xsl:value-of select="name"/></p>
|
|
|
|
<xsl:apply-templates select="accounts"/>
|
|
|
|
<hr/>
|
|
|
|
<font size="-2">
|
|
|
|
<xsl:text>Last update at: </xsl:text>
|
|
|
|
<xsl:value-of select="listdate"/>
|
|
|
|
</font>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
</xsl:template>
|
|
|
|
|
|
|
|
<xsl:template match="accounts">
|
|
|
|
<table>
|
|
|
|
<xsl:for-each select="account">
|
|
|
|
<tr>
|
|
|
|
<td class="protocol">
|
|
|
|
<xsl:apply-templates select="protocol"/>
|
|
|
|
</td>
|
|
|
|
<td class="accountname">
|
|
|
|
<xsl:value-of select="accountname"/>
|
|
|
|
</td>
|
|
|
|
<td class="accountstatus">
|
|
|
|
<xsl:apply-templates select="accountstatus"/>
|
|
|
|
</td>
|
|
|
|
<td class="accountaddress">
|
|
|
|
<xsl:value-of select="accountaddress"/>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</xsl:for-each>
|
|
|
|
</table>
|
|
|
|
</xsl:template>
|
|
|
|
|
|
|
|
<xsl:template match="protocol">
|
|
|
|
<xsl:choose>
|
|
|
|
<xsl:when test=".='ICQProtocol'">
|
|
|
|
<xsl:text>ICQ</xsl:text>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='JabberProtocol'">
|
|
|
|
<xsl:text>Jabber</xsl:text>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='YahooProtocol'">
|
|
|
|
<xsl:text>Yahoo</xsl:text>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='GaduProtocol'">
|
|
|
|
<xsl:text>Gadu-Gadu</xsl:text>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='WPProtocol'">
|
|
|
|
<xsl:text>WinPopup</xsl:text>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='SMSProtocol'">
|
|
|
|
<xsl:text>SMS</xsl:text>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='IRCProtocol'">
|
|
|
|
<xsl:text>IRC</xsl:text>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:otherwise>
|
|
|
|
<xsl:text>Unknown</xsl:text>
|
|
|
|
</xsl:otherwise>
|
|
|
|
</xsl:choose>
|
|
|
|
</xsl:template>
|
|
|
|
|
|
|
|
<xsl:template match="accountstatus">
|
|
|
|
<xsl:choose>
|
|
|
|
<xsl:when test=".='ONLINE'">
|
|
|
|
<font color="#00FF00">
|
|
|
|
<xsl:value-of select="."/>
|
|
|
|
</font>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='OFFLINE'">
|
|
|
|
<font color="red">
|
|
|
|
<xsl:value-of select="."/>
|
|
|
|
</font>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='AWAY'">
|
|
|
|
<font color="maroon">
|
|
|
|
<xsl:value-of select="."/>
|
|
|
|
</font>
|
|
|
|
<xsl:if test="@statusdescription != 'Away' or @awayreason">
|
|
|
|
<xsl:text> (</xsl:text>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="@statusdescription != 'Away'">
|
|
|
|
<xsl:value-of select="@statusdescription"/>
|
|
|
|
<xsl:if test="@awayreason">
|
|
|
|
<xsl:text>: </xsl:text>
|
|
|
|
</xsl:if>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="@awayreason">
|
|
|
|
<xsl:value-of select="@awayreason"/>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="@statusdescription != 'Away' or @awayreason">
|
|
|
|
<xsl:text>)</xsl:text>
|
|
|
|
</xsl:if>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:when test=".='UNKNOWN'">
|
|
|
|
<font color="gray">
|
|
|
|
<xsl:value-of select="."/>
|
|
|
|
</font>
|
|
|
|
<xsl:if test="@statusdescription">
|
|
|
|
<xsl:text> (</xsl:text>
|
|
|
|
<xsl:value-of select="@statusdescription"/>
|
|
|
|
<xsl:text>)</xsl:text>
|
|
|
|
</xsl:if>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:otherwise>
|
|
|
|
<xsl:value-of select="."/>
|
|
|
|
</xsl:otherwise>
|
|
|
|
</xsl:choose>
|
|
|
|
</xsl:template>
|
|
|
|
|
|
|
|
</xsl:stylesheet>
|
|
|
|
|
|
|
|
<!-- vim: set ts=4 sts=4 sw=4: -->
|