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> >
