From: alexandre arcouteil (lex@free.fr)
Date: 16/05/2003 - 15:39
sylvain merveille wrote:
> Bonjour,
>
> je suis nouveau sur la liste de diffusion et je m'excuse si le sujet
> à déjà été débattu. J'ai parcouru les archives mais je n'ai pas trouvé
> de réponse à ma question, alors je me permets...
>
> Voilà, je voudrais savoir si la fonction position() permet de récupérer
> la position d'un élément si on l'appelle depuis un XPath et non pas depuis
> une XSL. (D'ailleurs est ce qu'un XPath permet de renvoyer une valeur qui n'est pas a proprement parler présente dans le XML ?)
>
> Par exemple
>
> <Data>
> <Vertex>a4d4</Vertex>
> <Vertex>a4d5</Vertex>
> <Vertex>a4d6</Vertex>
> <Vertex>a4d7</Vertex>
> </Data>
>
> Je voudrais connaitre la position du vertex qui a pour valeur a4d5.
> J'ai essayé des choses comme :
bonjour,
Voilà un template pas très élégant mais qui répond à votre besoin :
1 <xsl:template match="/Data">
2 <xsl:for-each select="Vertex">
3 <xsl:if test="text()='a4d5'">
4 <xsl:value-of select="position()"/>
5 </xsl:if>
6 </xsl:for-each>
7 </xsl:template>
l'opération est donc décomposée en trois étape :
-spécifer un traitement à effectuer sur chaque Date (ligne 2)
-sélectionner par un test de valeur le noeud recherché (ligne 3)
- afficher la position (ligne 4) grace à la fonction position()
J'espère que cela vous éclaire suffisement
alex
--
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:06 UTC
webmaster@xmlfr.org
|