Le 23/03/06, Eric van der Vlist <vdv@dyomedea.com> a écrit :
>
> Bonjour,
> Le jeudi 23 mars 2006 à 16:10 +0100, Nicolas Delaby a écrit :
> > Bonjour,
> > dans le cadre d'une transformation xsl j'ai plusieurs élements qui font
> > appel à un groupe d'attributs définit par <xsl:attribute-set/>.
> > Mon problème concerne l'appel de ces attribute-set car je ne connais pas
> > leur nom à l'avance.
> > Ces noms sont construits dans une variable, puis appelés de cette
> manière :
> > <balise xsl:use-attribute-sets="{$toto}"/>
>
> La recommandation XSLT dit clairement le type de chacun de ses attributs
> et en l'occurrence :
>
> "La valeur de l'attribut use-attribute-sets est une liste de noms
> d'ensemble d'attributs séparés par des espaces. Chaque nom est spécifié
> comme étant un QName, lequel s'expand comme décrit dans [2.4 Noms
> qualifiés]."
>
> http://xmlfr.org/w3c/TR/xslt/#attribute-sets
>
> Il est donc clairement interdit d'utiliser un paramètre comme vous le
> faites!
On ne m'y reprendra plus !
> Et c'est là que ça bloque, car il ne résout pas la valeur de $toto pour
> > chercher le bon attribute-set.
> > En testant <balise xsl:use-attribute-sets="mon_attribute-set"/>, je n'ai
> > aucun problème, mes attributs sont bien là.
> > Existe t-il un moyen de contourner ce pb et d'arriver à mes fins en xslt
> ?
>
> Directement non et les contournements sont les contournements habituels
> pour ce type de problème :
>
> * procéder en deux étapes (une première transformation génère la
> transformation qui sera appliquée).
> * remplacer cela par un xsl:choose (la liste des possibilités
> devient alors fixe et limitée)
Merci pour vos éclaircissements.
Même du côté de EXSLT je n'ai pas trouvé mon bonheur.
Je crois que je vais opter pour la génération automatique de la
transformation comme c'est déjà le cas pour mes <xsl:attribute-set/>
--
Nicolas Delaby
http://ticosax.free.fr/
http://dlgz.free.fr/
--
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 Thu Mar 23 17:13:31 2006