Brad --

I'm afraid that I'm at a loss understanding exactly what the problem is
from your description.  What leads you to believe that "markup is
deleted when the results are saved in a variable"?  What does your
addPage method look like now with this third argument?

Gary

> -----Original Message-----
> From: Brad Cox [mailto:[EMAIL PROTECTED] 
> Sent: Sunday, February 03, 2002 10:30 AM
> To: Brad Cox
> Cc: Gary L Peskin; [EMAIL PROTECTED]; 'Frank E. Weiss'
> Subject: Re: xalan extensions, cont'd.
> 
> 
> On Sunday, February 3, 2002, at 09:45 AM, Brad Cox wrote:
> 
> > One last glitch and I"m there. All xhtml markup is being
> > stripped from $pageText.
> 
> This is driving me crazy. I'm still hung on the same problem. 
> Can someone please help? Here's the nub of it:
> 
> <xsl:template match="page">
> <xsl:variable name="body">
> #parse("vel/macros.vel")
> #taskOpening("@ident")
> <xsl:apply-templates select="*"/>
> #taskClosing("@ident")
> </xsl:variable>
> PageText{<xsl:value-of select="$body"/>}
> <xsl:value-of select="task:addPage($task, @ident, $body)" /> 
> </xsl:template>
> 
> I've confirmed that the $body variable within the addPage 
> routine contains only text minus markup. In particular, for
> 
> <task ident="HelloWorld">
>       <page ident="LoremIpsem">
>               <p>Foo</p>
>       </page>
> </task>
> 
> I'm seeing CopyOf{Foo} in the output when I should be seeing 
> <p>CopyOf(<p>Foo</p>)</p>. It appears that markup is deleted 
> when the results are saved in a variable. If I add a 
> <xsl:apply-templates select="*"/> outside of the variable 
> assignment in the above, the output contains markup as expected.
> 
> Here is the whole stylesheet.
> 
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
>       xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>       xmlns:task="edu.virtualschool.model.Task"
>       extension-element-prefixes="task"
>       exclude-result-prefixes="java"
>  >
> <xsl:output method="html"/>
> <xsl:param name="task">null</xsl:param>
> 
> <xsl:template match="/task">
> #set($totalPages = <xsl:value-of select="count(page)"/>) 
> #set($pageTitles = [<xsl:for-each select="page">"<xsl:value-of 
> select="@ident"/>",</xsl:for-each>"Submit page"]) 
> <xsl:apply-templates select="page"/> </xsl:template>
> 
> <xsl:template match="page">
> <xsl:variable name="body">
> #parse("vel/macros.vel")
> #taskOpening("@ident")
> <xsl:apply-templates select="*"/>
> #taskClosing("@ident")
> </xsl:variable>
> PageText{<xsl:value-of select="$body"/>}
> <xsl:value-of select="task:addPage($task, @ident, $body)" /> 
> </xsl:template>
> 
> <xsl:template 
> match="EmailQuestion|EssayQuestion|NameQuestion|UrlQuestion|Ph
> oneQuestion"
>  >
> #<xsl:value-of select="name()"/>("<xsl:value-of 
> select="@ident"/>" "<xsl:value-of select="normalize-
> space(text())"/>")
> </xsl:template>
> 
> <xsl:template match="MenuQuestion|RadioQuestion|CheckboxQuestion">
> #<xsl:value-of select="name()"/>("<xsl:value-of 
> select="@ident"/>" "<xsl:value-of select="normalize- 
> space(text())"/>" [<xsl:for-each select="option">"<xsl:value-of 
> select="."/>"<xsl:if test="not(position() = 
> last())">,</xsl:if></xsl:for-each>])
> </xsl:template>
> 
> <xsl:template match="*">
> <p>CopyOf{<xsl:copy-of select="."/>}</p>
> </xsl:template>
> 
> </xsl:stylesheet>
> 

Reply via email to