By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,078 Members | 2,159 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,078 IT Pros & Developers. It's quick & easy.

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

P: n/a
Jon
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>
Sep 11 '06 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Does anyone have the same problem and how
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" <Jo*@discussions.microsoft.comwrote in message
news:B1**********************************@microsof t.com...
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>

Sep 12 '06 #2

P: n/a


Jon wrote:

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/
Sep 12 '06 #3

P: n/a
Jon
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:
>

Jon wrote:

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/
Sep 12 '06 #4

P: n/a
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.
Oct 6 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.