<?xml version="1.0" encoding="UTF-8"?>

<!--
/**
 * Rendering stylesheet for Liferea (feed description view)
 *
 * Copyright (C) 2006-2007 Lars Lindner <lars.lindner@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version. 
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
--> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                xmlns="http://www.w3.org/1999/xhtml">

<xsl:output method="xml" version="1.0" indent="yes"/>

<xsl:preserve-space elements="//*"/>

<xsl:template match="/feed" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
##STYLE_INSERT##
</head>
<body>

<!-- error header tables -->
<xsl:if test="parseError or filterError or updateError or httpError or feedDiscontinued = '1'">
<div id='errors'>

<xsl:if test="feedDiscontinued = '1'">
  <div id='updateError'>
     <_span>This feed is discontinued. It's no longer available. Liferea won't update it anymore but you can still access the cached headlines.</_span>
  </div>
</xsl:if>

<xsl:if test="updateError">
  <div id='updateError'>
    <xsl:value-of select="updateError"/>
  </div>
</xsl:if>

<xsl:if test="httpError">
  <div id='httpError'>
    <_span>The last update of this subscription failed!<br/><b>HTTP error code <xsl:value-of select="httpErrorCode"/>: <xsl:value-of select="httpError"/></b></_span>    
  </div>
</xsl:if>

<xsl:if test="parseError">
  <div id='parseError'>
    <_span>There were errors while parsing this feed!</_span>

    <span id="pdl" class="detaillink">
      (<span class="showmore" onclick="javascript:document.getElementById('pd').style.visibility='visible';document.getElementById('pd').style.display='block';document.getElementById('pdl').style.visibility='hidden';document.getElementById('pdl').style.display='none';">
        <_span>Parser Error Details</_span>
      </span>)
    </span>

    <span class="details" id='pd'>
      <b><_span>Details</_span></b><br />
      <xsl:value-of select="parseError" disable-output-escaping='yes'/>
      <script language="javascript" type="text/javascript">document.getElementById('pdl').style.visibility='visible';document.getElementById('pdl').style.display='inline';</script>

       <br /><_span>You may want to validate the feed using</_span>
       <xsl:text> </xsl:text>
       <a href="http://feedvalidator.org/check.cgi?url={feedSource}">FeedValidator</a>
    </span>
  </div>
</xsl:if>

<xsl:if test="filterError">
  <div id='filterError'>
    <_span>There were errors while filtering this feed!</_span>

    <span id="fdl" class="detaillink">
      (<span class="showmore" onclick="javascript:document.getElementById('fd').style.visibility='visible';document.getElementById('fd').style.display='block';document.getElementById('fdl').style.visibility='hidden';document.getElementById('fdl').style.display='none';">
        <_span>Filter Error Details</_span>
      </span>)
    </span>

    <span class="details" id='fd'>
      <b><_span>Details</_span></b><br />
      <xsl:value-of select="filterError" disable-output-escaping='yes'/>
      <script language="javascript" type="text/javascript">document.getElementById('fdl').style.visibility='visible';document.getElementById('fdl').style.display='inline';</script>
    </span>
  </div>
</xsl:if>

</div>
</xsl:if>

<!-- header table -->
<table class="feedhead" cellspacing="0">
<tr>
  <td valign="middle" class="headleft">
    <b><_span>Feed:</_span></b>
  </td>
  <td width="100%" valign="middle" class="headright">
     <a href="{attributes/attribute[ @name = 'homepage' ]}">
        <xsl:value-of select="feedTitle"/>
     </a>
  </td>
</tr>
<tr>
  <td valign="middle" class="headleft">
    <b><_span>Source:</_span></b>
  </td>
  <td width="100%" valign="middle" class="headright">
     <xsl:variable name="href">
        <xsl:call-template name="strippwd">
           <xsl:with-param name="string" select="feedSource"/>
        </xsl:call-template>
     </xsl:variable>
     <a href="{$href}">
        <xsl:call-template name="strippwd">
           <xsl:with-param name="string" select="feedSource"/>
        </xsl:call-template>
     </a>
  </td>
</tr>
</table>

<!-- header metadata (author, copyright, language) -->
<table class='headmeta' cellspacing="0" cellpadding="0">
<xsl:if test="attributes/attribute[ @name = 'publisher' ]">
<tr>
 <td valign="top" class='publisher'>
     <b><_span>Publisher</_span></b>
     <span class='publisher'>
       <xsl:value-of select="attributes/attribute[ @name = 'publisher' ]" disable-output-escaping='yes'/>
     </span>
 </td>
</tr>
</xsl:if>
<xsl:if test="attributes/attribute[ @name = 'copyright' ]">
<tr>
 <td valign="top" class='copyright'>
     <b><_span>Copyright</_span></b>
     <span class='copyright'>
       <xsl:value-of select="attributes/attribute[ @name = 'copyright' ]" disable-output-escaping='yes'/>
     </span>
 </td>
</tr>
</xsl:if>
</table> <!-- end of header metadata -->

<div class='content'>

<xsl:if test="attributes/attribute[ @name = 'imageUrl' ]">
<p>
<img class="feed" src="{attributes/attribute[ @name = 'imageUrl' ]}"/>
</p>
</xsl:if>

   <xsl:value-of select="attributes/attribute[@name = 'description']" disable-output-escaping='yes'/>

   <xsl:value-of select="attributes/attribute[@name = 'textInput']" disable-output-escaping='yes'/>
</div>

</body>
</html>
</xsl:template>

<xsl:template name="strippwd">
   <xsl:param name="string"/>
   <xsl:choose>
       <xsl:when test="contains($string, '@')"><xsl:value-of select="substring-before($string, '://')"/>://<xsl:value-of select="substring-after($string, '@')"/></xsl:when>
       <xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
   </xsl:choose>
</xsl:template>
</xsl:stylesheet>
