-
Jacques Pyrat a rédigé
Nota : le xslt est repris et modifié depuis celui de DotClear
Jacques Pyrat a rédigéNota : le xslt est repris et modifié depuis celui de DotClear
backend.xslt.html 3,55 Kio
[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#DIR_LANG">
<head>
<title><:soyezcreateurs:rss_abonnement_titre_page:> <xsl:value-of select="/rss/channel/title"/></title>
<style type="text/css">
<![CDATA[
body {
font: 80% Verdana,Arial,sans-serif;
margin: 0;
padding: 0;
background: #e8e8e8;
color: #000;
}
a { color: #039; }
h1, h2 { font-family: Arial,sans-serif; }
h1 { font-size: 160%; margin: 0; }
h2 { font-size: 140%; font-weight: bold; margin: 0; padding: 0.5em 0 0.2em 0; }
h2 a { text-decoration: none; }
p { margin: 0 0 0.5em 0; }
#page {
margin: 0 auto;
max-width: 80em;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
}
#top {
background: #036;
padding : 1em;
color: #fff;
}
#top a {
color: #fff;
text-decoration: none;
}
.logo { float: right; padding: 0.5em; background: #fff; }
#what {
padding: 1em;
background: #eee;
border-bottom: 1px solid #ddd;
font-size: 80%;
}
#top:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; }
#what p {
margin: 0 0 0.5em 0;
}
#footer {
border-top: 1px solid #ddd;
}
#items {
background: #fff;
color: inherit;
padding: 1em 2em;
}
#items div {
margin: 0; padding: 0 0 1em 0;
}
]]>
</style>
<script type="text/javascript"><![CDATA[
window.onload = function() {
document.getElementById('feedurl').value = window.location.href;
// Ugly but works ;)
var c = document.getElementsByTagName('div');
var t = '';
for (var i=0; c.length-i != 0; i++) {
if (c[i].className == 'item-content') {
if (c[i].textContent) {
t = c[i].textContent;
} else if (c[i].innerText) {
t = c[i].innerText;
} else {
t = '';
}
if (t) { c[i].innerHTML = t; }
}
}
};
]]></script>
</head>
<body>
<div id="page">
<div id="top">
<h1><a href="{/rss/channel/link}">[<img class="logo" src="(#LOGO_SITE_SPIP|image_reduire{200,50}|extraire_attribut{src}|url_absolue|texte_backend)" height="[(#LOGO_SITE_SPIP|image_reduire{200,50}|hauteur)"] width="[(#LOGO_SITE_SPIP|image_reduire{200,50}|largeur)]" />]<xsl:value-of select="/rss/channel/title"/></a></h1>
<p><xsl:value-of select="/rss/channel/description"/></p>
</div>
<div id="what">
<h2><:soyezcreateurs:rss_explication_titre:></h2>
<p><:soyezcreateurs:rss_explication:></p>
<h2><:soyezcreateurs:rss_abonnement_titre:></h2>
<p><:soyezcreateurs:rss_abonnement:> <input type="text" size="60" value="" id="feedurl" /></p>
</div>
<div id="items">
<xsl:apply-templates select="//item"/>
</div>
<div id="footer">
<p><xsl:value-of select="/rss/channel/copyright"/></p>
</div>
</div>
</body>
</html>
</xsl:template>
<!-- Item template -->
<xsl:template match="item">
<div>
<h2><a href="{link}"><xsl:value-of select="title"/></a></h2>
<div class="item-content"><xsl:value-of select="description" /></div>
</div>
</xsl:template>
</xsl:stylesheet>