Bonjour,
Alors voilà, j'ai un problème : j'utilise un fichier XML contenant une structure de ce type (et je n'y ai pas accès en écriture) :
Code :
- <Echange>
- <CrpCen>
- <Clef>
- <prix>100000</prix>
- <Annonce>NOMDELAVILLE1, Suite de l'annonce 1</Annonce>
- </Clef>
- <Clef>
- <prix>100000</prix>
- <Annonce>NOMDELAVILLE3, Suite de l'annonce 2</Annonce>
- </Clef>
- <Clef>
- <prix>100000</prix>
- <Annonce>NOMDELAVILLE1, Suite de l'annonce 3</Annonce>
- </Clef>
- <Clef>
- <prix>100000</prix>
- <Annonce>NOMDELAVILLE2, Suite de l'annonce 4</Annonce>
- </Clef>
- </CrpCen>
- </Echange>
|
J'aimerais pouvoir récupérer la liste des villes, sans doublons,
sachant qu'elle se situe toujours au début de l'annonce, en majuscule,
suivie d'une virgule.
Pour celà j'ai essayé mais sans succès d'utiliser de plusieurs manières "preceding_sibling", mais apparement j'arrive pas bien à en saisir le fonctionnement..
Exemple:
Code :
- <xsl:template match="/">
- <xsl:for-each select="//Clef">
- <xsl:sort select="Annonce" data-type="text" order="ascending"/>
- <xsl:value-of select="Annonce[not(substring-before(.,',')=substring-before(preceding::Annonce),',')]"/>
- </xsl:for-each>
- </xsl:template>
|
Jusqu'à maintenant je n'ai réussi à récupérer soit l'intégralité des annonces (avec tous les doublons de villes donc..), soit une jolie erreur 500...