From: Eric van der Vlist (vdv@dyomedea.com)
Date: 22/07/2004 - 13:00
Ooops, j'ai appuyé trop tôt sur le bouton send!
On Thu, 2004-07-22 at 14:54, Eric van der Vlist wrote:
> On Thu, 2004-07-22 at 13:27, mejri anouar wrote:
> > je m'excuse ; apparemment mes connaissance en langage c m'a créé des
> > confisions avec xsl .
>
> Oui? Sans vouloir vous vexer, je pense qu'il vous manque pas mal de
> notions de base en XPath et XSLT (qui sont des langages de programmation
> et de requêtes à part entière) pour aborder des expressions relativement
> complexes comme celles ci et c'est ce qui rend le dialogue un peu
> ardu...
>
> > ce n'est pas l'opérateur "or" ni "|" qui peut m'aider .
>
> Si :) !
>
> > si je voudrais faire une boucle qui parcours des éléments et je donne
> > deux possibilité de propriété à ces éléments.
> > <xsl:for-each select= "tr[si a un parents commun avec l'élément
> > "curHead" ou bien il aura l'élément "tbody" comme parent direct ]">
> > comment je puisse le traduire en xsl ?
>
> Il y a beaucoup de possibilités pour cela, mais ce que vous ne nous avez
> pas encore dit (sauf si cela m'a échappé) c'est quel est le noeud
> courant quand vous écrivez cette expression.
>
> tr[..] est en effet une expression XPath relative qui sera évaluée à
> partir de ce noeud courant et tel que vous l'écrivez seuls les noeuds TR
> directement inclus sous le noeud courant seront accessibles.
>
> Comme nous le disons depuis le début, vous pouvez utiliser soit une
> approche logique avec "or" soit une approche ensembliste avec "|" :
>
> <xsl:for-each="tr[generate-id(parent::*) =
> generate-id($curHead/parent::*) or parent::tbody]">
Il faut bien entendu lire :
<xsl:for-each select="tr[generate-id(parent::*) =
generate-id($curHead/parent::*) or parent::tbody]">
> Ou
>
> <xsl:for-each="tr[generate-id(parent::*) =
> generate-id($curHead/parent::*)] | tbody/thead">
Id:
<xsl:for-each select="tr[generate-id(parent::*) =
generate-id($curHead/parent::*)] | tr[parent::tbody]">
> Qui peut se simplifier en :
>
> <xsl:for-each="tr[generate-id(parent::*) =
> generate-id($curHead/parent::*)] | tbody/tr">
et oublier cette simplification :)
Cordialement,
Eric van der Vlist
--
Read me on XML.com.
http://www.xml.com/pub/au/74
Upcoming XML schema languages tutorial:
- Portland -half day- (27/07/2004) http://masl.to/?E6ED13728
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
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)
Archive générée par hypermail 2.1.3 le 30/07/2004 - 13:32 UTC
webmaster@xmlfr.org
|