Re: [xsl] escaping ampersands in replace function

Subject: Re: [xsl] escaping ampersands in replace function
From: Mario Madunic <hajduk@xxxxxxxx>
Date: Tue, 4 Sep 2007 10:08:49 -0700
Sorry here is the output I get

Tagged the World of Franklin &amp; Jefferson," display was created by general
Charles and Ray Eames fof the American Revolution centennial Administration, a
ernment organization Show will go on to Warsaw and London, then proceed to the
Museum of Modern Art in N.Y. Later it is to be exhibited in Chicago and San
Francisco.

Quoting Mario Madunic <hajduk@xxxxxxxx>:

> Not all fragments will contain an &amp;. Franklin &amp; Jefferson will still
> be
> output as Franklin &amp; Jefferson and not Franklin and Jefferson
> 
> here is an XML fragment
> 
> <bodyContent>
> <p>Tagged the World of Franklin &amp; Jefferson," display was created by
> general
> Charles and Ray Eames fof the American Revolution centennial Administration,
> a
> ernment organization</p>
> <p>Show will go on to Warsaw and London, then proceed to the Museum of
> Modern
> Art in N.Y. Later it is to be exhibited in Chicago and San Francisco.</p>
> </bodyContent>
> 
> the XSLT fragment
> 
> <xsl:variable name="l_TempBodyContent">
> <xsl:for-each select="body/node()">
> <xsl:choose>
> <xsl:when test="position() = 1"><xsl:value-of select="." /></xsl:when>
> <xsl:otherwise><xsl:value-of select="concat(' ', .)" /></xsl:otherwise>
> </xsl:choose>
> </xsl:for-each>
> </xsl:variable>
> 
> <xsl:variable name="l_BodyContent" select="replace($l_TempBodyContent,
> '&amp;',
> 'and')" />
> 
> Marijan (Mario) Madunic
> 
> Quoting David Carlisle <davidc@xxxxxxxxx>:
> 
> > 
> > 
> > > replace($l_TempString,'&','and')
> > > get an error message stating the & must be followed by an entity
> > > reference
> > 
> > yes, that's not a well formed XML fragment.
> > 
> > 
> > > replace($l_TempString,'&amp;','and') and
> > replace($l_TempString,'&amp;amp;','and')
> > > the amp is not replaced.
> > 
> > so presumably $l_TempString does not contain a substring that matches
> > either "&" or "&amp;".
> > 
> > so what is $l_TempString  ? ie what does <xsl:value-of
> > select="$l_TempString"/> produce.
> > 
> > It's always helpful to post a complete xml input and complet xslt
> > stylesheet (in this case, each only need be two or three lines long,
> > 
> > 
> > David
> > 
> > ________________________________________________________________________
> > The Numerical Algorithms Group Ltd is a company registered in England
> > and Wales with company number 1249803. The registered office is:
> > Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
> > 
> > This e-mail has been scanned for all viruses by Star. The service is
> > powered by MessageLabs. 
> > ________________________________________________________________________

Current Thread