Re: Injection de XSL pour execution

Philippe PRADOS <[email protected]> Fri, 16 Nov 2007 13:25:58 +0100
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Stephane Bonhomme a écrit :
> Le jeudi 15 novembre 2007 à 16:46 +0100, Philippe PRADOS a écrit :
>   
>> Bjr,
>> Je cherche à permet à un fichier XML d'indiquer un extrait XSLT, puis 
>> dans une feuille XSLT, je souhaite prendre l'extrait du flux XML et 
>> l'exécuter.
>> Par exemple,
>> je souhaite que dans la feuille XML, on puisse indiquer un truc genre :
>> <MonTag>
>> <xsl:attribute name="abc">Valeur</xsl:attribute>
>> </MonTag>
>>
>>     
>
> peut être le plus simple est d'utiliser un namespace différent de xsl
> (dans mon exemple ,"http://xxx/proc") mais traité de façon particulière
> (et générique par votre feuille de style), cela fonctionne parfaitement
> pour la génération d'éléments et d'attributs :
>
> xml source:
>
> <racine xmlns:proc="http://xxx/proc">
>    <MonTag>
>     <proc:attribute name="abc" value="Valeur"/>
>    </MonTag>
> </racine>
>
> et dans votre xsl :
>
> <xsl:template match="proc:attribute">
>   <xsl:attribute name="{@name}">
>      <xsl:value-of select="@value"/>
>   </xsl:attribute>
> </xsl:template>
>
> Le tour est joué ! Vous pouvez bien sur faire la meme chose avec des
> éléments. Bien sur il y a une limitation, les balises du xml source
> doivent contenir des valeurs explicites, et non des expressions xpath
> (xslt 1.0 ne supporte pas l'évaluation dynamique d'expressions xpath -
> il faut utiliser exslt -si votre processeur le supporte- ou xslt 2.0
> pour ce faire).
>
> En espérant avoir répondu à votre question.
>
> S.
>
>
>   
>> Puis dans la feuille XSLT, je souhaite extraire le contenu de <MonTag/> 
>> et l'exécuter. Est-ce possible ?
>>
>> Salutations
>>
>> Philippe PRADOS
>>
>> --
>> Devenez redacteur <XML>fr et contribuez au developpement du
>> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>>
>> Liste de diffusion "[email protected]" (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 [email protected]
>> (mailto:[email protected]?Subject=unsubscribe)
>>
>>     
Merci. Cela règle mon problème.
Slt
Philippe