Hi,
I went through the archive mails on "disable-output-escaping"
and the majority of posts deal with how to insert html
abreviations like <, ' instead of < , '. So I tried
different ways:
=> <xsl:text disable-output-escaping="yes"> <![CDATA[
<div id="CollapseMenu0Block2"> ]]> </xsl:text> )
=> using <xsl:output method="text"/> or <xsl:output
method="html"/> at the begining of the stylesheet
=> <processing-instruction name="html"> <![CDATA[ <div
id="CollapseMenu0Block2"> ]]> </processing-instruction>
but the browser still prints the tag instead of generating an
node tree and processing it (simple ex.
http://www.idiap.ch/~guillemo/JAVASCRIPT/dynapi/docs/examples/
TEST.xml against
http://www.idiap.ch/~guillemo/JAVASCRIPT/dynapi/docs/examples/
collapsemenu1.html)
I meant forget about d-o-e, they way it's being used in your stylesheet is
Wrong, and the XSLT processor in the browser might not support d-o-e at all;
instead of serializing the result tree into buffer and parsing that into a DOM,
it most probably serializes the result tree directly into a DOM tree.
Instead of trying to output a text string using
<xsl:text disable-output-escaping="yes"><![CDATA[<div
id="CollapseMenu0Block2">]]></xsl:text>
you want to generate a an element node with e.g.
<div id="CollapseMenu0Block2">
or
<xsl:element name="id" namespace="http://www.w3.org/1999/xhtml">
<xsl:attribute name="id">CollapseMenu0Block2</xsl:attribute>
</xsl:element>
You are not writing out text that looks like tags, like you would using e.g.
JSP, but rather building a result tree of nodes, like you build a tree using
DOM. If you want to parameterize the element or attribute names, use
xsl:element and xsl:attribute to generate the element and attribute nodes,
respectively. So just rethink the problem and come up with a solution that
generates a *tree*, not text.
Cheers,
Jarno - VNV Nation: Kingdom (restoration)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list