[xsl] Unicode Search/Replace

Subject: [xsl] Unicode Search/Replace
From: "Pankaj Chaturvedi" <pankaj.chaturvedi@xxxxxxxxx>
Date: Wed, 14 May 2008 17:55:26 +0530
Hi all,

I am not sure whether I asked this before, but let me take chance. I am
using the below for search/replace all the Unicode entities in my output
from [#x....] to &#x....; form. Everything works perfect except the cases
where I am using the Xpath fuctions like "substring", "substring-before",
"substring-after" etc, and the resulting outputs comes out to be again
[#x....] format.


For example If I have the below markup

<root>
<coden>xxx xxx &hyphen; xxx xx, Vol. 22, No. 1, January 2008, pp.
93-104</coden>
</root>

and if I use in <root>	<xsl:value-of select="substring-before(./coden,
',')"/>

I am getting the output like xxx xxx [#x002d] xxx xx while I would like xxx
xxx &#x002d; xxx xx

<!--  Search Replace  -->

	<xsl:character-map name="searchreplace">
		<xsl:output-character character="&#xE000;" string="&amp;"/>
	</xsl:character-map>
	<xsl:template match="text()">
		<xsl:sequence select="replace(., '\[#x([0-9A-Za-z]+)\]',
'&#xE000;#x$1;')"/>
	</xsl:template>


It seems search/replace does not works on text where these are functions are
used. Any suggestions how to get this done.


Best,

Pankaj

<HTML><BODY><P><hr size=1></P>
<P><STRONG>

Confidentiality Notice:" This message and any attachment(s) contained here are information that is confidential, proprietary to IDS Infotech Ltd. and its customers.
Contents may be privileged or otherwise protected by law. The information is solely intended for the individual or the entity it is addressed to. If you are not the intended recipient of this message, you are not authorized to read, forward, print, retain, copy or disseminate this message or any part of it. If you have received this e-mail in error, please notify the sender immediately by return e-mail and delete it from your computer."

</STRONG></P></BODY></HTML>

Current Thread