From: Benoît Barré (benoitbarre@free.fr)
Date: 27/12/2002 - 08:57
En réponse à cyril vidal <cyr.vidal@wanadoo.fr>:
>
> Bonjour,
>
>
> <?xml version="1.0" encoding="iso-8859-1"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:svg="http://www.w3.org/2000/svg">
> <xsl:output method="xml" encoding="iso-8859-1" indent="yes"/>
>
> <!-- définition d'une clé sur les éléments personne du document xml
> 'principal' -->
> <xsl:key name="cle_lieu" match="//personne" use="lieu"/>
>
> <xsl:variable name="calque" select="document('calque.svg')"/>
>
> <xsl:template match="/">
>
> <svg width="756.172pt" height="1149.04pt" viewBox="0 0 756.172 1149.04"
> >
>
> <!-- ici, j'obtiens bien un résultat, la clé est bien trouvée -->
> <xsl:value-of select="key('cle_lieu','1101')"/>
>
> <xsl:for-each select="$calque//svg/g[@class='fonds']/path">
> <!-- ici, la clé n'est pas trouvée, je n'obtiens aucun résultat en
> sortie -->
> <xsl:value-of select="key('cle_lieu','1101')"/>
> <xsl:variable name="bureau" select="@class"/>
> ...
> </xsl:for-each>
> ...
> </svg>
> </xsl:template>
> </xsl:stylesheet>
>
> Autrement dit, tant que je reste sur le corps de règle afférent au
> document
> racine (template match="/"), la clé est trouvée, alors que dès que je
> rentre
> dans un corps de règle impliquant le pattern d'un document externe
> (via
> xsl:apply-templates) ou une boucle sur un fragment de document externe
> (c'est le cas ici via xsl:for-each ), la clé n'est plus retrouvée.
>
> Si vous avez d'autres propositions, elles sont les bienvenues...
>
> Cordialement,
> Cyril Vidal
Es-tu sur de passer dans le for-each ?
En général, les instances svg sont dans un namespace particulier. De ce fait,
la requête XPath n'est pas correcte.
bB
--
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
|