Bonjour, j'ai fait un menu en xml que je transforme en html grace à du xslt :
Mon fichier xml:
<?xml version="1.0" encoding="utf-8" ?>
<Map>
<NoeudP menu="ssmenu0" title="Navigation">Navigation
<NoeudS url="Accueil.aspx">Accueil</NoeudS>
<NoeudS url="Contact.aspx">Contact</NoeudS>
</NoeudP>
<NoeudP menu="ssmenu1" title="Menu1">Menu1
<NoeudS url="blabla1.aspx" >Notre Offre</NoeudS>
<NoeudS url="Procede.aspx">Procede</NoeudS>
</NoeudP>
<NoeudP menu="ssmenu2" title="Menu2">Menu2
<NoeudS url="blabla2.aspx">Notre Offre</NoeudS>
<NoeudS url="Procede.aspx">Procede</NoeudS>
</NoeudP>
<NoeudP menu="ssmenu3" title="Menu3"> Menu3
<NoeudS url="blabla3.aspx">Notre Offre</NoeudS>
<NoeudS url="Procede.aspx">Procede</NoeudS>
</NoeudP>
</Map>
Mon fichier xsl :
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="Map/NoeudP">
<p class="menu">
<a><xsl:attribute name="href">javascript:menuxaxa('<xsl:value-of select="@menu" />')</xsl:attribute>
<xsl:value-of select="@title" />
</a>
</p>
<ul class="ssmenu" style="display:block;">
<xsl:attribute name="id">
<xsl:value-of select="@menu" />
</xsl:attribute>
<xsl:for-each select="NoeudS">
<li>
<a><xsl:attribute name="href"><xsl:value-of select="@url" /></xsl:attribute>
<xsl:value-of select="."/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Et au final, dans ma page je mets ceci :
<asp:Xml ID="Xml1" runat="server" DocumentSource="~/XMLFile.xml" TransformSource="~/XSLTFile.xsl"></asp:Xml>
Donc jusqu'ici tout va bien, la transformation se fait bien, mais j'aurais voulut pouvoir indiquer à l'utilisateur sur quelle page il se trouve, en faisant un <li class="selected">pour la page selectionnée, puis avec les modifs qui vont bien en css. Et donc j'aurais voulut savoir comment faire. Recuperer l'url courante ok mais comment faire ? Dire à xslt de modifier en conséquence ? parcourir le fichier xml en comparant les url avec l'url courante, le modifier et faire un if(suivant Propriété du NoeudP) dans le xslt ? Voilà, c'est la première fois que je touche à du xml (pareil pour l'asp.net :) et je sais trop comment m'y prendre..... En vous remerciant d'avance, bonne journée !