Bonjour,
Je ne connais pas très bien XSLT, je suis malgré tout arrivé à faire tout ce que je voulais sauf une chose qui est bien plus compliquée que le reste.
J'ai une liste de chaines de caractère avec comme path /root/ressources/ressource/linkwords/linkword
Je voudrais remplacer dans un attribut "text" toutes les occurences des chaines contenues dans la liste précédente, par un lien <a href=...> dont la valeur est la chaine en question avec la forme suivante :
Code :
<a href="#" class="ressource" data-rid="$id">$linkword</a>
|
Où $linkword est la chaine remplacée et $id est le ressource@id (attribut ID de la ressource) qui correspond à ce "linkword".
Si ce n'est pas clair, l'idée est en fait que je veux détecter toutes les références à une ressource dans mes articles, et les remplacer automatiquement par un lien menant vers elles. Les "linkword" d'une ressource sont les différentes dénominations possibles qui peuvent en être faites.
J'ai envisagé plusieurs choses sans succès : par exemple je ne suis pas arrivé à procéder de façon itérative avec des fonctions, apparemment il faudrait procéder de façon récursive; J'ai pensé faire une fonction prenant en paramètre le "curseur" du prochain linkword dans la liste parcourue (foreach) des éléments du xpath "/root/ressources/ressource/linkwords/linkword" mais je n'y suis pas parvenu - et il reste le problème du replace qui ne fonctionne pas si simplement avec des tags HTML...
Bref si vous avez des idées plus précises, elles sont très bienvenues !
Merci d'avance pour votre aide
Message édité par Profil supprimé le 13-11-2015 à 10:23:53