Bonjour,

J'ai un fichier Xml que je transforme en tableau HTML avec une transformation XSL.
Quand on est descendu dans l'arborescence du fichier avec l'instruction for-each, comment fait on pour récupérer un élément parent.

Voici mon fichier xsl & une partie du fichier xml.
J'ai plusieurs critères pour un numéro d'échantillon et j'aimerais donc récupérer ce n° d'échantillon (Sample/Id) et l'afficher dans la première colonne de mon tableau.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <table border="1">
    <tr>
      <th>ID_ECHANTILLON</th>
      <th>JCRITERE</th>
      <th>VALEUR</th>
    </tr>
    <xsl:for-each select="SampleDocument/Samples/Sample/Results/Result">
    <tr>
      <td><xsl:value-of select="parent::node(Sample/Id)"/></td>
      <td><xsl:value-of select="Criterion/@Id"/></td>
      <td><xsl:value-of select="NumericalValue"/></td>
    </tr>
    </xsl:for-each>
  </table>
</xsl:template>
</xsl:stylesheet>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="toto.xsl"?>
<SampleDocument>
	<Samples>
		<Sample>
			<ExternalComment>V 53 - FORMULE 25405531 - INDICE 84 - CHARGEMENT VRAC - PC GPF8 2006 - POIDS ECHANTILLON : 158 G</ExternalComment>
			<Id>250605428</Id>
			<IntakeCode>2997</IntakeCode>
			<MowDate>2006-07-05 00:00:00.000</MowDate>
			<SamplingDate>2006-06-15 00:00:00.000</SamplingDate>
			<Results>
				<Result>
					<NumericalValue>6.2</NumericalValue>
					<ReceiverAlphanumericalValue>6.2</ReceiverAlphanumericalValue>
					<Unit Id="%" ReceiverId="%"></Unit>
					<Criterion Id="MG" ReceiverId="MG">
						<Method Id="1" ReceiverId="1"></Method>
					</Criterion>
					<Lab Id="2" ReceiverId="2"></Lab>
				</Result>
				<Result>
					<NumericalValue>18.9</NumericalValue>
					<ReceiverAlphanumericalValue>18.9</ReceiverAlphanumericalValue>
					<Unit Id="%" ReceiverId="%"></Unit>
					<Criterion Id="MPB" ReceiverId="MPB">
						<Method Id="1" ReceiverId="1"></Method>
					</Criterion>
					<Lab Id="2" ReceiverId="2"></Lab>
				</Result>

Merci d'avance

Simon