condo4
2008-02-04 17:03:42 UTC
Bonjour,
Tout d'abord, je m'excuse si le group n'est pas trop approprié, mais
je n'ai pas trouver le groupe idéal pour ma question...
Voila, je fait bien du PHP5, mais ma question est plus d'ordre
XSLT....
En gros, j'ai un XML de la forme :
<menu>
<item meta="spc" name="commune">
<title xml:lang="fr">Le village</title>
<menu>
<item meta="spc" name="histoire">
<title xml:lang="fr">Histoire</title>
<menu>
<item meta="spc" name="duffieux">
<title xml:lang="fr">Les Amis de St Pal</
title>
<menu>
<item meta="spc" name="village">
<title xml:lang="fr">Le Village vdf</
title>
</item>
<item meta="spc" name="village">
<title xml:lang="fr">Le Villagefdsq</
title>
</item>
<item meta="spc" name="village">
<title xml:lang="fr">Le Vil</title>
</item>
</menu>
..............
En gros, ma racine s'appel menu,
un menu contient des items qui peuvent a leur tour contenir un
menu....
J'y applique une transformation qui ressemble pour le moment a ça :
<?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" encoding="ISO-8859-1" doctype-public="-//
W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/
strict.dtd" indent="yes" />
<xsl:param name="lng"/>
<xsl:template match="/menu">
<div class='Menu' id='MainMenu'>
<div class='top'></div>
<div class='menuContent'>
<ul class='MenuSection'>
<xsl:apply-templates select="./item" />
</ul>
</div>
<div class='bottom'></div>
</div>
</xsl:template>
<xsl:template match="item">
<li class='MenuTitreSection'>
<a href='?meta=spc&idpp=A'>
<xsl:value-of select="./title[@xml:lang=$lng]" />
</a>
</li>
<xsl:apply-templates select="./menu" />
</xsl:template>
<xsl:template match="menu">
<li>
<ul class='MenuSection'>
<xsl:apply-templates select="./item" />
</ul>
</li>
</xsl:template>
</xsl:stylesheet>
Ma question est la suivante :
Dans le template de <xsl:template match="item"> j'aimerai que la
signe :
<li class='MenuTitreSection'>
Devienne
<li class='MenuTitreSectionR'>
Si l'item en question est un item qui se trouve directement sous le
menu racine (/menu/item)
Mais comme je débute juste en XSLT je en sais pas comment prendre le
probleme....
Merci de votre aide
Tout d'abord, je m'excuse si le group n'est pas trop approprié, mais
je n'ai pas trouver le groupe idéal pour ma question...
Voila, je fait bien du PHP5, mais ma question est plus d'ordre
XSLT....
En gros, j'ai un XML de la forme :
<menu>
<item meta="spc" name="commune">
<title xml:lang="fr">Le village</title>
<menu>
<item meta="spc" name="histoire">
<title xml:lang="fr">Histoire</title>
<menu>
<item meta="spc" name="duffieux">
<title xml:lang="fr">Les Amis de St Pal</
title>
<menu>
<item meta="spc" name="village">
<title xml:lang="fr">Le Village vdf</
title>
</item>
<item meta="spc" name="village">
<title xml:lang="fr">Le Villagefdsq</
title>
</item>
<item meta="spc" name="village">
<title xml:lang="fr">Le Vil</title>
</item>
</menu>
..............
En gros, ma racine s'appel menu,
un menu contient des items qui peuvent a leur tour contenir un
menu....
J'y applique une transformation qui ressemble pour le moment a ça :
<?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" encoding="ISO-8859-1" doctype-public="-//
W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/
strict.dtd" indent="yes" />
<xsl:param name="lng"/>
<xsl:template match="/menu">
<div class='Menu' id='MainMenu'>
<div class='top'></div>
<div class='menuContent'>
<ul class='MenuSection'>
<xsl:apply-templates select="./item" />
</ul>
</div>
<div class='bottom'></div>
</div>
</xsl:template>
<xsl:template match="item">
<li class='MenuTitreSection'>
<a href='?meta=spc&idpp=A'>
<xsl:value-of select="./title[@xml:lang=$lng]" />
</a>
</li>
<xsl:apply-templates select="./menu" />
</xsl:template>
<xsl:template match="menu">
<li>
<ul class='MenuSection'>
<xsl:apply-templates select="./item" />
</ul>
</li>
</xsl:template>
</xsl:stylesheet>
Ma question est la suivante :
Dans le template de <xsl:template match="item"> j'aimerai que la
signe :
<li class='MenuTitreSection'>
Devienne
<li class='MenuTitreSectionR'>
Si l'item en question est un item qui se trouve directement sous le
menu racine (/menu/item)
Mais comme je débute juste en XSLT je en sais pas comment prendre le
probleme....
Merci de votre aide