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] Prédicat sur valeur de node


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15
    Points : 20
    Points
    20
    Par défaut [XPATH] Prédicat sur valeur de node
    Salut à tous,

    Voilà ça fait peu de temps que je fais du XPATH et j'aurais besoin d'un petit renseignement. Est-t-il possible de poser une condition (un prédicat) sur la valeur d'une balise ?

    Exemple:
    Code XPath : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /aaa/bbb[value()='mavaleur']
    <!-- value() n'existe pas -->
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <aaa>
    <bbb>mavaleur</bbb>
    </aaa>

    Le but est de tester le début de la valeur de la node (avec starts-with).

    Merci d'avance
    [big_fury]SiZiOUS, http://www.sbibuilder.fr.st/

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Tout d'abord "." indique le noeud courant et donc, pour simplifier, sa valeur dans un calcul d'expression.

    Après tout est affaire vouloir un positionnement sur le noeud en question ou pas car la condition test="//a[starts-with(b, 'mavaleur')]" ne sera vraie que s'il existe un élément a ayant un fils b dont la valeur commence par ma valeur alors que select="//a/b[starts-with(.,'mavaleur')]" vaudra la valeur de b commençant par "mavaleur"...


    P.S. : votre site perso mentionne une conformité à XHTML 1.0 mais ce n'est pas ce qu'en dit le "validateur" du W3C....
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par alain.couthures Voir le message
    Tout d'abord "." indique le noeud courant et donc, pour simplifier, sa valeur dans un calcul d'expression.

    Après tout est affaire vouloir un positionnement sur le noeud en question ou pas car la condition test="//a[starts-with(b, 'mavaleur')]" ne sera vraie que s'il existe un élément a ayant un fils b dont la valeur commence par ma valeur alors que select="//a/b[starts-with(.,'mavaleur')]" vaudra la valeur de b commençant par "mavaleur"...
    La position du noeud n'est pas importante, c'est surtout la valeur qui m'intéresse. Je vais essayer de bricoler, merci pour l'aide en tout cas

    Citation Envoyé par alain.couthures Voir le message
    P.S. : votre site perso mentionne une conformité à XHTML 1.0 mais ce n'est pas ce qu'en dit le "validateur" du W3C....
    Oui en effet, c'est à cause du contenu ajouté dynamiquement non conforme. Par exemple j'ai ~10 erreurs de "&" à la place de &amp; (résultant d'une copie d'URL). Une page fixe, par exemple, "about" est valide car non modifiée. J'ai jamais fait le nécessaire pour corriger le problème...
    [big_fury]SiZiOUS, http://www.sbibuilder.fr.st/

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par alain.couthures Voir le message
    //a/b[starts-with(.,'mavaleur')]"
    Cette solution me convient parfaitement

    Merci beaucoup pour l'aide, alain.couthures.
    [big_fury]SiZiOUS, http://www.sbibuilder.fr.st/

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

Discussions similaires

  1. [SimpleXML] Récupérer valeur parents après XPath sur valeur enfant
    Par kaoboss dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 15/09/2011, 21h28
  2. [XPATH] problème sur des prédicats
    Par Smix007 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/04/2010, 11h55
  3. [xpath] test sur valeur d'un noeud
    Par lusitano11 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/12/2008, 16h28
  4. [XPATH] test sur la valeur d un noeud
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/02/2006, 09h54
  5. [XSLT][ACCESS]condition sur valeur
    Par kor dans le forum XSL/XSLT/XPATH
    Réponses: 23
    Dernier message: 10/01/2005, 14h14

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