xsl-list
[Top] [All Lists]

RE: collapsable / expandable tree in XSL

2003-03-11 23:46:04
Hi,

I went through the archive mails on "disable-output-escaping" 
and the majority of posts deal with how to insert html 
abreviations like &lt;,  &apos; 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



<Prev in Thread] Current Thread [Next in Thread>