<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">




<xsl:output method="xml" encoding="iso-8859-1" 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="http://www.grappa.univ-lille3.fr/~torre/"><img src="http://www.grappa.univ-lille3.fr/~torre/Images/FabienTorre.png" alt="Fabien Torre" /></a>
	  <a href="http://validator.w3.org/check/referer"><img src="http://www.grappa.univ-lille3.fr/~torre/Images/valid-xhtml10.png" alt="Valid XHTML 1.0!" /></a>
	  <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.grappa.univ-lille3.fr/~torre/Enseignement/Master-ID/Memoire/memoire.css"><img src="http://www.grappa.univ-lille3.fr/~torre/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> &gt; </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>


