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

disable-output-escaping

P: n/a
Hi All,

I was wondering if someone could clear this up for me. I have
constructed a sample for a bigger problem I'm having. So, given the xml
file:

<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<test>
<p><![CDATA[<b>This is bolded</b>]]></p>
</test>

and the stylesheet:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="main" match="/">
<all_screens>
<xsl:value-of disable-output-escaping="yes" select="/test/p" />
</all_screens>
</xsl:template>
</xsl:stylesheet>

can some one twll me why the output is &lt;b&gt;This is
bolded&llt;/b&gt; instead of <b>This is bolded</b> (which is what I
thought disable-output-escaping is supposed to do)?

I've tried this with IE and Firefox and both make a mess of it.

Thanks
John

Mar 1 '06 #1
Share this Question
Share on Google+
5 Replies


P: n/a
sorry, google seems to of interpreted the &-lt-; and &-gt-; sign at the
line "why the output is"

Mar 1 '06 #2

P: n/a


Troot wrote:

<xsl:value-of disable-output-escaping="yes" select="/test/p" /> can some one twll me why the output is &lt;b&gt;This is
bolded&llt;/b&gt; instead of <b>This is bolded</b> ( I've tried this with IE and Firefox and both make a mess of it.


disable-output-escaping as yes is an optional feature that does not have
to be supported and usually is not supported if the XSLT processor does
not serialize the result tree. Firefox does not support
disable-output-escaping at all.
--

Martin Honnen
http://JavaScript.FAQTs.com/
Mar 1 '06 #3

P: n/a

Troot wrote:
Hi All,

I was wondering if someone could clear this up for me. I have
constructed a sample for a bigger problem I'm having. So, given the xml
file:

<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<test>
<p><![CDATA[<b>This is bolded</b>]]></p>
</test>

and the stylesheet:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="main" match="/">
<all_screens>
<xsl:value-of disable-output-escaping="yes" select="/test/p" />


Dude I could kiss you. You've just helped me out in a major way!

Mar 1 '06 #4

P: n/a
Troot wrote:
Hi All,

I was wondering if someone could clear this up for me. I have
constructed a sample for a bigger problem I'm having. So, given the xml
file:

<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<test>
<p><![CDATA[<b>This is bolded</b>]]></p>
</test>
Read what the FAQ has to say about CDATA first:
http://xml.silmaril.ie/authors/cdata/
and the stylesheet:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="main" match="/">
<all_screens>
<xsl:value-of disable-output-escaping="yes" select="/test/p" />
</all_screens>
</xsl:template>
</xsl:stylesheet>

can some one tell me why the output is &lt;b&gt;This is
bolded&llt;/b&gt; instead of <b>This is bolded</b> (which is what I
thought disable-output-escaping is supposed to do)?

I've tried this with IE and Firefox and both make a mess of it.


Browsers don't support disable-output-escaping. I just ran the above
through Saxon and it produced:

<all_screens><b>This is bolded</b></all_screens>

But why go to all that bother? Why not just say

<xsl:template match="/">
<all_screens>
<xsl:apply-templates select="/test/p"/>
</all_screens>
</xsl:template>

<xsl:template match="b">
<b>
<xsl:apply-templates/>
</b>
</xsl:template>

and remove the CDATA section?

///Peter
///Peter
Mar 1 '06 #5

P: n/a

Peter Flynn wrote:
Troot wrote:
Hi All,

I was wondering if someone could clear this up for me. I have
constructed a sample for a bigger problem I'm having. So, given the xml
file:

<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<test>
<p><![CDATA[<b>This is bolded</b>]]></p>
</test>


Read what the FAQ has to say about CDATA first:
http://xml.silmaril.ie/authors/cdata/
and the stylesheet:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="main" match="/">
<all_screens>
<xsl:value-of disable-output-escaping="yes" select="/test/p" />
</all_screens>
</xsl:template>
</xsl:stylesheet>

can some one tell me why the output is &lt;b&gt;This is
bolded&llt;/b&gt; instead of <b>This is bolded</b> (which is what I
thought disable-output-escaping is supposed to do)?

I've tried this with IE and Firefox and both make a mess of it.


Browsers don't support disable-output-escaping. I just ran the above
through Saxon and it produced:

<all_screens><b>This is bolded</b></all_screens>

But why go to all that bother? Why not just say

<xsl:template match="/">
<all_screens>
<xsl:apply-templates select="/test/p"/>
</all_screens>
</xsl:template>

<xsl:template match="b">
<b>
<xsl:apply-templates/>
</b>
</xsl:template>

and remove the CDATA section?

///Peter
///Peter


Thanks Peter and Martin, thats very helpful ;o)

Mar 2 '06 #6

This discussion thread is closed

Replies have been disabled for this discussion.