Ciao a tutti ho questo file xml da cui dovrei estrappolare :
1) l'elenco di tutti gli studenti con il valore di età maggiore di 22
2) per ogni studente il terzo risultato presente in risultati
trovo difficoltà nel punto 2 dove devo mettere accanto ai dati estrappolati dal terzo risultato presente in risultati accanto al nome dello studente! Ad esempio il risultato dovrebbe essere :
Chris Taylor Statistica1 voto D però nella mia trasformazione prendo solo statistica 1 voto D senza il nome dello studente.
codice:
<studenti>
	<studente id="100026">
		<nome>Chris Taylor</nome>
		<eta>27</eta>
		<disciplina>biologia</disciplina>
		<risultati>
			<risultato corso="Matematica" voto="C-"/>
			<risultato corso="Biologia" voto="C+"/>
			<risultato corso="Statistica1" voto="D"/>
		</risultati>
	</studente>
	
	<studente id="100078">
		<nome>Bob Barners</nome>
		<eta>26</eta>
		<disciplina>Fisica</disciplina>
		<disciplina>Tecnologia</disciplina>
		<risultati>
			<risultato corso="Matematica" voto="A"/>
			<risultato corso="XML" voto="A-"/>
			<risultato corso="Fisica" voto="B+"/>
			<risultato corso="XML2" voto="A"/>
		</risultati>
	</studente>
	
	<studente id="100079">
		<nome>Elias Grodin</nome>
		<eta>21</eta>
		<disciplina>Fisica</disciplina>
		<disciplina>ProgrammazioneXML</disciplina>
			</studente>
</studenti>
XSL

codice:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
	
<xsl:template match="/">
<html>
	<head>
		<title>prova scritta</title>
	</head>
	<body>
		<table border="1">
			<thead>
				<tr bgcolor="yellow">
					<th>Nome Studente</th>
					<th> eta</th>
				</tr>
			</thead>
			<xsl:for-each select="studenti/studente">
			<xsl:if test="eta &gt; 22">
			<tbody>
				<tr>
					<td><xsl:value-of select="nome"/> </td>
					<td><xsl:value-of select="eta"/> </td>
				</tr>
			</tbody>
			</xsl:if>
			</xsl:for-each>
		</table>
		
	<hr/>
	

	
	<table border="1">
		<thead>
			<tr bgcolor="red">
				<th>Nome studente</th>
				<th>Corso</th>
				<th>voto</th>
			</tr>
		</thead>
		
		<xsl:for-each select="//risultato[3]">
		<tbody>
			<tr>
			    <td><xsl:value-of select="nome"/></td>
				<td><xsl:value-of select="@corso"/></td>
				<td><xsl:value-of select="@voto"/></td>
			</tr>
		</tbody>
	</xsl:for-each>
</html>

</xsl:template>
</xsl:stylesheet>