site de Fabien Torre


Source de sujets2html-2.xsl

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0">
<xsl:output method="xml" encoding="utf-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" />
<!-- Parametres -->
<xsl:param name="refsujet" />
<!-- Traitement de la racine -->
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="//sujet[@id='$refsujet']/titre" />
</title>
<link rel="stylesheet" type="text/css" href="sujets.css" />
</head>
<body>
<div class="contenu">
<!-- Contenu -->
<xsl:apply-templates select="//sujet[@id=$refsujet]" mode="unseul" />
<!-- Pied de page -->
<hr />
<div class="logos">
<a href="https://fabien-torre.fr/">
<img src="https://fabien-torre.fr/Images/FabienTorre.png" alt="Fabien Torre" />
</a>
<a href="http://validator.w3.org/check/referer">
<img src="https://fabien-torre.fr/Images/valid-xhtml10.png" alt="Valid XHTML 1.0!" />
</a>
<a href="http://jigsaw.w3.org/css-validator/validator?uri=https://fabien-torre.fr/Enseignement/Master-ID/Memoire/memoire.css">
<img src="https://fabien-torre.fr/Images/valid_css.png" alt="Valid CSS!" />
</a>
</div>
</div>
</body>
</html>
</xsl:template>
<!-- Traitement du sujet principal -->
<xsl:template match="sujet" mode="unseul">
<h1>
<xsl:value-of select="titre" />
</h1>
<!-- Creation de la liste des sujets parents -->
<xsl:if test="parent::sujet">
<div class="chemin">
<xsl:variable name="idpere" select="parent::sujet/@id" />
<xsl:apply-templates select="//sujet[@id=$idpere]" mode="ascendance" />
</div>
</xsl:if>
<!-- Liste des liens -->
<xsl:if test="count(url) > 0">
<ul>
<xsl:apply-templates select="./url" />
</ul>
</xsl:if>
<!-- Description -->
<xsl:copy-of select="description/*" />
<!-- <xsl:variable name="idsujet" select="@id" /> -->
<!-- Affichage de la liste des sous-sujets -->
<xsl:if test="sujet">
<ul>
<xsl:apply-templates select="sujet" mode="liste">
<xsl:sort select="titre" order="ascending" />
</xsl:apply-templates>
</ul>
</xsl:if>
</xsl:template>
<!-- Traitement des sous-sujets -->
<xsl:template match="sujet" mode="liste">
<li>
<xsl:call-template name="faireunlien">
<xsl:with-param name="texte" select="titre" />
<xsl:with-param name="adresse" select="concat(@id,'.html')" />
</xsl:call-template>
</li>
</xsl:template>
<!-- Traitement des sujets parents -->
<xsl:template match="sujet" mode="ascendance">
<xsl:if test="parent::sujet">
<xsl:variable name="idpere" select="parent::sujet/@id" />
<xsl:apply-templates select="//sujet[@id=$idpere]" mode="ascendance" />
<xsl:text> > </xsl:text>
</xsl:if>
<xsl:call-template name="faireunlien">
<xsl:with-param name="texte" select="titre" />
<xsl:with-param name="adresse" select="concat(@id,'.html')" />
</xsl:call-template>
</xsl:template>
<!-- Regles pour la sortie des URLs -->
<xsl:template name="faireunlien">
<xsl:param name="adresse" />
<xsl:param name="texte" />
<a href="{$adresse}">
<xsl:value-of select="$texte" />
</a>
</xsl:template>
<xsl:template match="url">
<li>
<xsl:call-template name="faireunlien">
<xsl:with-param name="texte" select="." />
<xsl:with-param name="adresse" select="@href" />
</xsl:call-template>
</li>
</xsl:template>
</xsl:stylesheet>
Fabien Torre Valid HTML5! Valid CSS!
site de Fabien Torre, université de Lille