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 :

[xsl] difference?


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut [xsl] difference?
    bonjour, j ai ecrit ces deux expressions xpath pour filtrer des elements, or bien qu elles me paraissent similaires en termes de resultat... une fonctionne et pas l autre ...si quelqu un arrive à comprendre le pourquoi du comment...

    celle ci fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="//A[Aid/@mid=//Aa/Aaid/AsChi[concat(Type,'-P')= parent::*/AsPar/Type]/@mid]"/>
    mais pas celle la...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="//A[Aid/@mid=//Aa/Aaid[concat(AsChi/Type,'-P')= AsPar/Type]/@mid]"/>
    : :

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    si tu enleve certaines conditions c'est plus facile

    dans la premier tu compare
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Aid/@mid=//Aa/Aaid/AsChi[condition]/@mid
    dans la deuxieme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Aid/@mid=//Aa/Aaid[condition]/@mid
    Tu vas avoir un pb

    Ps: et ce defi ca avance ?

  3. #3
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    oi tout à fait, je ne compare pas au même niveau mais je ne vois pas bien ce que cela peut changer!
    pour le défi j ai un peu mal au crane mais je vais m y remettre...il y a pire...comme un script de calcul de profondeur d arbre auquel je ne comprends strictement rien du tout

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par tiscars
    oi tout à fait, je ne compare pas au même niveau mais je ne vois pas bien ce que cela peut changer!
    Ne tiens pas compte du prédicat, et relis tes expressions, tu t'aperçois que dans le premier cas mid est censé être un attribut de AsChi, tandis que dans le deuxième il est censé être un attribut de Aaid. D'où le problème mentionné par Erwy...
    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

  5. #5
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    ah oui c est vrai...
    merci...

    juste pour savoir, y a t il une règle spécifiant qu une expression xpath est plus efficace qu une autre?
    (même si ici je pense que la première erst moins rapide que la seconde)
    je suppose que plus on filtre en amont, plus le résultat est rapide...?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:template match="
    //A[Aid/@mid=//Aa/Aaid/AsChi[concat(Type,'-P')= parent::*/AsPar/Type]/@mid]"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:template match="//A[Aid/@mid=//Aa/Aaid[concat(AsChi/Type,'-P')= AsPar/Type]/AsChi/@mid]"/>

Discussions similaires

  1. La difference entre XSLT et XSL-FO ?
    Par naou18 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/09/2010, 19h04
  2. [XSL(T)(~FO)] Différence ente tout ça ?
    Par nazoreen dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/10/2006, 22h00
  3. [XSLT]utiliser une feuille xsl pour traiter différents xml
    Par pistache42 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 09/05/2006, 18h19
  4. Difference entre XSL et XSLT
    Par Spyco dans le forum XMLRAD
    Réponses: 4
    Dernier message: 02/09/2004, 16h55
  5. La difference entre XSL et XSLT?
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/06/2003, 15h14

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