Re: xsl:use-attribute-sets paramétré

Eric van der Vlist <[email protected]>
Newsgroups gmane.text.xml.french.tech
Organization Dyomedea (http://dyomedea.com)
Message-ID <[email protected]>
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!

> 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)

A cela vous pouvez ajouter si vos besoins restent simples une gestion
spécifique de xsl:attribute-set où vous lisez la transformation elle
même (avec la fonction document("")), vous cherchez la définition
correspondante et vous générez à l'aide de xsl:attribute les attributs
que vos y trouvez.

Cordialement,

Eric van der Vlist
-- 
GPG-PGP: 2A528005
Don't you think all these XML schema languages should work together?
                                                         http://dsdl.org
------------------------------------------------------------------------
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
------------------------------------------------------------------------


-- Attached file included as plaintext by Ecartis --

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBEIsAUDvn+ZCpSgAURAm9gAJ43oSA7/9w0mdwtnsrIbNY9eItxUwCdFvqz
oCRPLM1OJXnW/3n/AIvm3ro=
=ByMV
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.