Bonjour,
Plutôt que me perdre en explication confuses, je vais vous mettre la source de mes fichiers :
Mon fichier XML :
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 <?xml version="1.0" encoding="UTF-8"?> <tabs> <tab style="orange" position="1" text="A l'école"> <link text="L'équipe à l'école" target="Contenu/ecole/equipe.php"/> <link text="Nos Actions" target="Contenu/ecole/actions.php"/> </tab> <tab style="blue" position="2" text="Au collège"> <link text="L'équipe au collège" target="Contenu/college/equipe.php"/> <link text="Nos Actions" target="Contenu/college/actions.php"/> </tab> <tab style="green" position="3" text="L'assoc'"> <link text="Nous contacter" target="Contenu/assoc/contact.php"/> <link text="Adhérer" target="Contenu/assoc/adhesion.php"/> <link text="Proposer votre aide" target="Contenu/assoc/aide.php"/> </tab> <tab style="brown" position="4" text="Le site"> <link text="Qui s'en occupe ?" target="Contenu/site/credits.php"/> <link text="Rapport de bug" target="Contenu/site/bug.php"/> <link text="Administration" target="site/admin.php" target2="site/admin_menu.php"/> </tab> </tabs>
Mon fichier XSL :
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 <?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="html" omit-xml-declaration="yes" encoding="UTF-8" /> <xsl:template match="tab"> <li> <xsl:attribute name="class"> <xsl:value-of select="@style"/> </xsl:attribute> <a href="#"> <xsl:attribute name="onclick"> <xsl:text>switch_edit_tab('</xsl:text> <xsl:value-of select="@position"/> <xsl:text>edit');ajax('Engine/links.php?position=</xsl:text> <xsl:value-of select="@position"/> <xsl:text>','edit_link_list','update');</xsl:text> </xsl:attribute> <xsl:attribute name="id"> <xsl:value-of select="@position"/> <xsl:text>edit</xsl:text> </xsl:attribute> <xsl:value-of select="@text"/> </a> </li> </xsl:template> </xsl:stylesheet>
Ce qui donne après transformation :
Donc mon XML est transformé par le XSL grace à php et le résultat est inclus dans une autre page, dans un <ul>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <li class="orange"><a href="#" onclick="switch_tab('1','orange');ajax('Engine/links.php?position=1','link_list','update');" id="1">A l'école</a></li> <li class="blue"><a href="#" onclick="switch_tab('2','blue');ajax('Engine/links.php?position=2','link_list','update');" id="2">Au collège</a></li> <li class="green"><a href="#" onclick="switch_tab('3','green');ajax('Engine/links.php?position=3','link_list','update');" id="3">L'assoc'</a></li> <li class="brown"><a href="#" onclick="switch_tab('4','brown');ajax('Engine/links.php?position=4','link_list','update');" id="4">Le site</a></li>
Dans cette dernière page, j'ai des modifs à faire (par javascript) sur la liste générée et j'utilise pour ça les fonction javascript liés au DOM (nextSibling, previousSibling, ...).
Mon soucis, c'est que les retours de chariot et les indentations sont considérés par le DOM comme des noeuds enfants de <ul> (d'ou des soucis pour l'accès à mes li par de previousSibling ou autre).
Y'a t'il un moyen de contourner ce problème (sans si possible ruiner la mise en page de mon code en virant toutes les indentations sinon je m'en sortirais pas) ?
Merci d'avance
Partager