Bonjour à tous,
Je travaille sur un projet sur la création d'un carnet d'adresse à l'aide de xml.
J'ai créé mon fichier "projet.xml", j'aimerai le transformer avec ce fichier "projet.xsl" pour afficher le contenu via le fichier "projet.html".
Mon problème, j'arrive à afficher certains contenus mais tous. Et les contenus affichés ne correspondent pas à ma liste des "étudiants" car il s'agit bien d'un carnet d'adresse affichant la liste des anciens étudiants. Ci-dessous les codes de mes différents fichiers:
Quelqu'un pourrait-il m'aider?
Merci par avance!
      
      
    Je travaille sur un projet sur la création d'un carnet d'adresse à l'aide de xml.
J'ai créé mon fichier "projet.xml", j'aimerai le transformer avec ce fichier "projet.xsl" pour afficher le contenu via le fichier "projet.html".
Mon problème, j'arrive à afficher certains contenus mais tous. Et les contenus affichés ne correspondent pas à ma liste des "étudiants" car il s'agit bien d'un carnet d'adresse affichant la liste des anciens étudiants. Ci-dessous les codes de mes différents fichiers:
 
// DTD:
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!ELEMENT  carnetDadresse (alumni, formations, entreprises, adresses )>
 
<!ELEMENT alumni (alumnus)+>
<!ELEMENT alumnus (nom, prenom, date_naissance, promotion)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT date_naissance (#PCDATA)>
<!ELEMENT promotion (#PCDATA)>
<!ATTLIST alumnus pk_id_alumnus ID #REQUIRED
		  fk_id_formation IDREF #REQUIRED
		  fk_id_entreprise IDREF #REQUIRED
		  fk_id_adresse IDREF #REQUIRED>
 
<!ELEMENT formations (formation)+>
<!ELEMENT formation (nom_formation, domaine)>
<!ELEMENT nom_formation (#PCDATA)>
<!ELEMENT domaine (#PCDATA)>
<!ATTLIST formation pk_id_formation ID #REQUIRED>
 
<!ELEMENT entreprises (entreprise)+>
<!ELEMENT entreprise (nom_entreprise, fonction, date_entree)>
<!ELEMENT nom_entreprise (#PCDATA)>
<!ELEMENT fonction (#PCDATA)>
<!ELEMENT date_entree (#PCDATA)>
<!ATTLIST entreprise pk_id_entreprise ID #REQUIRED>
 
<!ELEMENT adresses (adresse)+>
<!ELEMENT adresse (numero, rue, code_postal, ville, telephone, email)>
<!ELEMENT numero (#PCDATA)>
<!ELEMENT rue (#PCDATA)>
<!ELEMENT code_postal (#PCDATA)>
<!ELEMENT ville (#PCDATA)>
<!ELEMENT telephone (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ATTLIST adresse pk_id_adresse ID #REQUIRED>
 
// XML:
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- New XML document created with EditiX XML Editor (http://www.editix.com) at Tue Feb 24 21:09:17 CET 2015 -->
 
 
<?xml-stylesheet type="text/xsl" href="projet.xsl" ?>
 
<!DOCTYPE carnetDadresse SYSTEM "projet.dtd">
 
<carnetDadresse>
	<alumni>
		<alumnus pk_id_alumnus="A1" fk_id_adresse="D1" fk_id_formation="F3" fk_id_entreprise="E2">
			<nom>Dupont</nom>
			<prenom>Julien</prenom>
			<date_naissance>01/02/1990</date_naissance>
			<promotion>2014-2015</promotion>
		</alumnus>
 
		<alumnus pk_id_alumnus="A2" fk_id_adresse="D2" fk_id_formation="F1" fk_id_entreprise="E5">
			<nom>Dubois</nom>
			<prenom>Louise</prenom>
			<date_naissance>04/05/1985</date_naissance>
			<promotion>2013-2014</promotion>
		</alumnus>
 
		<alumnus pk_id_alumnus="A3" fk_id_adresse="D3" fk_id_formation="F2" fk_id_entreprise="E4">
			<nom>Herbert</nom>
			<prenom>John</prenom>
			<date_naissance>07/08/1982</date_naissance>
			<promotion>2012-2013</promotion>
		</alumnus>
 
		<alumnus pk_id_alumnus="A4" fk_id_adresse="D4" fk_id_formation="F1" fk_id_entreprise="E3">
			<nom>Aloui</nom>
			<prenom>Henri</prenom>
			<date_naissance>10/10/1982</date_naissance>
			<promotion>2011-2012</promotion>
		</alumnus>
 
		<alumnus pk_id_alumnus="A5" fk_id_adresse="D5" fk_id_formation="F2" fk_id_entreprise="E1">
			<nom>Koller</nom>
			<prenom>Elisa</prenom>
			<date_naissance>22/10/1988</date_naissance>
			<promotion>2010-2011</promotion>
		</alumnus>
 
	</alumni>
 
	<formations>
		<formation pk_id_formation="F1">			
			<nom_formation>Master IDEMM</nom_formation>
			<domaine>Information, communication, documentation</domaine>
		</formation>
 
		<formation pk_id_formation="F2">			
			<nom_formation>Master GIDE</nom_formation>
			<domaine>Information, communication, documentation</domaine>
		</formation>
 
		<formation pk_id_formation="F3">			
			<nom_formation>Master PRISME</nom_formation>
			<domaine>Information, communication, documentation</domaine>
		</formation>
 
	</formations>
 
	<entreprises>
		<entreprise pk_id_entreprise="E1">
			<nom_entreprise>Microsoft</nom_entreprise>
			<fonction>Chef de projet</fonction>
			<date_entree>01/01/2010</date_entree>
		</entreprise>
 
		<entreprise pk_id_entreprise="E2">
			<nom_entreprise>Orange</nom_entreprise>
			<fonction>Community Manager</fonction>
			<date_entree>01/01/2011</date_entree>
		</entreprise>
 
		<entreprise pk_id_entreprise="E3">
			<nom_entreprise>Google</nom_entreprise>
			<fonction>Expert SEO</fonction>
			<date_entree>01/01/2012</date_entree>
		</entreprise>
 
		<entreprise pk_id_entreprise="E4">
			<nom_entreprise>BMW</nom_entreprise>
			<fonction>Développeur</fonction>
			<date_entree>01/01/2015</date_entree>
		</entreprise>
 
		<entreprise pk_id_entreprise="E5">
			<nom_entreprise>Microsoft</nom_entreprise>
			<fonction>CEO</fonction>
			<date_entree>01/01/2000</date_entree>
		</entreprise>
 
	</entreprises>
 
	<adresses>
		<adresse pk_id_adresse="D1">
			<numero>20</numero>
			<rue>Pont du Petit Paradis</rue>
			<code_postal>59000</code_postal>
			<ville>Lille</ville>
			<telephone>03 20 00 00 00</telephone>
			<email>jdupont@gmail.com</email>
		</adresse>
 
		<adresse pk_id_adresse="D2">
			<numero>3</numero>
			<rue>Rue Saint André</rue>
			<code_postal>59650</code_postal>
			<ville>Villeneuve d'Ascq</ville>
			<telephone>01 20 02 00 00</telephone>
			<email>ldubois@yahoo.fr</email>
		</adresse>
 
		<adresse pk_id_adresse="D3">
			<numero>43</numero>
			<rue>Rue Saint Sebastien</rue>
			<code_postal>75000</code_postal>
			<ville>Paris</ville>
			<telephone>01 20 02 10 15</telephone>
			<email>jherbert@orange.fr</email>
		</adresse>
 
		<adresse pk_id_adresse="D4">
			<numero>93</numero>
			<rue>Rue Royale</rue>
			<code_postal>59000</code_postal>
			<ville>Lille</ville>
			<telephone>03 20 30 30 30</telephone>
			<email>elisakoller@gmail.com</email>
		</adresse>
 
		<adresse pk_id_adresse="D5">
			<numero>33</numero>
			<rue>Avenue du Peuple Belge</rue>
			<code_postal>59000</code_postal>
			<ville>Lille</ville>
			<telephone>0120303030</telephone>
			<email>haloui@yahoo.com</email>
		</adresse>
	</adresses>
</carnetDadresse>
 
// XSL
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- New XSLT document created with EditiX XML Editor (http://www.editix.com) at Mon Mar 02 16:16:29 CET 2015 -->
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
	<xsl:output method="html"/>
 
	<xsl:template match="/">
	<html>
		<head>
			<meta charset="utf-8"/>
			<title>Carnet d'adresses</title>
		</head>
 
		<body style="background-color:#d0caca; width:100%; margin:auto">
			<h1>Carnet d'adresses des anciens étudiants</h1>
 
			<h2 style="background-color:#406e90; color:#fff; width:500px">Liste des étudiants dans le carnet d'adresses:</h2>
 
            <table border="1" cellpadding="10">
            	<thead style="color:#1510a2" >
            		<tr>
                		<th>PROMOTION</th>
                    	<th>NOM</th>
                    	<th>PRENOM</th>
                    	<th>NAISSANCE</th>
                    	<th>FORMATION</th>
                    	<th>EMAIL</th>
                    	<th>TELEPHONE</th>
                    	<th>ENTREPRISE</th>
                	</tr>
            	</thead>
            	<xsl:for-each select="carnetDadresse/alumni/alumnus">
            		<tr>
            			<td>
            				<xsl:value-of select="promotion"/>
            			</td>
 
            			<td>
            				<xsl:value-of select="nom"/>
            			</td>
 
            			<td>
            				<xsl:value-of select="prenom"/>
            			</td>
 
            			<td>
            				<xsl:value-of select="date_naissance"/>
            			</td>
 
         			<td>
         			     <xsl:for-each select="carnetDadresse/alumni/alumnus">
         			          <xsl:variable name="alumnus" select="@pk_id_alumnus"/>
                          		  <xsl:for-each select="/carnetDadresse/formations/formation[@fk_id_formation = $alumnus]">
            					<strong>Nom de la formation:</strong><xsl:value-of select="nom_formation"/><br/>
            					<strong>Domaine:</strong><xsl:value-of select="domaine"/>
            				  </xsl:for-each>
            			     </xsl:for-each>
            			</td>
 
            			<td>
            				<xsl:value-of select="/carnetDadresse/adresses/adresse/email"/>
            			</td>
 
            			<td>
            				<xsl:value-of select="/carnetDadresse/adresses/adresse/telephone"/>
            			</td>
 
            			<td>
            				<strong>Nom de l'entreprise:</strong><xsl:value-of select="/carnetDadresse/entreprises/entreprise/nom_entreprise"/><br/>
            				<strong>Fonction:</strong><xsl:value-of select="/carnetDadresse/entreprises/entreprise/fonction"/><br/>
            				<strong>Date d'entrée:</strong><xsl:value-of select="/carnetDadresse/entreprises/entreprise/date_entree"/>
            			</td>
            		</tr>
            	</xsl:for-each>
            </table>
 
		</body>
	</html>
	</xsl:template>
 
</xsl:stylesheet>
Quelqu'un pourrait-il m'aider?
Merci par avance!