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 noeud par rapport à la racine ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 55
    Points : 47
    Points
    47
    Par défaut [XPATH] Position d'un noeud par rapport à la racine ?
    Bonjour,
    je souhaiterais avoir la position de mon noeud en cours par rapport à la racine. Mon xml est de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <NG>
     <N1>
      <N0></N0>
      <N0></N0>
      <N0></N0>
     </N1>
     <N1>
      <N0></N0> <!-- sortir quand on est ici 4 et non pas 1 qui est le résultat de position() -->
      <N0></N0>
     </N1>
    </NG>
    Voilà, je sais pas si c'est possible, je suis pas tres doué avec xpath Merci.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    il faut utiliser l'axe XPath preceding, qui te permet de sélectionner des noeuds précédant le noeud en cours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    count(preceding::N0) + 1

  3. #3
    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
    Tu veux enfaite qu'il compte le nombre de N0 qu'il y a eu avant le traitement de celui-ci? C'est bien ca

    qu'il compte tout les n0 et que quand il est sur le N0 ou tu as mis un commentaire il dise que se soit la 4ième!!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 55
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par GrandFather
    Bonjour,

    il faut utiliser l'axe XPath preceding, qui te permet de sélectionner des noeuds précédant le noeud en cours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    count(preceding::N0) + 1
    c'est ça, merci beaucoup j'étais pas pres de trouver, j'étais parti dans des tests de position() et compagnie j'ai encore pas mal à apprendre moi Merci en tout cas

    et virgul : tu as tout à fait compris ce que je voulais faire

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 17
    Points : 23
    Points
    23
    Par défaut
    Merci GrandFather !
    J'étais sur le même problème et sur l'ensemble des posts au sujet de la position d'un noeud celui-ci est le meilleur, donc ça mérite bien un UP

    N.B pour les étourdis comme moi, faire attention au namespace si le schéma d'entrée en possède un, soit par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <ns1:BuyerLineItemNum xmlns:ns1="rrn:org.xcbl:schemas/xcbl/v4_0/core/core.xsd" xmlns:s0="urn:toto.fr:Schema.SCH.InvoiceMetierXmlSchema">
        <xsl:value-of select="count(preceding::s0:InvoiceLine) + 1"/>
    </ns1:BuyerLineItemNum>

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/05/2008, 06h55
  2. Position d'un bloc par rapport au bord gauche de la fenêtre
    Par Lindorie dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 27/08/2007, 12h04
  3. Position d'un div par rapport à un autre
    Par Shadow69 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/12/2006, 14h57
  4. Réponses: 3
    Dernier message: 20/09/2006, 16h48
  5. Position de la sourie par rapport à la page
    Par Cyrilh7 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/05/2006, 19h25

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