Personally, I would put the replace code in a function, and ensure that is
called whenever you want to process a relevant string.
And I wouldn't do it using character maps, I would generate the actual
Unicode character using codepoints-to-string(), and leave the serializer to
entitize it on output.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Pankaj Chaturvedi [mailto:pankaj(_dot_)chaturvedi(_at_)idsil(_dot_)com]
Sent: 14 May 2008 14:17
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Unicode Search/Replace
Thanks Michael. Are you suggesting me to use something else
other then <xsl:value-of>, as I want to do search/replace
only on text <xsl:template match="text()"/>.
Thanks.
-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Sent: Wednesday, May 14, 2008 5:36 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Unicode Search/Replace
The code in your <xsl:template match="text()"/> is only
executed if you apply-templates to text nodes. It is not
evaluated if you process the contents of text nodes using
xsl:value-of.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Pankaj Chaturvedi
[mailto:pankaj(_dot_)chaturvedi(_at_)idsil(_dot_)com]
Sent: 14 May 2008 12:53
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Unicode Search/Replace
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 ‐ 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 - xxx xx
<!-- Search Replace -->
<xsl:character-map name="searchreplace">
<xsl:output-character character=""
string="&"/>
</xsl:character-map>
<xsl:template match="text()">
<xsl:sequence select="replace(.,
'\[#x([0-9A-Za-z]+)\]', '#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>
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--