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