<?xml version="1.0" ?>

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



<xsl:output method="html" encoding="ISO-8859-1"
	    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
	    doctype-system="DTD/xhtml1-strict.dtd"
	    indent="yes" /> 
 


<!-- traitement de la racine films -->

<xsl:template match="/films">
<html>
<head>
<link rel="stylesheet" type="text/css" href="films.css" />
<title>Mes films</title>
<meta name="robots" content="noindex" />
</head>
<body>
<h1>Ma liste de films</h1>

<p>
  Cette page est produite dans le cadre d'exercices sur XSLT. Son contenu n'est peut-être pas pertinent.
</p>
<ul>
  <li>retour aux <a href="http://www.grappa.univ-lille3.fr/~torre/Enseignement/TPs/XML/Corrections/#xsltfilms">solutions des exercices XML</a></li>
  <li>retour aux <a href="http://www.grappa.univ-lille3.fr/~torre/Enseignement/TPs/XML/XSLT/">exercices XSLT</a></li>
  <li>retour à la page de <a href="http://www.grappa.univ-lille3.fr/~torre/">Fabien Torre</a></li>
</ul>

<xsl:apply-templates select="film" />

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

<!-- Transformation des films -->

<xsl:template match="film">
<div class="film">
<h2><xsl:value-of select="titre" /></h2>

<xsl:apply-templates select="photo" />

<xsl:apply-templates select="@lang" />

de <em><xsl:value-of select="realisateur" /></em><br />
<strong><xsl:value-of select="annee" /></strong><br />

<h3>Casting</h3>
<ul>
<xsl:apply-templates select="casting/acteur" />
</ul>

<h3>Synopsis</h3>
<p>
<xsl:apply-templates select="synopsis/node()" />
</p>

</div>
</xsl:template>


<!-- Transformation de la photo -->

<xsl:template match="photo">
 <xsl:element name="img">
   <xsl:attribute name="class">photo</xsl:attribute>
   <xsl:attribute name="src">
     <xsl:value-of select="@href" />
   </xsl:attribute>
 </xsl:element>
 <br />
</xsl:template>



<!-- Transformation de la langue -->

<xsl:template match="@lang">
 <xsl:element name="img">
   <xsl:attribute name="src"><xsl:value-of select="." />.png</xsl:attribute>
 </xsl:element>
 <br />
</xsl:template>



<!-- Transformation des acteurs -->

<xsl:template match="acteur">
<li><xsl:value-of select="." /> : <xsl:value-of select="@personnage" /></li>
</xsl:template>

<xsl:template name="findactor">
  <xsl:param name="id" />
  <xsl:value-of select="//casting/acteur[@id=$id]/@personnage" />
  (<xsl:value-of select="//casting/acteur[@id=$id]/." />)
</xsl:template>


<xsl:template match="perso">
<em>
 <xsl:call-template name="findactor">
    <xsl:with-param name="id" select="@ref" />
 </xsl:call-template>
</em>
</xsl:template>





</xsl:stylesheet>



