IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[xslt] affecter la valeur d'un attribut HTML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 48
    Points
    48
    Par défaut [xslt] affecter la valeur d'un attribut HTML
    Comment mettre un tag xsl dasn un attribut html sans avoir un message :
    Le caractère < ne peut pas être utilisé dans une valeur d'attribut. Erreur de traitement de la ressource ...

    Voici mon exemple :
    Je possède un fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Racine>
    	<Ligne libelle="Menu 1" >		
    		<Ligne2 libelle="Menu 1.1" />
    	</Ligne >
    	<Ligne libelle="Menu 2" >		
    		<Ligne2 libelle="Menu 2.1" />
    		<Ligne2 libelle="Menu 2.2" />
    	</Ligne >
    </Racine>
    Et j'aimerai faire une transformation xsl pour avoir le hgtml suivant
    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
     
    <dl id="menu">
    	<dt>Menu 1
    		<dd id="smenu1" >
    			<ul>
    				<li><a href="#">Menu 1.1</a></li>
    			</ul>
    		</dd>
    	<dt>
    	<dt>Menu 2
    		<dd id="smenu2" >
    			<ul>
    				<li><a href="#">Menu 2.1</a></li>
    				<li><a href="#">Menu 2.2</a></li>
    			</ul>
    		</dd>
    	<dt>
    </dl>
    Le difficulté que n'arrive à surmonter est de code les <dd id="smenux" > qui doivent être incrémenté à chaque ligne.
    J'ai codé le xsl suivant pour avoir une variable "smenux" le x étant incémenté à chaque Ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <xsl:for-each select="Ligne">
     <xsl:variable name="i" select="position()" />
     <xsl:variable name="smenu" >smenu<xsl:value-of select="$i"/></xsl:variable>
    <dd id="<xsl:value-of select="$smenu"/>">
    Mais je tombe sur l'erreur suivante :
    Le caractère < ne peut pas être utilisé dans une valeur d'attribut. Erreur de traitement de la ressource file://Pcxbruno/Ha...

    Comment faire ?

    Meilleurs regards

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    pourquoi ne pas faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <dd id="{concat('smenu', position())}"/>
    attention une variable XSLT ne peut-être instancier qu'une seul et unique fois tu ne peux donc pas faire comme ca!

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

Discussions similaires

  1. [XSLT] Insertion de valeur dans un attribut html
    Par DisSsha dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/06/2009, 16h30
  2. Réponses: 4
    Dernier message: 14/12/2007, 16h15
  3. [XSLT] Changer la valeur d'un attribut XML
    Par Rouxy007 dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 14/02/2007, 23h06
  4. [XSLT] Tester la valeur de plusieurs attributs
    Par NicaeaCivitas dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/10/2006, 17h25
  5. [html][xsl]Problème valeur attribut html
    Par beho dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 16/04/2005, 13h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo