[XPath] Récupérer un élément parent
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:
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:
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