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 :

[XPath] Position d'un élément


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut [Résolu] [XPath] Position d'un élément
    Voici un xml exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <carnet>
      <nom titre="Mr">toto</nom>
      <nom titre="Mr">titi</nom>
      <nom titre="Mme">tutu</nom>
    </carnet>
    Je voudrais connaître l'expression XPath qui donnera la position de l'élément "nom" dont l'attribut "titre" vaut 'Mme' ?

    J'ai fait divers essais mais sans succès

    Merci d'avance à tous !

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    position( /carnet/nom[@titre='Mme'] )
    If it can go wrong, it will.

  3. #3
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    J'avais essayé ça, mais xmlspy me dit : "too many parameters in function"...

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    Ah oui... ça marche pô
    Eventuellement, tu peux faire un template.... mais bon c'est pô ce que tu veux
    If it can go wrong, it will.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    position( //nom[@titre='Mme'] )
    On en apprend tous les jours... mais pas aux autres!

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    la fonction xpath position() n'a pas d'argument, c'est pour ça qu'il te répond "too many parameters in function".
    On ne peut pas appeler cette fonction pour un noeud particulier. Je crois donc aussi qu'il faut faire un template pour atteindre le noeud en question et ensuite appeler position().

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:template match="*" mode="output-position">
    	<xsl:value-of select="count( preceding-sibling::* )"/>
    </xsl:template>
    Ca marche ça ?
    If it can go wrong, it will.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Points : 8
    Points
    8
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:variable name="posMme" select="count(../carnet/nom[@titre = 'Mme']/preceding-sibling::*)+1"/>
    <xsl:value-of select="$posMme"/>

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 39
    Points
    39
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:value-of select="count(../carnet/nom[@titre = 'Mme']/preceding-sibling::*)+1"/>
    If it can go wrong, it will.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Tout dépend si c'est juste pour un affichage ponctuel on bien pour réutiliser cette position à d'autres endroits....

  11. #11
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    OK ça marche ! Merci à tous, et spécialement à abubu qui m'a apporté la solution finale !


    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    elle est pas bien la soluce à Norely ?
    If it can go wrong, it will.

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

Discussions similaires

  1. [XPATH] Position d'un noeud par rapport à la racine ?
    Par DemonKN dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/10/2008, 18h51
  2. [XPath]Connaitre la Position() de l'élément parent
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/04/2007, 11h28
  3. [SQL] Récupération de la position d'un élément
    Par Kerod dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/05/2006, 02h55
  4. position d'un élément dans une liste
    Par john491 dans le forum Général Python
    Réponses: 8
    Dernier message: 05/05/2006, 13h13
  5. [Javascript] Récupérer la position d'un élément
    Par djflex68 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/04/2006, 10h13

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