xsl-list
[Top] [All Lists]

Re: [xsl] escaping ampersands in replace function

2007-09-04 10:05:27
Not all fragments will contain an &. Franklin & Jefferson will still be
output as Franklin & 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(_at_)nag(_dot_)co(_dot_)uk>:



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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--