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 :

ordre des noeuds sélectionnés pour un template


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre habitué
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Points : 162
    Points
    162
    Par défaut ordre des noeuds sélectionnés pour un template
    Bonjour à tous,

    J'ai une toute petite question, aujourd'hui : la requête xPath de sélection des nœuds dans un apply-tempates influence-t-elle l'ordre d'application ?

    Par exemple, j'ai actuellement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xsl:apply-templates select="po/preceding-sibling::*" />
     
    <pa ref="{$parentRef}" />
     
    <xsl:apply-templates select="po" />
    <xsl:apply-templates select="po/following-sibling::*" />
    Est-ce que j'ai l'assurance que ce soit la même chose que d'écrire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xsl:apply-templates select="po/preceding-sibling::*" />
     
    <pa ref="{$parentRef}" />
     
    <xsl:apply-templates select="po|po/following-sibling::*" />
    Peut-être que l'ordre des nœuds dans l'arbre évalué est le seul qui compte ?
    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Citation Envoyé par tooms4444 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xsl:apply-templates select="po/preceding-sibling::*" />
     
    <pa ref="{$parentRef}" />
     
    <xsl:apply-templates select="po" />
    <xsl:apply-templates select="po/following-sibling::*" />
    Est-ce que j'ai l'assurance que ce soit la même chose que d'écrire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xsl:apply-templates select="po/preceding-sibling::*" />
     
    <pa ref="{$parentRef}" />
     
    <xsl:apply-templates select="po|po/following-sibling::*" />
    Pas tout-à-fait.
    Le premier applique d'abord les templates sur les <po>. Ensuite, il applique les templates à tout ce qui est voisin des <po>. S'il existe des <po> voisins d'autres <po>, les templates leur seront donc appliqués deux fois.

    Le second sélectionne tout ce qui est soit <po> ou voisin de <po> (ce qui est les deux fait donc partie du lot,) et applique les templates à chacun d'eux, une seule fois.

    À noter que quel que soit l'ordre de l'axe de sélection, les templates sont appliqués dans l'ordre du document. (En fait, seul XPath est concerné par "l'ordre des axes" quand il doit exploiter [1] ou [last()] ou ce genre de choses. Les sélections produites par XPath n'ont pas d'ordre aux yeux du reste du monde, et sont généralement traitées dans l'ordre du document.)

    Citation Envoyé par tooms4444 Voir le message
    Peut-être que l'ordre des nœuds dans l'arbre évalué est le seul qui compte ?
    Oui, mais attention : plusieurs appels de template, ça peut être un même template appliqué plusieurs fois au même élément.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/09/2009, 09h35
  2. [DTD XLM] Imcomprèhension ordre des noeuds
    Par Torg666 dans le forum Valider
    Réponses: 1
    Dernier message: 09/04/2009, 11h55
  3. Réponses: 1
    Dernier message: 30/01/2009, 11h31
  4. [XPATH] [DOM4J] Ordre des noeuds
    Par cdespont dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 13/05/2008, 11h24
  5. treeview - Ordre des Noeuds et BDD
    Par Elwe31 dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/03/2008, 10h25

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