Connecting Tech Pros Worldwide Forums | Help | Site Map

<xsl:text disable-output-escaping="yes"> does not work in XslCompi

Jon
Guest
 
Posts: n/a
#1: Sep 11 '06
Hi,

I used XslCompiledTransform with the following Xsl file. The <xsl:text
disable-output-escaping="yes"does not work when using XslCompiledTransform
to do the trnasform (namely the output contain < not <), while it works when
using MSXML2 to do the transform. Does anyone have the same problem and how
to make the escape work? Thanks.

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:preserve-space elements="*"/>
<xsl:template match="/">
<port1 id="Common.Javascripts" version="$Revision: 8 $">
<port2>
<xsl:text disable-output-escaping="yes"><![CDATA[>
<object name="FileIO" classid="clsid:6F745082-4C31-4ADE-B83A-5B16C16BF86F"
codebase="scripts/bin/rwhelpers.dll#version=1,1,0,9"></object>
<script language="Javascript" src="scripts/ErrorHandler.js"</script>
]]></xsl:text>
</port2>
</port1>
</xsl:template>
</xsl:stylesheet>

Dimitre Novatchev
Guest
 
Posts: n/a
#2: Sep 12 '06

re: <xsl:text disable-output-escaping="yes"> does not work in XslCompi


Does anyone have the same problem and how
Quote:
to make the escape work? Thanks.
From the XSLT 1.0 Spec http://www.w3.org/TR/xslt#disable-output-escaping :

"Since disabling output escaping may not work with all XSLT processors and
can result in XML that is not well-formed, it should be used only when there
is no alternative."

So an XSLT processor is not required to support d-o-e.

The real problem described in the original post is to *stop* using d-o-e.

Cheers,
Dimitre Novatchev.


"Jon" <Jon@discussions.microsoft.comwrote in message
news:B1B3FD9A-5D1C-4A7C-9A5A-60CF9D28B44B@microsoft.com...
Quote:
Hi,
>
I used XslCompiledTransform with the following Xsl file. The <xsl:text
disable-output-escaping="yes"does not work when using
XslCompiledTransform
to do the trnasform (namely the output contain < not <), while it works
when
using MSXML2 to do the transform. Does anyone have the same problem and
how
to make the escape work? Thanks.
>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:preserve-space elements="*"/>
<xsl:template match="/">
<port1 id="Common.Javascripts" version="$Revision: 8 $">
<port2>
<xsl:text disable-output-escaping="yes"><![CDATA[>
<object name="FileIO" classid="clsid:6F745082-4C31-4ADE-B83A-5B16C16BF86F"
codebase="scripts/bin/rwhelpers.dll#version=1,1,0,9"></object>
<script language="Javascript" src="scripts/ErrorHandler.js"</script>
]]></xsl:text>
</port2>
</port1>
</xsl:template>
</xsl:stylesheet>

Martin Honnen
Guest
 
Posts: n/a
#3: Sep 12 '06

re: <xsl:text disable-output-escaping="yes"> does not work in XslCompi




Jon wrote:

Quote:
I used XslCompiledTransform with the following Xsl file. The <xsl:text
disable-output-escaping="yes"does not work when using XslCompiledTransform
to do the trnasform (namely the output contain < not <),
How exactly do you use XslCompiledTransform? Can you show us the exact
call of the Transform method you use and the exact type of the
parameters used with the Transform method?


--

Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
Jon
Guest
 
Posts: n/a
#4: Sep 12 '06

re: <xsl:text disable-output-escaping="yes"> does not work in XslCompi


I found out the reason from MSDN. Here is the words from MSDN:
'The <xsl:text disable-output-escapingtag is used to indicate whether or
not special characters need to be escaped into an XML form (for example,
using <&ltin place of the "<" symbol) or left in the present condition. The
disable-output-escaping attribute is ignored when transforming to an
XmlReader or XmlWriter object and has no effect on special characters.'

Since output XmlWriter does not respect 'disable-output-escaping', I use
'MemoryStream' instead and it does respect 'disable-output-escaping' but it
strip all my whitespaces. Now I have problem with whitespaces. Does anyone
know how to keep whitespaces in Xslt files when using 'Stream' as transform
output. Thanks.



"Martin Honnen" wrote:
Quote:
>
>
Jon wrote:
>
>
Quote:
I used XslCompiledTransform with the following Xsl file. The <xsl:text
disable-output-escaping="yes"does not work when using XslCompiledTransform
to do the trnasform (namely the output contain < not <),
>
How exactly do you use XslCompiledTransform? Can you show us the exact
call of the Transform method you use and the exact type of the
parameters used with the Transform method?
>
>
--
>
Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
>
Dave
Guest
 
Posts: n/a
#5: Oct 6 '06

re: <xsl:text disable-output-escaping="yes"> does not work in XslCompi


Quote:
Hi,
>
I used XslCompiledTransform with the following Xsl file. The <xsl:text
disable-output-escaping="yes"does not work when using XslCompiledTransform
to do the trnasform (namely the output contain < not <), while it works when
using MSXML2 to do the transform. Does anyone have the same problem and how
to make the escape work? Thanks.
>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:preserve-space elements="*"/>
<xsl:template match="/">
<port1 id="Common.Javascripts" version="$Revision: 8 $">
<port2>
<xsl:text disable-output-escaping="yes"><![CDATA[>
<object name="FileIO" classid="clsid:6F745082-4C31-4ADE-B83A-5B16C16BF86F"
codebase="scripts/bin/rwhelpers.dll#version=1,1,0,9"></object>
<script language="Javascript" src="scripts/ErrorHandler.js"</script>
]]></xsl:text>
</port2>
</port1>
</xsl:template>
</xsl:stylesheet>
Hi,

I encountered the same problem with the XslTransform and XmlTextWriter. Instean of using a MemoryStream, I've just used a StreamWriter which wrote out exactly what I was after with no escaped characters.

I would say that this problem comes up, because the XmlTextWriter will transform anything inside a node to it's escaped version, so as to make a well formed XML document. Since I'm using XSL to generate code, that's not a problem that I am going to face.

Dave

Posted from http://www.topxml.com/renntp using reNNTP: the website based NNTP reader.
Closed Thread