[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Emulating with MSXML (was : Passing parameters to X SL...)


Subject: Emulating <xsl:copy-of> with MSXML (was : Passing parameters to X SL...)
From: BOUCHET Sébastien <sebastien.bouchet@xxxxxxx>
Date: Wed, 29 Sep 1999 11:40:10 +0200

Title: Emulating <xsl:copy-of> with MSXML (was : Passing parameters to XSL...)

Chuck white wrote :
>Valid MS XSL elements are:
>xsl:stylesheet, xsl:attribute,  xsl:choose, xsl:comment, xsl:copy, xsl:element, xsl:for-each,  >xsl:if, xsl:eval,  xsl:otherwise,  xsl:pi (xsl:processing-instruction in current draft),  xsl:script  >(for global variables and extensions),  xsl:stylesheet, xsl:template,  xsl:value-of, xsl:when

Aargh, it means that <xsl:copy-of> is not supported ! What I'm trying to do is something like XSL code generation (workaround for the absence of support of <xsl:param>... :

<Template><![CDATA[<xsl:stylesheet><xsl:template match="]]><Parameter/><!CDATA[[<xsl...]]></Template>

is transformed with something like :

<xsl:template match="text()"><xsl:copy-of select="."/></xsl:template>
<xsl:template match="Parameter">My value<xsl:apply-templates/></xsl:template>

which, I thought, would output :
<xsl:stylesheet xmlns="...">... blah ...</xsl:stylesheet> that I could re-feed the processor with.

Actually, it works BUT escapes the "<,>" and what I feed the processor with is then :
&lt;xsl:stylesheet&gt; ... Which of course is not understood

This is apparently the right beahviour (see the XSL specs : xsl:value-of converts to strings). Therefore xsl:copy-of would fulfill my needs, but it is not implemented in MSXML.

I tried using <xsl:copy> instead of <xsl:value-of> but then the <![CDATA[ and ]]> are not stripped.

Has anyone got any ideas ?

Cheers,

Sebastien


Current Thread
Keywords
xsl