From: Jandia, Cyril (Cyril.Jandia@accor-services.com)
Date: 09/09/2003 - 08:37
Bonjour,
> -----Original Message-----
> From: alexandre arcouteil [mailto:lex@free.fr]
> Sent: mardi 9 septembre 2003 09:52
> To: xml-tech@xmlfr.org
> Subject: [xml-tech] Re: <xsl:eval> non supporter avec MSXML 4.0
>
> Dahlke, Laurie wrote:
>
> > Bonjour à tous,
> >
> > Je dois changer un document qui utilise la fonction <xsl:eval> pour
> pouvoir
> > utiliser MSXML 4.0. J'ai cherché dans les archives XML.fr et je n'ai pas
> > trouvé d'information.
>
> Bonjour,
>
> Je crois que xsl:eval est un élément de MSXML 2 qui était utilisé par
> IE5. Comme cette implémentation n'est pas basé sur la recommandation
> XSLT mais sur un draft de l'époque, elle contient des elements, comme
> xsl:eval, qui n'existent pas dans la version finale.
Tout à fait; je m'en souviens également. Maintenant, il existe une extension
de remplacement, implémentée aussi bien dans MSXML 3 que dans MSXML 4 : il
s'agit de "<msxsl:script ...>"; voici un modèle (pattern) de conversion de
l'ancien code vers le nouveau qui peut vous aider :
Cette transformation pour MSXML 2 :
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/TR/WD-xsl">
[...]
<xsl:script language="JavaScript">
function my_function1()
{
// my_function1 implementation
}
function my_function2()
{
// my_function2 implementation
}
</xsl:script>
[...]
<xsl:template match="[...]">
[...]
<xsl:eval language="JavaScript">my_function1()</xsl:eval>
[...]
<xsl:eval language="JavaScript">my_function2()</xsl:eval>
[...]
</xsl:template>
[...]
</xsl:stylesheet>
Devient, pour MSXML 3 ou MSXML 4 :
<xsl:transform
xmlns:xsl=http://www.w3.org/1999/XSL/Transform
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:utils="urn:galileo-com:msxsl-jscript-utilities"
version="1.0">
[...]
<msxsl:script language="JScript" implements-prefix="utils"><![CDATA[
function my_function1()
{
// my_function1 implementation
}
function my_function2()
{
// my_function2 implementation
}
]]></msxsl:script>
[...]
<xsl:template match="[...]">
[...]
<xsl:value-of select="utils:my_function1()" />
[...]
<xsl:value-of select="utils:my_function2()" />
[...]
</xsl:template>
[...]
</xsl:transform>
> [...]
>
> alex
NB :
la déclaration de namespace associé au préfixe "utils", requise par
"<msxsl:script ...>" :
xmlns:utils="urn:galileo-com:msxsl-jscript-utilities"
est complètement arbitraire en fait; libre à vous de choisir un tout autre
URI / URL plus adapté.
Ce post de Jeni Tennison résume également bien la situation :
* http://lists.xml.org/archives/xml-dev/200210/msg01295.html
Cordialement,
Cyril
____________________________________________________________________________
Ce message électronique et tous les fichiers attachés qu'il contient sont
confidentiels et destinés exclusivement à l'usage de la personne à laquelle
ils sont adressés. Si vous avez reçu ce message par erreur, merci de le
retourner à son émetteur. La publication, l'usage, la distribution,
l'impression ou la copie non autorisée de ce message et des attachements
qu'il contient sont strictement interdits.
This e-mail and any files transmitted with it are confidential and intended
solely for the use of the individual to whom it is addressed. If you have
received this email in error please send it back to the person that sent it
to you. Unauthorized publication, use, dissemination, forwarding, printing
or copying of this email and its associated attachments is strictly
prohibited.
____________________________________________________________________________
--
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
|