Subject: Re: [xsl] outputting a mixture of escaped and unescaped HTML. From: Mike Brown <mike@xxxxxxxx> Date: Mon, 21 Jan 2002 21:05:33 -0700 (MST) |
Dean Missikowski wrote: > I need to process some xml with attribute values that > may contain markup text like this: > > <MEMO TEXT="Example:<span > class='cs1'>...</span>$crThis is a > new line..."/> > > The original data value of the attribute comes from a > database in which CRLFs were replaced with the string > $cr. > > I need to transform this into HTML that looks > something like this: > > <div>Example:<span > class='cs1'>...</span></br>This is > a new line...</div> > > The problem I'm having is if I use something like: > > <xsl:template match="MEMO"> > <xsl:value-of > select="foo:FormatMultiline(string(@TEXT))" > disable-output-escaping="yes"/> > </xsl:template> > > where foo:FormatMultiline() replaces $cr with </br>. > > However, this results in all the escaped markup to > become "unescaped" when I want it to remain escaped > except for the <br/>. FAQ, although you're not really understanding what escaped text means. Regardless, here's your solution. <xsl:template match="MEMO"> <div> <xsl:call-template name="lf2br"> <xsl:with-param name="StringToTransform" select="@TEXT"/> </xsl:call-template> </div> </xsl:template> <xsl:template name="lf2br"> <xsl:param name="StringToTransform"/> <xsl:choose> <xsl:when test="contains($StringToTransform,'
')"> <xsl:value-of select="substring-before($StringToTransform,'
')"/> <br/> <xsl:call-template name="lf2br"> <xsl:with-param name="StringToTransform"> <xsl:value-of select="substring-after($StringToTransform,'
')"/> </xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$StringToTransform"/> </xsl:otherwise> </xsl:choose> </xsl:template> - Mike ____________________________________________________________________________ mike j. brown, fourthought.com | xml/xslt: http://skew.org/xml/ denver/boulder, colorado, usa | personal: http://hyperreal.org/~mike/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] outputting a mixture of escap, Dean Missikowski | Thread | [xsl] anyone know the XSLT incremen, Theory Guy |
[xsl] outputting a mixture of escap, Dean Missikowski | Date | [xsl] anyone know the XSLT incremen, Theory Guy |
Month |