Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: preceding-sibling avec contrainte

[xml-tech] Re: preceding-sibling avec contrainte

Auteur: Stephane Bonhomme <s.bonhomme@wanadoo.fr>
Date: 08/02/2005 - 10:37
X-Mailer: Evolution 2.0.3

Bonjour Olivier,

Cette solution ne fonctionne que si les noeuds MEANING et MODELE ne
contienent que du texte (xsl:value-of récupère le contenu textuel du
sous-arbre : concaténation des textes contenus)

<xsl:for-each
select="/OB/REPORT/STANDARD_REPORT/CUST_IN_DOC/CUST_IN_DETAIL">
    <xsl:variable name="noeud_modele">
         <xsl:value-of
select="IN_JFO_AML/JFO_AML/REVENUES/REVENUES_TAXATION/TERM/MODELE"/>
    </xsl:variable>
    <xsl:for-each
select="previous-sibling::CUST_IN_DETAIL[IN_JFO_AML/JFO_AML/REVENUES/REVENUES_TAXATION/TERM/MODE
LE][IN_JFO_AML/JFO_AML/DEPARTURE/DEP_PLATFORM/MEANING=current()IN_JFO_AML/JFO_AML/DEPARTURE/DEP_PLATFORM/MEANING]/">
      <veh>
         <xsl:value-of select="$noeud_modele"/>
      </veh>
   </xsl:for-each>
</xsl:for-each>

J'attire ton attention sur le fait qu'un xsl, il vaut mieux exploiter le
mécanisme de <xsl:templates match="">.. plutot que des for-each
(pourquoi faire explicitement ce que le processeur fait implicitement)

Stéphane.

Le lundi 07 février 2005 à 14:58 +0100, CATTEAU Olivier a écrit :
> Bonjour,
>
> Je débute en XSL et j'ai une question qui ne semble pas très compliquée à
> première vue.
> J'ai un ensemble de noeuds CUST_IN_DETAIL qui contiennent des sous-noeuds
> et, dans ces sous-noeuds, j'ai 2 noeuds qui m'intéressent : MEANING et
> MODELE
> Je boucle sur les noeuds correspondant à CUST_IN_DETAIL. Sur chacun d'eux,
> je souhaite récupérer 2 données que je stocke noeud_ptf et noeud_modele.
> Ensuite, je cherche à récupérer tous les noeuds précédents (de type
> CUST_IN_DETAIL) qui ont pour enfants les noeuds
> IN_JFO_AML/JFO_AML/REVENUES/REVENUES_TAXATION/TERM/MODELE (j'utilise
> preceding-sibling) mais en plus j'aimerais que ces noeuds soient tels que
> leur sous-noeud MEANING soit égal à $noeud_ptf.
>
> Pour illustrer cela, voilà le code :
> <xsl:template name="getVEH">
> <xsl:param name="ptf"/>
> <xsl:for-each
> select="/OB/REPORT/STANDARD_REPORT/CUST_IN_DOC/CUST_IN_DETAIL">
> <xsl:variable name="noeud_ptf">
> <xsl:value-of
> select="IN_JFO_AML/JFO_AML/DEPARTURE/DEP_PLATFORM/MEANING"/>
> </xsl:variable>
> <xsl:variable name="noeud_modele">
> <xsl:value-of
> select="IN_JFO_AML/JFO_AML/REVENUES/REVENUES_TAXATION/TERM/MODELE"/>
> </xsl:variable>
>
> <xsl:if test="not($noeud_modele =
> preceding-sibling::*/IN_JFO_AML/JFO_AML/REVENUES/REVENUES_TAXATION/TERM/MODE
> LE)
> $noeud_ptf = $ptf">
> <veh>
> <xsl:value-of
> select="$noeud_modele"/>
> </veh>
> </xsl:if>
> </xsl:for-each>
> </xsl:template>
>
> Quelqu'un voit-il comment ajouté la condition "MEANING = $noeud_ptf" ?
> Merci
>
> Olivier
>
>
>
>
>
>
>
>
>
> ----------------------------------------------------------------------------
> Ce message ainsi que toutes pièces jointes (le "message") sont confidentiels
> et sont exclusivement destinés à l'usage de la personne à laquelle ils sont
> adressés. Tout point de vue ou toute opinion contenus dans ce message
> expriment la pensée personnelle de leur auteur et ne représentent pas
> nécessairement la position des sociétés du Groupe GEFCO. Si vous n'êtes pas
> la personne à laquelle ce message est destiné, veuillez noter que vous avez
> reçu cet e-mail par erreur et qu'il vous est strictement interdit
> d'utiliser, de diffuser, de transférer, d'imprimer ou de copier ce message.
> Si vous avez reçu ce message par erreur, merci de contacter la personne qui
> vous l'a adressé et de l'effacer immédiatement. Les sociétés du Groupe GEFCO
> déclinent toute responsabilité en cas d'altération, de modification,
> d'édition, de diffusion sans autorisation de ce message ou en cas
> d'affection de ce message par un virus.
>
> This message and any attachments (the "message") are confidential and
> intended solely for the use of the individual to whom they are addressed.
> Any views or opinions presented are solely those of the author and do not
> necessarily represent those of the GEFCO Group of Companies. If you are not
> the intended recipient, be advised that you have received this email in
> error and that any use, dissemination, forwarding, printing, or copying of
> this message is strictly prohibited. If you have received this message in
> error please contact the sender and delete the message immediately. The
> GEFCO Group of Companies shall not be liable for the message if altered,
> changed, falsified, edited, diffused without authorization or affected by
> any virus.
> ----------------------------------------------------------------------------
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>

-- 
    Stéphane Bonhomme           --           Exselt Services
Formations, Conseil et Réalisations en Ingénierie Documentaire,
   Technologies Web et Logiciels Libres
      s.bonhomme@wanadoo.fr   -   http://www.exselt.com
         04 76 17 09 40        /      06 88 57 27 08
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de 
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant 
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Feb 8 11:38:02 2005

Archive générée par hypermail 2.1.8 le 28/02/2005 - 17:42 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement