equivalent du SELECT FROM mais en xpath d'une BD xml
salut a vous,
j'ai la bd suivante stocker dans un fichier XML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="etudiant.xsl" type="text/xsl"?>
<formation>
<etudiants>
<etudiant idE='E1' nom='DUBOIS' idCC1='10' idCC2=' '/>
<etudiant idE='E2' nom='MARC' idCC1='10' idCC2='11' />
</etudiants>
<controleCs>
<controleC idCC='10' idE='E1' note1='55%' note2='42%' />
<controleC idCC='10' idE='E2' note1='89%' note2='100%' />
<controleC idCC='11' idE='E2' note1='20%' note2='80%' />
</ControleCs>
</formation> |
j'aimerai afficher tous les resultats de Marc a tous les controleC. voila ce que j'ai fait dans mon fichier xsl :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>
<xsl:template match="/">
<html>
<head> <title> RESULTATS DE MARC</title>
</head>
<body>
<h2> RESULTATS DE MARC</h2>
<table border="2">
<tr>
<th>idCC </th>
<th> note1 </th>
<th>note2</th>
</tr>
<xsl:for-each select="formation/controleCs/controleC[@idE=formation/etudiants/etudiant[@nom='MARC']/@idE]">
<tr>
<td>
<xsl:value-of select="formation/controleCs/controleC/@idCC"/>
</td>
<td>
<xsl:value-of select="formation/controleCs/controleC/@note1"/>
</td>
<td>
<xsl:value-of select="formation/controleCs/controleC/@note2"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |
MALHEUREUSEMENT J'ai pas de resultat , en fait mon tableau html s'affiche juste avec les en tete, aucune autre ligne et aucun contenu ne s'affiche.
quelqu'un a t'il une idee de comment avoir le resultat de ma requete:roll:? en effet c'est l'equivalent a la requete SQL : SELECT .... FROM etudiants,controleC where etudiant.nom="MARC" et controleC.idE=etudiant.idE mais plutot en Xpath, mais je n'y arrive pas.
Merci d'avance pour vos propositions.