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 :

for-each avec select dans un node-set


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de krapno
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut for-each avec select dans un node-set
    Bonjour,


    je recherche une méthode qui me permettrait d'effectuer une selection de noeuds corrsespondant à une liste d'identifiants définis.

    Par exemple, mes identifiants sont donnés comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:variable name="maselection">
    	<id>2008</id>
    	<id>2004</id>
    	<id>2002</id>
    </xsl:variable>
    Mon arble XML a la forme suivante:
    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
    27
    28
    <document>
    	<elements>
    		<element>
    			<id>2007</id>
    		</element>
    		<element>
    			<id>2006</id>
    		</element>
    		<element>
    			<id>2005</id>
    		</element>
    		<element>
    			<id>2004</id>
    		</element>
    		<element>
    			<id>2003</id>
    		</element>
    		<element>
    			<id>2002</id>
    		</element>
    		<element>
    			<id>2001</id>
    		</element>
    		<element>
    			<id>2000</id>
    		</element>
    	</elements>
    </document>
    Et je voudrais faire une sorte de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:for-each select="//document/elements/element[where id in $maselection/id]">
    (...)
    </xsl:for-each>

    Voilà, je n'ai pas trouvé la syntaxe équivalente à ce type de requête, donc merci pour vos suggestions.

    Cordialement,

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Salut,

    Je n'ai pas bien saisi ce que tu veux faire...

    Tu veux récupérer des id précis qui se trouvent dans ton XML ??

  3. #3
    Membre confirmé Avatar de krapno
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    oui, absoluement

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Par exemple si tu veux récupérer ton id=2007 :

    tu te mets au niveau document/element/element :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <xsl:template match="id">
     
    <xsl:variable name="ID">
    <xsl:value-of select="."/>
    </xsl:variable>
     
    <xsl:if test="$ID = 2007">
    instructions
    </xsl:if>
    </xsl:template>
    C'est ce que tu veux ??

  5. #5
    Membre confirmé Avatar de krapno
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    Oui sauf que je ne veux pas 1 seul ID, j'en veux plusieurs et je ne peux prevoir le nombre exacte ni leur valeur, je sais juste que je peux générer une liste des ID désirées sous forme de branche XML.
    Dans ces conditions je ne peux pas ecrire çà dans un if.

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Tu pourrai me donner un exemple concret de ce que tu veux...

    Pcq la j'ai du mal à comprendre...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] XSLT sort dans un for-each avec select sur un param
    Par tralloc dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 23/11/2012, 09h06
  2. xsl:for-each avec un parametre pour select
    Par arnog dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 26/08/2008, 13h09
  3. [XSLT] Croiser plusieurs xsl:for-each avec deux documents XML
    Par strat0 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 21/06/2007, 16h10
  4. Problème avec Select dans le formulaire
    Par jejefm dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2007, 09h34
  5. [vb.net] For Each .. avec condition
    Par arnolem dans le forum Windows Forms
    Réponses: 8
    Dernier message: 07/12/2005, 09h18

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