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] expression XPath


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 188
    Points : 106
    Points
    106
    Par défaut [XSLT] expression XPath
    Bonjour,

    Si j'ai un document de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Toto>
      <Language Code="XX">
      </Language>
       <Document>
           <Language Code="XX">
            </Language>
       </Document>
    </Toto>
    Est-ce que je peux écrire une expression xpath qui renvoie:
    - le contenu de l'élément Toto/Language/@Code si celui-ci existe
    - sinon le contenu de l'élément Toto/Language/@Code

    PS: Si possible une expression Xpath en 1.0, ça serait l'idéal :-)

    Merci :-)

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    A ma connaissance non, mais pourquoi n'essaies tu pas de contourner en faisant une concatenation des deux résultats, dont ensuite tu extrais les n caractères qui correspondent à la longueur du code (si elle est constante c'est trivial, sinon il faut ajuster en fonction de la longueur du code du document) ?

    Qu'en penses tu ?

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    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,

    Citation Envoyé par thierry_b Voir le message
    - le contenu de l'élément Toto/Language/@Code si celui-ci existe
    - sinon le contenu de l'élément Toto/Language/@Code
    Si je te lis bien, tu veux l'option 1 sinon l'option 1, c'est bien cela ?

    J'imagine que c'est de l'élément Document dont tu voulais parler. Une expression utilisant l'opérateur union devrait faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Toto/Language/@Code|Toto[not(Language/@Code)]/Document/@Code
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 188
    Points : 106
    Points
    106
    Par défaut Re
    Re,

    En fait, je voulais une expression qui renvoie:
    - le contenu de l'élément Toto/Document/Language/@Code si celui-ci existe
    - sinon le contenu de l'élément Toto/Language/@Code

    et pas l'inverse :-)

    Merci :-)

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/02/2009, 12h19
  2. [XSLT] Expression régulière
    Par ploxien dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/05/2006, 17h19
  3. [XSLT] Expression booléenne en tableau
    Par brunoz dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/02/2006, 10h22
  4. [XSL] impossible d'utiliser variable dans expression XPATH
    Par pierre.zelb dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/01/2006, 07h41
  5. expression XPath et namespace
    Par gendalf37 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/10/2004, 13h26

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