From: Eric van der Vlist (vdv@dyomedea.com)
Date: 22/11/2000 - 17:53
Bonjour,
Je ne suis pas certain de comprendre ce que vous voulez faire, si je
répond à côté, peut être pourriez-vous nous communiquer également des
exemples de documents XML, cependant:
"Chikar, Karim" wrote:
>
> Désolé, je suis tombé dans le piège du copier/coller:
>
> Voici les bonnes templates :
> <xsl:template match="INFO">
> <xsl:apply-templates />
Ceci demande l'application à tous les noeuds texte et élements fils du
noeud contexte ("INFO").
> </xsl:template>
>
> Je fais appel aux suivantes :
>
> <xsl:template match="X[1]">
Ce template sera effectué si le premier noeud rencontré est un noeud X
(c'est le raccourci de match=X[position()=1] où position est la position
relative dans la liste des noeuds sélectionnés.
> </xsl:template>
>
> <xsl:template match="X">
Ce template sera effectué pour tous les autres noeuds.
> </xsl:template>
En l'occurence, si vous souhaitez effectuer un traitement spécifique
pour tous les premiers noeuds X et tous les premiers noeuds Y, vous avez
(au moins) deux possibilités.
1) Si l'ordre relatif des X et des Y vous importe peu, le plus simple
est de remplacer
<xsl:template match="INFO">
<xsl:apply-templates />
par
<xsl:template match="INFO">
<xsl:apply-templates select="X"/>
<xsl:apply-templates select="Y"/>
(les X[1] et Y[1] seront les premiers de chaque sélection...)
2) Sinon, il faut remplacer
'match="X[1]"' par une expression qui signifie "premier noeud de type X"
ou encore "noeud de type X tel qu'il n'existe pas d'autre noeud de type
X précédent ayant le même père" et qui peut s'exprimer comme
'match="X[not(preceding-sibling::X)]"'
Cordialement,
Eric van der Vlist
--
------------------------------------------------------------------------
Eric van der Vlist Dyomedea http://dyomedea.com
http://xmlfr.org http://4xt.org http://ducotede.com
------------------------------------------------------------------------
--
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 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|