Indiquez l’intérêt que vous portez à cette question
3

programmation du plugin boucles xml dans spip 2.1

Bonjour,
Je me permets de poster mon message présent sur cette page http://plugins.spip.net/spip.php?article57 (elle a peu de passage) pour toucher un peu plus de monde.
Le problème concerne le super plugin boucles xml

Je trouve que Cerdic mérite pour cette contrib un oscar (comme celui de spip2spip). Ce plugin permet d’ouvrir SPIP à l’importaton de contenus (en plus de la syndication) et c’est génial !!

J’ai progressé un peu depuis sur son apprentissage mais je suis encore bloqué. L’absence de doc ou de communauté rend difficile son amélioration (plus au niveau de la doc que de la programmation je pense).
Je me propose d’écrire une petite doc, quand j’aurai tout compris, mais en attendant j’ai besoin de votre aide.

J’arrive à afficher les feuilles d’un noeud mais je n’arrive pas à les trier
Exemple : j’ai un fichier xml de ce style.

<?xml version="1.0" encoding="utf-8"?><products xmlns="http://site.fr/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://site.fr/ http://site.fr/export.xsd">

<product id="123456">
	<nom>Martin</nom>
	<prenom>Pascal</prenom>
	<site>http://www.site.fr</site>
	<image>http://plugins.spip.net/squelettes/imgs/logo-ecureuil.png</image>
</product>

…et ainsi de suite…pour "product id"

J’arrive à afficher tous les noeuds (nom, prenom et mail, etc) l’un sous l’autre par les boucles et code html ci-dessous :

<BOUCLE_parse(XML){xml=fichier.xml}{racine}>
<#NOEUD #ATTRIBUTS>
   <BOUCLE_tri(XML){xml}{id_parent}>
		<#NOEUD #ATTRIBUTS>
        			<BOUCLE_tri2(XML){xml}{statut=noeud}{doublons}>
            		 	Le texte de la feuille : [(#TEXTE*|couper{25})]<br />
 			</BOUCLE_tri2>
        		</#NOEUD>
    </BOUCLE_tri>
</#NOEUD>
</BOUCLE_parse>

Par contre si je veux comme résultat….
<a href="http://www.site.fr">Martin Pascal</a>
ou ;-)

<a href="http://www.site.fr"><img src="http://plugins.spip.net/squelettes/imgs/logo-ecureuil.png" width="50px" alt="Martin Pascal" /></a>

…je me retrouve totalement bloqué car je n’ai pas de balises qui me permettent d’afficher #SITE dans du code html, par exemple (<a href="#SITE">). Je suis obligé de faire <a href="<BOUCLE(XML)....{noeud=site}>#TEXTE*</BOUCLE....."><a/> et cela ne m’affiche même pas le noeud "site" correspondant.

Si quelqu’un peut m’aider, ce serait un dieu vivant ;-). Je promets de diffuser la solution intégrale et de l’expliquer ;-)