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 :

trouver les noeuds n'ayant pas un certain fils [XSLT 1.0]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut trouver les noeuds n'ayant pas un certain fils
    Bonsoir,


    Je cherche à appliquer une règle à tous les noeuds de type a du document ayant un certain attribut id et n'ayant de noeud fils de type b.

    J'ai pensé à cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:apply-templates select="//a[@ID=$nodeid and count(descendant::b)=0]" />

    Mais ça ne semble pas marcher.


    par avance
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Normalement ça devrait le faire.

    Par contre descendant:: est plus large que juste les fils : ça va chercher tous les fils, petits-fils, etc. donc toute la sous arborescence.

    Pour se limiter aux fils il suffit de mettre "b".
    Quant à la négation, tu peux simplement utiliser not():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:apply-templates select="//a[@ID=$nodeid and not(b)]" />

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    bizarrement avec descendant ça ne passait pas (peut-être un effet de bord avec d'autres règles)

    j'ai fait un truc proche de ta version (la contraposée en fait), ça marche


    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

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

Discussions similaires

  1. [RegEx] [PCRE] Trouver les lignes ne contenant pas un mot
    Par NinjDS dans le forum Langage
    Réponses: 8
    Dernier message: 14/05/2012, 16h28
  2. trouver les noeuds avec des valeurs nulles
    Par awalter1 dans le forum Général Python
    Réponses: 3
    Dernier message: 28/10/2010, 14h33
  3. [AC-2007] Trouver des étudiants n'ayant pas cotisé ?
    Par Jeanfoya dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/10/2010, 18h53
  4. Réponses: 6
    Dernier message: 19/02/2007, 15h50
  5. [XSL] Sélectionner les éléments qui n'ont pas un certain fils
    Par lebechen dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 05/07/2006, 17h54

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